1 名前:Javaが初心者 mailto:sage [2008/05/12(月) 03:05:27 ] プログラミング言語Javaに関する質問スレです。 JavaScript, Ajaxの質問は、ここでは受け付けていません。 Web製作管理 pc11.2ch.net/hp/ Webプログラミング pc11.2ch.net/php/ をご利用下さい。 よくある質問 ・「コマンドまたはファイル名が違います」 「'javac' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。」 「Exception in thread "main" java.lang.NoClassDefFoundError: 」 www.wikiroom.com/java/?path,classpath ・String に == は使うな。equals() を使え。 ・「\12288 は不正な文字です。」 文字リテラル以外で全角スペースは使えません。半角スペースに。 ・その他の質問→「APIのjavadoc見ろ」 前スレッド 【初心者】Java質問・相談スレッド114【大歓迎】 pc11.2ch.net/test/read.cgi/tech/1207385614/ 次スレは>>990 あたりで。 過去ログ、関連スレッド、よくある質問とその回答など、 質問をする前に、貴方が見なければならないサイトについての情報は、 下のwikiのページにまとめてあります。 www.wikiroom.com/java/
552 名前:544 mailto:sage [2008/05/28(水) 18:50:20 ] >>551 その意味がわからないのは申し訳ないです。
553 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 18:58:09 ] appletviewerとブラウザでセキュリティ面で違いがあったりするから それが原因かもとも思ったがブラウザでも例外は発生していないらしいからこれは違うか >>552 どっちの意味が分からないのか分からないが appletviewer hoge.html で実行するものじゃないの? またはコメントにappletタグを記述したソースファイルで appletviewer Hoge.java とか 大文字小文字を区別する環境なら合わせてやらないとクラスファイルを発見できない S11_4.classでサーバに上げたのにs11_4.classを指定しているとか
554 名前:544 [2008/05/28(水) 19:17:05 ] >>553 エクリプスで三角形おして動作を見てたから、ぴんと来ないです。 ほかの人のパソコンで見れたら委員だけど、エグゼファイルみたいなのに することもできずテン
555 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 19:30:02 ] jarファイルにエクスポートすればいいんじゃないか appletタグもjarファイル使って <applet archive="hoge.jar" code="s11_4.class" width="500" height="500"> みたいな感じで
556 名前:548 mailto:sage [2008/05/28(水) 20:04:20 ] >アプレットビューワで見れてもHTMLに引っ張ってきただけじゃだめなんですね C:\>dir s11_4.class hoge.html 2 個のファイルが見つかりました。 C:\>appletviewer hoge.html と、入力してみる。三角ボタンじゃなくて。
557 名前:デフォルトの名無しさん [2008/05/28(水) 20:35:28 ] Swing とかで youtubeの外部プレイヤー(小さいやつ)の音量設定のような、 マウスのせたらスライドバーがでてきて調整できる GUI 部品ってないんですかね? もしくは作れるんでしょうかね?
558 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 20:57:44 ] 作れないものなどない
559 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 22:36:26 ] だが、お前には作れない
560 名前:デフォルトの名無しさん mailto:sage [2008/05/28(水) 23:09:39 ] つまらん煽り
561 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 00:33:06 ] タイマーで、描画を3秒ごとに進めようとしてるんですけど、 配列が保管されないんですけど、こういうものなんでしょうか。 java初めてです。
562 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 00:46:51 ] ローカル変数にしてるオチの予感・・・
563 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 00:47:06 ] 配列の宣言位置がおかしいんじゃないでしょうか
564 名前:561 mailto:sage [2008/05/29(木) 01:06:14 ] クラス …メイン クラス …タイマー …グラフィックフレーム クラス …画像描画 …パブリック イント 多次元配列 …描画のメソッド …配列に、値を入れる。 ↓ タイマーでロードされると 配列の値が残っていない…。
565 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 01:19:08 ] >564 私なら、配列の生成、変更箇所をたどっていく。 大体は、生成に問題がある。 配列でなければ、それを含むクラスの生成と運用に問題がある。
566 名前:デフォルトの名無しさん [2008/05/29(木) 01:58:34 ] import java.awt.*; class R6_2 { public static void main( String [] args ) { R6_2_image window = new R6_2_image() window.setSize(400,600); window.setTitle("R6_2"); window.setVisible(true); }} import java.awt.*; class R6_2_image extends ExitFrame { public void paint( Graphics g ) { Toolkit toolkit = Toolkit.getDefaultToolkit(); Image image = toolkit.getImage("image.jpg"); g.drawImage(image,50,50,this); }} windowsVista、CPad for Java2 SDKの環境でjavaしています。 上のプログラムがR6_2.java,下がR6_2_image.javaです。 R6_2.javaファイルを実行すると、シンボルが解決されていないとエラーが出て、コンパイルできません。 image.jpgとExitFrameは同じディレクトリに入れてます。
567 名前:デフォルトの名無しさん [2008/05/29(木) 02:33:01 ] 誰か来て…
568 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 02:51:58 ] >566 ExitFrame は同じパッケージで、Frameを継承してるとして、 R6_2_image window = new R6_2_image()セミコロン抜け
569 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 12:16:45 ] if(hairetu[j][i]==0 && hairetu[j][i+1]==0 && hairetu[j][i+2]==0){ … をすると、なぜか例外になってしまいます。 if(hairetu[j][i]==0 || hairetu[j][i+1]==0 || hairetu[j][i+2]==0){ … では起こらないんですが… 何が違うのでしょうか?
570 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 12:35:43 ] 範囲外参照の例外だろ? &&だったら全て満たさないといけないから条件全て実行する。||だったらどれか満たせばいいから一つでも満たしたら以降は確認しない。
571 名前:569 [2008/05/29(木) 12:39:55 ] つまりその三つを満たしている場合がないから例外が出てるってことなんですか
572 名前:569 [2008/05/29(木) 12:42:02 ] あ、いや、ちゃいますね。 配列の外をってことですね。
573 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 12:48:51 ] >571 例外とは何か。条件を満たさないと起きる物なのか? 570 は、貴方の質問に答えただけで、貴方の疑問には答えていない。 それでも、十分に答えを見つけるだけのヒントは出ている。 というか、表示された例外クラスの事をちゃんと調べましたか?
574 名前:569 mailto:sage [2008/05/29(木) 13:57:48 ] 助かりました。arigatouございます
575 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 14:56:46 ] swingプログラムを作ってるのですが、 Javaで多重起動防止する方法ってどういったものがあるのでしょうか? WIn32APIのミューテックスみたいなのの他、 実行中のプロセス名を全部取得して自分のプロセス名があれば表示前に終了する みたいなのを考えたのですが、Javaでのこういうのの実現方法が分かりません。
576 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 15:00:20 ] ないからlockfile作るのが一般的じゃない?
577 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 15:16:51 ] 仮想マシン単位なら、createNewFile - deleteOnExit の連携かな。試してないけど。 何らかの理由で削除されない事に対応するには、 ロックファイル内容の書式に更新時間を記録するようにするか、ね。
578 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 15:26:31 ] 起動中は特定のポート握りっぱなししておいて、 起動時に特定のポート開けなかったら起動させないとか。
579 名前:デフォルトの名無しさん [2008/05/29(木) 16:16:30 ] よろしくお願いします。 VBで言うところのErr.RaiseしてOn Error Gotoに飛ばすようなことをしたいのですが 意図的にSQLException等の例外を引き起こすメソッドみたいなものはありますか? というか考え方が間違っていますか? try{ //処理1 if(!hoge()){ 例外に飛ばす処理 } //処理2 : }catch{ //ここに飛ばす }
580 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 16:23:03 ] >>575 起動するときファイルに自プロセスIDを書き込む 多重起動チェックのときそのIDのプロセスが生きていればエラー JNI使うことになりそうだけど >>579 throw new SQLException() ただしgotoを実現するために例外を使うのは良くない
581 名前:579 [2008/05/29(木) 16:38:40 ] >>580 物凄い勢いで答えていただきありがとうございました。 例外を使用しない方向で考えてみます。
582 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 16:46:07 ] >579 仕様上、例外もしくはエラーである必要があるのならば、 適切な(なるべく既存の、必要であれば自作の)例外オブジェクトを生成し、throw すれば良い。 お勧めはしませんが、ラベル付き break, continue を使えば、疑似gotoは可能。 ttp://www.y-adagio.com/public/standards/tr_javalang/14.doc.htm#6842
583 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 16:47:28 ] イベント駆動型アプリケーションて概念もあるけどな
584 名前:579 mailto:sage [2008/05/29(木) 17:14:54 ] >>582 ,583 レスありがとうございます。 よくよく考えてみましたが、やはり仕様上例外である必要があるため 前言撤回で、throwを使わせていただきます。 リンクありがとうございます。今読んでいます。 >イベント駆動型アプリケーション 勉強します!
585 名前:デフォルトの名無しさん [2008/05/29(木) 19:46:41 ] preparedStatementを使ってて、 SQLのログ出力する時に、「?」部分に実際に値が入っている状態で出したいんだけど どうすればいいですか?別々に出力させるしかないのでしょうか?
586 名前:デフォルトの名無しさん [2008/05/29(木) 21:06:52 ] JSpinner の中身を左詰で表示させたいんですけど 設定がわかりません orz set〜 を探してもそれっぽいのないのですが。。。
587 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 22:15:15 ] >>586 ((JSpinner.NumberEditor) spinner.getEditor()).getTextField().setHorizontalAlignment(SwingConstants.LEFT);
588 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 22:52:25 ] >586 似たような物をチュートリアルから ttp://java.sun.com/docs/books/tutorial/uiswing/components/spinner.html#format * キャスト前に instanceof でオブジェクトの型を確認。 * キャストに基底クラスの JSpinner.DefaultEditor を使用。
589 名前:デフォルトの名無しさん mailto:sage [2008/05/29(木) 23:09:58 ] >>575 java.sun.com/javase/ja/6/docs/ja/api/java/nio/channels/FileLock.html
590 名前:デフォルトの名無しさん [2008/05/29(木) 23:11:33 ] >585 ?の部分にバインドするのはDBサーバだから簡単な方法はない気がします。
591 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 00:24:34 ] バインドしたやつってDBサーバ側のクエリログとかはどうなん? 自分で確かめてないけど、バインドした結果のが残ってないん?
592 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 01:28:45 ] 6月にマネージャパン、月刊アスキー、週刊アスキーの3誌が賞金総額2000万円の「シストレFXグランプリ」を開催 ttp://system-trading.jp/news/index.php?ID=39 5月22日より登録受付開始、6月2日よりグランプリ開始の予定。 ttp://www.fx-gp.com/ ●社長特別賞(シストレソフト買取価格) 10,000,000円 ●シストレソフト部門賞 1位300万円 2位100万円 3位50万円 ●トレード部門賞 1位300万円 2位100万円 3位50万円 ●前期MVP賞 50万円 ●後期MVP賞 50万円 https://www.click-sec.com/corp/guide/demo/
593 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 01:36:19 ] >>590 String#formatを使えるなら、それほど難しくない気もする。
594 名前:590 mailto:sage [2008/05/30(金) 01:44:29 ] >593 それだと、DBで実行しているものと同じとは言えないと思うのですが。。。 簡単かどうかは人によって違うとは思うのですが、JDBCのパラメータをいじるだけでは出来そうもないという意味で、簡単ではないと書きました。
595 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 02:54:48 ] JGraphについてです JGraphはsourceforgeからダウンロードしましたが(初心者なんで)使い方がわかりません。 環境はVistaでj2sdk2.4です。 どなたかJGraph使い方わかる人はいませんか?(ファイルの移動、コンパイル方法など)
596 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 07:12:39 ] j2sdk2.4?
597 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 07:53:32 ] >>596 すみません、眠たくてぼけてました j2sdk1.4.2_17です。
598 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 09:54:13 ] >>590 ,593,594 ありがとうございました。 ざっとString#formatも調べてみましたが、 これはこれで使いこなすのに時間がかかりそう・・・ でも参考になりました。ありがとうございました。
599 名前:585 mailto:sage [2008/05/30(金) 12:05:14 ] >>591 すいません、抜けていました。 レスありがとうございました。
600 名前:ぬこぬこダンス ◆QQgpZ/Znz. mailto:sage [2008/05/30(金) 12:34:58 ] Hoge [] array = new Hoge[100]; for( int i = 0; i < array.length, ++i ) { array[i] = new Hoge(); } このようにしてメモリを確保した場合 for( int i = 0; i < array.length, ++i ) { array[i] = null; } array = null; ってやるのが正しい方法でしょうか? それとも array = null; だけでOKなんでしょうか?
601 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 12:44:00 ] >>600 何もしなくてOK nullを代入する必要は通常ない
602 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 12:44:59 ] null代入イラネ
603 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 12:47:43 ] >>601-602 ありがとうございました
604 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 13:35:34 ] exec("explorer")を呼び出す際に引数を付けて任意のディレクトリを開くようにしたいのですが、 他のプログラムのようにexec("explorer C:/")というようにやっても シェルからexplorer C:/と入力するような動作はしません。 これって何が問題なのでしょうか?
605 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 13:54:07 ] exec("explorer C:\\") としないとダメとか?
606 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 14:07:11 ] >604 XP です。シェルが何か分かりませんので cmd で確認。同じ動作をします。 単なる入力ミスor確認不足じゃないですか? もちろん、意図した動作は 605 でしょうけど。
607 名前:604 mailto:sage [2008/05/30(金) 14:49:27 ] >>605 で出来ました、レスありがとうございます。 Javaの中のパス指定は/でいいけど外部プログラムに渡す時は\じゃないとダメなんですね。。
608 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 15:22:57 ] java.sql.SQLNonTransientConnectionException: バッチエレメント # のエラーです0: 通信エラーが検出されました: Software caused connection abort: recv failed。 これって何が原因ですか 対処方法も分かったら教えてください
609 名前:デフォルトの名無しさん [2008/05/30(金) 18:02:07 ] Javaで perlやphpのcryptみたいな物ってあるんでしょうか・・? DESでsalt2文字で暗号化したいんですが・・ www.dynamic.net.au/christos/crypt/UnixCrypt.txt だとちょっと結果が違うみたいで javax.cryptoを使うのは方式が違う感じ? 何か良いものがあれば教えてください〜
610 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 18:07:26 ] >>609 「みたいな物」 が欲しいだけで 「同じ物」 が必要じゃないなら、別にちょっとくらい結果が違ってもいいんでないの?
611 名前:デフォルトの名無しさん [2008/05/30(金) 20:40:46 ] randomの乱数生成ですが 0から乱数が始まるみたいですが 最低値と最大値を 5〜10 のように指定した乱数の出し方がわかりません。 教えてください。
612 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 20:51:37 ] >>611 new Random().nextInt(6) + 5;
613 名前:デフォルトの名無しさん [2008/05/30(金) 20:58:29 ] >>612 わかりました。サンクス
614 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 21:13:26 ] インスタンスを生成したときの内部のメモリ状態について質問です。 クラスは、変数とメソッドで構成されていると思うですが、 インスタンス生成の度にメモリ上に確保されるのは、 変数だけなのでしょうか? それとも、変数とメソッドなのでしょうか? 私は前者だと思っていたのですが、 会社の先輩が後者だと言って譲りません。 恐い先輩なので、私が悪いことにしてその場を治めましたが納得できません。 どちらが正しいのでしょうか?
615 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 21:22:36 ] メモリ状態なんてJVMの実装依存でしょ
616 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 22:15:46 ] >>614 OpenJDKのソースを斜め読みした限りじゃインスタンス変数だけと思われ。
617 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 22:42:02 ] 一般的なJVMの実装ならば変数だけだろ メソッドはどのインスタンスでも同じ振る舞いするわけで、わざわざインスタンス毎に作成するメリットはほとんどないわけだから メソッド変数という意味ならば変わるけどな
618 名前:デフォルトの名無しさん mailto:sage [2008/05/30(金) 22:46:27 ] >>614 > 恐い先輩なので、私が悪いことにしてその場を治めました これは正しい。 > が納得できません これは正しくない。
619 名前:614 mailto:sage [2008/05/30(金) 22:50:13 ] >>615-617 レスありがとうございます。 やはり常識的に考えて、生成されるのはインスタンス変数だけですよね。 恐い先輩に頭ごなしに否定されたので、自分が間違っているような気になっていました。
620 名前:デフォルトの名無しさん [2008/05/31(土) 00:26:19 ] GUIでウェブブラウザ作ってるんですが・・・ 下のif文の中に入ってくれません。 どなかか考えうる理由など教えていただけると嬉しいです。 必要であれば、ソースすべて載せます。 はじめて質問するので、なにか不束な点があると思いますが、 許してください。。。 JButton ret; //戻るボタン public void actionPerformed(ActionEvent ae) { Object obj = ae.getSource(); //この条件の中に入ってくれません if(obj == ret){ System.out.println("test4"); System.out.println("test4"); System.out.println(address.getText()); list.removeLast(); this.setUrl(list.getLast()); } else if (obj == address) { System.out.println("test2"); System.out.println(address.getText()); list.add(address.getText()); //ジャンプするURLを格納 this.setUrl(address.getText()); }}
621 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 00:37:49 ] retをローカル変数で定義しているとか? 下のelse if は入るんだよね?
622 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 00:46:36 ] printデバッグするにしても、"test4"とか固定文字列を表示するんじゃ なくて、ifの前にobjとかretを表示してみるとかー。
623 名前:デフォルトの名無しさん [2008/05/31(土) 01:13:40 ] 二つの文字列を表示する時 一つめの文字列を表示させたあと 2秒ほど間を開けて 二つめの文字列を表示するにはどうすればいいですか?
624 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 01:17:34 ] >>623 簡単に言うと、間に Thread.sleep(2000); を挟む。
625 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 01:22:30 ] JNIでCと連携してるんだけど、特定のnativeメソッドを使用した時に UnsatisfiedLinkErrorが投げられてしまう。 環境変数は通っているし、 ヘッダファイルが最新の状態で問題なくビルドできたのに、 そのメソッドだけ蹴られる。 ためしに問題の部分をコメントアウトして実行したら、問題なく動いた。 だから他のnativeメソッドは、たぶん普通に呼び出せてるんだよね。 DLLの中身をのぞいて見ても、件のメソッドは他のメソッドと同じようにちゃんと存在している。 これはいったいどういうことなんだろう…?
626 名前:620 [2008/05/31(土) 01:30:52 ] >>621 ローカル変数では定義してませんね・・・ 下のelse if文には入ります >>622 obj表示してみました。 今もうその文字列のcontainsメソッド使ってごり押しでif文に入りました! ただなんで前の状態じゃ入れないか疑問に残って仕方がない・・
627 名前:デフォルトの名無しさん [2008/05/31(土) 01:40:57 ] >>624 やってみます、ありがと
628 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 01:47:32 ] >>626 ありそうなのは、JButton ret;と、実際に追加されているボタンが異なるケース。 同名のローカル変数が追加されて、メンバのretに値が入っていない。 JButton ret=new JButton();とかやってないか?
629 名前:620 [2008/05/31(土) 02:42:15 ] >>628 ぁぁぁ・・・ご名答です・・ コンストラクタでやってしまってました・・・ わざわざありがとうございます。 今ブラウザの戻る、進む、ホームに戻るが作成できました。 あとは履歴とブックマークくらいしたいなー。 他なにか機能ないかなー。 なんか学校の課題とはいえ、がっつり便利なブラウザ作ってみたいなー。
630 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 02:50:40 ] >>629 > がっつり便利なブラウザ作ってみたい ってことは今使っているブラウザに不満な点があるということだから、 その不満を解消する機能をつければいい。 既にあるものを再生産するのは詰まらんだろう。
631 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 03:08:05 ] >>629 そういうミスを防ぐために、メンバ変数に特殊な命名規則を導入するス タイルもある。 m_ret mRet f_ret fRet ret_ または常にthis.retで使うとか。
632 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 03:58:37 ] short と byte[] の相互変換ってどうやるんですか? private byte[] ShortToByte( short s ) { byte [] b = { (byte)((s >> 8) & 0xFF), (byte)((s >> 0) & 0xFF) } ; return b; } private int ByteToShort( byte []b ) { return ((b[0] & 0xff) << 8) | (b[1] & 0xff); } こんなのを作ってみましたけど 上手く行きません short s = -1; System.out.println( s ); System.out.println( ByteToShort( ShortToByte( s ) ) ); 結果 -1 65535
633 名前:デフォルトの名無しさん [2008/05/31(土) 04:10:17 ] >>632 それshort返してねえよ int返してる
634 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 04:28:20 ] あ^^;色々変更して試しにint返してみてそのままでした private short ByteToShort( byte []b ) { return (short)((b[0] & 0xff) << 8) | (b[1] & 0xff); } でも同じ結果です
635 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 04:33:27 ] private byte[] convertShortToByte(short s) { byte[] b = new byte[2]; ((ByteBuffer)ByteBuffer.allocate(2).putShort(s).rewind()).get(b); return b; } private short convertByteToShort(byte[] b) { return convertByteToShort(b, 0); } private short convertByteToShort(byte[] b, int offset) { return ByteBuffer.allocate(2).put(b, offset, 2).getShort(0); }
636 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 05:24:53 ] そんなややこしい方法でしか無理ですか?
637 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 06:07:55 ] ここでエスパー参上 short 返してねえよ。int 返してる
638 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 06:13:47 ] >>637 >>634 です
639 名前:294 [2008/05/31(土) 12:09:33 ] Aクラス=(appletをextendsしたクラス)でBクラス=(frameをextendsしたクラス)ではなく Bクラスを使用しないでAクラスでBしたクラスがする処理をしたらappletとしてうごきました。 ところでappletではファイルの読み書きとかが出来ないらしいけど、 何が出来て何が出来ないかということはどうやって解るんですか
640 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 12:53:26 ] >>639 ↓に載ってるものは出来ない java.sun.com/javase/ja/6/docs/ja/technotes/guides/security/permissions.html#PermsAndMethods ただし↓のファイルに書いてあれば許可される C:\Program Files\Java\jre1.6.0_06\lib\security\java.policy
641 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 13:13:04 ] >>640 ありがとうございます。 とてもよく知ってますね。 そういう知識はどこで覚えたんですか? なんでそんなに詳しいんですか? どこかで習ったりしたんですか?
642 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 13:32:07 ] >>641 公式サイトのドキュメント↓読んでれば見つかる java.sun.com/javase/ja/6/docs/ja/ ここの 「セキュリティ」 と書いてあるリンクを辿っていけばセキュリティについて書かれている さっきのページは 「セキュリティ」 → 「Java 2 SDK におけるアクセス権」 片っ端から全部読むには量が多すぎるが、必要なときに必要な情報だけ探して来れば十分
643 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 14:11:40 ] >>636 static short ByteToShort(byte[] b) { return (short)((b[0] << 8) | b[1]); } static byte[] ShortToByte(short s, byte[] b) { b[0] = (byte)((s >> 8) & 0xFF) ; b[1] = (byte)(s & 0xFF) ; return b; } public static void main(String[] args) { short s = -1; byte b[] = new byte[2]; System.out.println( ByteToShort( ShortToByte( s, b ))); } 君のメモリー(思い出は((無い
644 名前:デフォルトの名無しさん [2008/05/31(土) 14:51:39 ] synchronizedブロックだとメソッドから復帰するとモニタも解放になりますが、 メソッドから復帰してもロック・オブジェクトのモニタを持ちつづけるにはどうすればいいのでしょうか?
645 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 15:06:20 ] >>644 それ用のスレッドを作ってモニタを持ち続けさせるか、 特にオブジェクトのモニタである必要がないなら java.util.concurrent.locks.ReentrantLock あたりを使う
646 名前:デフォルトの名無しさん [2008/05/31(土) 15:08:02 ] やはり少し手間がかかるんですかありがとうございます。
647 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 15:15:55 ] >>645 イテレーションが目的であって、要素が途中で変更されると困るときはどうするんでしょうか。 例えばjava.util.Vectorのsynchronizedは取得時のみでイテレーション中は変更される可能性があるわけで、これとは少し意味が違いますよね。
648 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 15:22:30 ] >>647 使う側が必要なだけsynchronizedかける 例: Vector v = ....; synchronized (v) { Iterator i = v.iterator(); while (i.hasNext()) { ... } }
649 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 15:28:45 ] ああ、そうですね。
650 名前:デフォルトの名無しさん [2008/05/31(土) 15:30:06 ] 先頭のスーペースはもしかしてnbsp;をタイプしてるんですか?
651 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 15:32:36 ] 専ブラが変換してくれるので自分でタイプしてはいない
652 名前:デフォルトの名無しさん mailto:sage [2008/05/31(土) 15:35:43 ] >>648 それだと違うインスタンスのロックにならないから、 例えば別のVectorインスタンス(クローンとか)から内部を変更されてしまい、 要求する仕様を満たさないよ。そういうのは見つけにくいバグになるんじゃないの?