1 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 17:53:34 ] プログラミング言語Javaに関する質問スレです。 JavaScript, Ajaxの質問は、ここでは受け付けていません。 Web製作板をご利用ください。pc10.2ch.net/hp/ 過去ログ、関連スレッド、よくある質問とその回答など、 質問をする前に、貴方が見なければならないサイトについての情報は、 下のwikiのページにまとめてあります。 www.wikiroom.com/java/ これからJavaでプログラミングを始めたいが、何をすればいいかわからない人も、 wikiからのリンクをおたどりください。 よくある質問 ・「コマンドまたはファイル名が違います」 「'javac' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。」 「Exception in thread "main" java.lang.NoClassDefFoundError: 」 www.wikiroom.com/java/?path,classpath ・String に == は使うな。equals() を使え。 ・「\12288 は不正な文字です。」 文字リテラル以外で全角スペースは使えません。半角スペースに。 ・その他の質問→「APIのjavadoc見ろ」 前スレッド 【初心者】Java質問・相談スレッド113【大歓迎】 pc11.2ch.net/test/read.cgi/tech/1204363011/ /* 既出の質問や、他に適切なスレが存在する質問は、容赦なく無視されます。 質問をする前にwikiで過去ログ、関連スレ、FAQをチェックしてください。 */ また、当スレで質問をするかたは、回答をもらえたときに、 wikiの更新をして頂ければ、忝のう存じます。 次スレは>>980 あたりで。
263 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 02:36:45 ] Javaから外部プロセスの状況を取得したいんですが、どうすれば よいでしょうか? 具体的には、最前面にあるウィンドウのタイトルを取得したり、 外部のプロセスを閉じたりしたいです。 それと、キーロガーのように、グローバルフックでキー入力を フックしたりしたいのですが、そういうことをするにはどうしたら よいでしょうか?
264 名前:249 [2008/04/13(日) 03:07:46 ] >>263 少しずれてるかもしれないけど、 ウィンドウ側や、外部プロセス側も自分が実装するものという前提であれば、 ttp://www.smg.co.jp/seminar/JavaNetwork/NP_lecture03.html の第3回から第8回くらいが参考になるかも。 ウィンドウ側や外部プロセス側は実装はしない、というのであれば全然違うので参考にならないかと。 キーフックはjavascript側でならやったことあるけど、javaではないです。。
265 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 06:26:43 ] OSはfedoracore5を利用しています。 while(true)で無限ループさせるプログラムを作成したのですが、 コマンドラインから実行すると当然のことながら制御が行ったきりになってしまい、 ターミナルを落とすとプログラムも一緒に落ちてしまいます。 これをWindowsで言うところのサービスのように実行するにはどうすればよろしいでしょうか?
266 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 07:35:07 ] job制御、disownあたり?
267 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 09:33:46 ] >>265 「サービスのように実行する」のなら、Java単体ではできないんじゃないかなー。 www.linux.or.jp/JM/html/LDP_man-pages/man3/daemon.3.html を使って、CでJavaプログラムを起動するスタートアップを書くのが確実かなぁ。 そこまでやらないなら、標準入出力&エラー出力を閉じてnohup相当の処理を した上でfork&execするようなシェルスクリプトを書くだけでいいかも。 単純に「行ったきりにならない」「ターミナルを落としてもプロセスは落ちない」 だけなら、「nohup java CLASS &」ただし、nohup.outに標準出力&エラー出力 が出続けるので注意。(rmしてもプロセスが生きてる限り見えないところに残る)
268 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 10:19:32 ] >>254 ちゃんとcloseしないと尻切れになるとどこかで読んだ気がする。 結果分かったら書いてくれ。
269 名前:249 [2008/04/13(日) 10:54:49 ] >>268 すみません。下のほうでcloseはしているのですが、 切ったまま投稿してしまいました。 で、結果ですが、 >>257 >>260 の仰せの通り、 文字エンコーディングの問題でした。 BufferedReader in = new BufferedReader( new InputStreamReader( uc.getURL().openStream())); is,"Shift_JIS")) とやることで解決しました。 ありがとうございました。;
270 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 13:05:13 ] SwingのFrameの構造が良くわかりません。Panelに貼り付けるのかContainerに貼り付けるのかとかが良くわかりません 詳しく説明しているサイトか本ありませんか?
271 名前:デフォルトの名無しさん [2008/04/13(日) 13:27:53 ] 初@@@@@@心@@@@@@@@@@者@@@@@@@@@@@@@@@
272 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 13:38:46 ] >>270 いくらでもあります。ググるか、本屋に行くかもしくはアマゾンあたりで購入してください。
273 名前:デフォルトの名無しさん [2008/04/13(日) 13:42:12 ] 日本語でおk
274 名前:デフォルトの名無しさん [2008/04/13(日) 14:56:04 ] 拡張for文に出会ったり、使ったりしたことある人いますか?
275 名前:デフォルトの名無しさん [2008/04/13(日) 14:59:47 ] 呼んだ?@
276 名前:デフォルトの名無しさん [2008/04/13(日) 15:02:23 ] マジですか。 書籍でしか見たことないですが… イマイチ使う気になれません。
277 名前:デフォルトの名無しさん [2008/04/13(日) 15:03:51 ] で、何?
278 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 15:04:20 ] 拡張 for は理論上でのみ存在する構文です。
279 名前:デフォルトの名無しさん [2008/04/13(日) 15:04:52 ] Integer i = new Integer(0); plus(i); public void plus(Integer i) { i++; } これで、iの値が増えてくれないんですが、 Integerオブジェクトの値を増やすことって、 できないのでしょうか? C言語の、intポインタ的な使い方をしたいです。
280 名前:デフォルトの名無しさん [2008/04/13(日) 15:05:14 ] 拡張forは結構使えるよ。 慣れると普通のforには戻れない@@@
281 名前:デフォルトの名無しさん [2008/04/13(日) 15:05:34 ] >>279 だから初心者はくだすれ行けよバカ@@@@@@@@@@@@@@@
282 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 15:07:48 ] >>279 i++; は、実際には i = new Integer(i + 1); だから。
283 名前:279 mailto:sage [2008/04/13(日) 15:09:46 ] >>282 いや、それは分かってるので、 増やす方法はないのでしょうか? もしくは、こういう場合どうすればいいでしょうか? という質問です。
284 名前:デフォルトの名無しさん [2008/04/13(日) 15:10:16 ] なんかこのスレでのキチガイごっこは飽きた。 知ってる人は知ってると思うが、 俺の本拠地は別板にあるからそっちでの活動に専念するわ。 ノシ
285 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 15:12:32 ] int[] i = new int[]{0}; plus(i); public void plus(int[] i){ i[0] ++; }
286 名前:279 mailto:sage [2008/04/13(日) 15:15:11 ] >>285 どうもありがとうございます。
287 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 15:15:18 ] >>283 まず誤解させる書き方をしたことを詫びるべきでは?
288 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 15:17:30 ] >>285 の回答で満足なのかよ
289 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 15:17:40 ] いやさすがにおまいが勝手に誤解しただけだろう。 「なぜ増えないんですか?」 ならともかく。
290 名前:279 mailto:sage [2008/04/13(日) 15:33:56 ] >>287 少し説明不足だったかも。すいません。 ただ、あなたも、もうちょっとちゃんと文章読んで答えて欲しい。。。 >>288 もっといい方法があるなら教えてもらえると嬉しいです。
291 名前:287 mailto:sage [2008/04/13(日) 15:35:22 ] 自分は>>285 じゃないし、>>285 とは解釈も違うけど、 あまりにも身勝手だと思ったもので。
292 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 15:35:25 ] 何コイツwwwwwww
293 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 15:37:02 ] 春は終わったのに春厨がいると聞いて飛んできました
294 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 15:49:28 ] Javaアプレットで音を鳴らしたいのですが、 便利な方法はないでしょうか? AudioClipなるものは機能がしょぼすぎて使う気になれませんでした。 DirectSoundばりのものがほしいのですが……。
295 名前:282 mailto:sage [2008/04/13(日) 16:29:37 ] >>279 読んだよ。 それが解っていれば、増やす方法がない事くらい解るだろ? まさか、メソッドに渡すのではなくインスタンス変数に持てばいいとかってレベルの話か? それとも、 i = plus(i); int plus(Integer i) { return i++; } とか、そんな回答が欲しいのか? 増やす方法の前に、増やす条件がなければ回答できねーよ
296 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 16:54:13 ] C 言語の int ポインタ的な、で通じなかった時点であんたに答えるスキルがなかっただけ。
297 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 17:18:35 ] C言語(笑) ポインタ(笑)
298 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 17:47:29 ] javaのObjectInputStreamについて伺いたいのですが、 ObjectInputStream ois; try{ ois=new ObjectInputStream(socket.getInputStream()); }catch(Exception e){ e.printStackTrace(); } とやった場合、結果が成功でも例外でも即座に戻ってきますよね…? どうも、tryのところでソケットに入力があるまで止まってしまう感じで、 どうしてそうなるか分からなくなってしまったのですが。
299 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 17:50:56 ] >>298 ソケットの入力ストリームからオブジェクトストリームのヘッダを読むので戻りません。
300 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 17:54:22 ] >>299 早速のご回答ありがとうございます。 ということは、最初の一回は何かオブジェクトを投げてここを通過させなければならない感じでしょうか? それとも、ひょっとすると一個オブジェクトを投げるごとにnewでObjectInputStreamを作り直す必要があるのでしょうか。
301 名前:300 mailto:sage [2008/04/13(日) 18:00:42 ] 解決しました。ありがとうございました。
302 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 18:04:33 ] >>300 ObjectInputStream を先に new するなら、その通信相手は ObjectOutputStream を先に new しなければならない。 理由は自分で考えろ。
303 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 18:11:11 ] >>302 >>301 をみてもわかるとおり、解決したってさw
304 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 21:34:07 ] JNIを使ってC++のプログラムと連携しなけければならないのだけれど、 実行時にJREがエラーはいて止まる。 C++側から配列をもらってくるところで止まってるようだ。 Java側には、int配列の参照しか定義してなくて、 配列の実体はC++側で作って、jintArray型でJava側に渡されてきたのを結びつける、 ってことをやりたいのだけど、そもそもこういうことはできないのかな? できるとしたら、unsigned char *p を、 jintArray qにキャストする方法を教えて欲しい。 そのまま q = (jintArray)p; でいいんだろうか? まぁこっちは、C++寄りの話になってしまうのだけれど…
305 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 21:41:40 ] >>304 SetIntArrayRegion() 使って C++ の領域から Java の int[]にコピーするか、 Java 側では java.nio.ByteBuffer#allocateDicrect で得られるバッファ使って C++側では GetDirectBufferAddress で得られるポインタ使うか。
306 名前:デフォルトの名無しさん mailto:sage [2008/04/13(日) 23:35:45 ] >>305 素早い回答ありがとうございます。 早速書いてみます。
307 名前:265 mailto:sage [2008/04/14(月) 00:51:59 ] >>266 disownは知りませんでした。 job番号が必要な辺り、今回は使えないかもしれませんが、 今後役に立ちそうです。ありがとうございました。 >>267 nohupで対応したいと思います。 丁寧にご教示頂き、ありがとうございました。
308 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 00:56:34 ] Fedora なら daemon があるんじゃないか。 /etc/rc.d/init.d/ の起動シェルいくつか調べてみ。
309 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 09:47:19 ] void main(String args[]) 前後省略 void main(String []args) 前後省略 入門書には2通りの書き方がありますが、 違いはありますか?
310 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 09:56:47 ] >>309 見た目の違いだけ。 void main(String[] args) が推奨される書き方。 void main(String args[]) はC言語の癖が抜けない人が使う。 void main(String []args) は変態が使う。 一番上以外の書き方をしている入門書は、コーディング標準を知らない無知な人が書いていたり コーディング標準を知っていてわざと従わないへそ曲がりな人が書いていたりすると思われるので 内容が適当だったり、普通の人には理解しにくい説明がされている可能性があがる。
311 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 10:15:20 ] ありがとうございます。 そう聞いて今、Java Black Book 2001/12/21 (21page) に誤植見つけました!
312 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 11:02:39 ] >>270 >SwingのFrameの構造が良くわかりません。Panelに貼り付けるのかContainerに貼り付けるのかとかが良くわかりません pc11.2ch.net/test/read.cgi/tech/1172285649/867
313 名前:デフォルトの名無しさん [2008/04/14(月) 11:26:39 ] 文字列を1秒間隔で表示させるにはどうしたらいいですか?
314 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 12:07:45 ] >>313 いいかげん自分でさがせよ。>>270 もお前だろ
315 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 12:09:06 ] スレッドのスリープ www.nextindex.net/java/thread/sleep.html
316 名前:デフォルトの名無しさん [2008/04/14(月) 13:04:35 ] 間隔を置いて1文字ずつを流したいのですが、何十秒間表示なしで、突然いっきに文字列が出ます。 どうしたらいいんでしょう。ソースはこれです。 public void paint(Graphics g) { Font font = new Font(null, Font.PLAIN, 30); g.setFont(font); FontMetrics metrics = g.getFontMetrics(font); String text = "Get down on your knees. Beg for your life!"; int margin = 30; int cx = margin, cy = 100, mx = getWidth() - margin; for(int i = 0; i < text.length(); i++) { g.drawString(String.valueOf(text.charAt(i)), cx, cy); try { Thread.sleep(500); } catch (InterruptedException e) { System.out.println(e); } cx += metrics.charWidth(text.charAt(i)); if (cx > mx) { cx = margin; cy += metrics.getHeight();
317 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 13:08:51 ] >>316 paint内部で Thread.sleep してるから。
318 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 14:02:28 ] >>316 天空の城ラピュタより。ムスカ全セリフ集(英訳版)か
319 名前:316 [2008/04/14(月) 14:16:05 ] paint内にThead.sleepがダメいうことで、classをつくって、その中でsleepを定義してオブジェクトを作り、それをpaint内で呼び出して使おうとしましたが、うまくいきません。、Thread.sleepをどう使えばいいですか? public class SleepT { public void sleepii(){ try { Thread.sleep(500); } catch (InterruptedException e) { System.out.println(e); } } SleepT s = new SleepT(); public void paint(Graphics g) { Font font = new Font(null, Font.PLAIN, 30); g.setFont(font); FontMetrics metrics = g.getFontMetrics(font); String text = "Get down on your knees. Beg for your life!"; int margin = 30; int cx = margin, cy = 100, mx = getWidth() - margin; for(int i = 0; i < text.length(); i++) { g.drawString(String.valueOf(text.charAt(i)), cx, cy); s.sleepii(); cx += metrics.charWidth(text.charAt(i)); if (cx > mx) { cx = margin; cy += metrics.getHeight(); } }
320 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 14:21:43 ] >>319 drawString した内容は、paint() をいったん抜けないと実際の画面に反映されない。
321 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 15:18:24 ] そこはタイマーの出番だろう。 javax.swing.Timer それと、drawStringするよりJLabel使った方が楽な気がする。
322 名前:デフォルトの名無しさん [2008/04/14(月) 15:26:32 ] これでどう? import java.awt.*; public class Sample extends Panel implements Runnable{ public static void main(String[] args) { Frame frame = new Frame(); Sample sample = new Sample(); frame.add(sample); frame.pack(); frame.setLocationRelativeTo(null); frame.setVisible(true); new Thread(sample).start(); } public Sample() { setPreferredSize(new Dimension(200, 200)); } private int x = 10, y = 10, count = 0; private String text = "Get down on your knees. Beg for your life!"; @Override public void paint(Graphics g) { g.drawString(text.substring(0, count), x, y); } public void run() { for(int i = 0; i < text.length(); i++){ repaint(); count++; try { Thread.sleep(500); } catch (InterruptedException e) {} } } }
323 名前:デフォルトの名無しさん [2008/04/14(月) 16:05:05 ] Javaでライブラリを作るには、どうすればいいですか?
324 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 16:09:19 ] jar でぐぐれ
325 名前:デフォルトの名無しさん [2008/04/14(月) 16:28:32 ] javaで盗聴器を作りたいと思ったのですが違法ですか
326 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 16:34:52 ] 文字のたれ流しならpaint使わずアクティブレンダリングすれば良いんじゃない?
327 名前:デフォルトの名無しさん [2008/04/14(月) 17:56:43 ] ねえ。僕正社員なんだけど、いつも請負先はなんらかのフレームワークとか EJBつかわされるんだけど、派遣の求人見るとJSTL/JSP/サーブレットくらいの 職場があるんだけど、こういうところって本当にそれしか使わない? EJB/Xdoclet/Hibernate/Struts/Spring使いたくないんです。
328 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 19:15:57 ] 派遣の求人担当なんてServletとEJBの違いどころか、Javaと組み込みCの違いもろくに解ってないぞ
329 名前:デフォルトの名無しさん [2008/04/14(月) 19:18:31 ] (;´д`)
330 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 20:08:37 ] >>328 求人に応募すると、真っ先に技術シートとかスキルシートの記入を頼まれるんだが、 あの馬鹿しか記入できない仕組みやフォーマットは一体何? それと変な適性検査を受けさせられて鬱になったこともある。 1, 2, 4, 5, 7, .... 続く数字は? とか変な図形パターンのやつ ふざけんじゃねー! 小学生の知能テストかよ! 別な会社で不意打ちの経済学・金融学の試験を満点解答したら蹴られた。 ふざけんじゃねー! 馬鹿しか採用しないのかよ!!!!!
331 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 20:14:26 ] そりゃ単にあんたが向こうの要求するスキルを持ってなかっただけだろ。
332 名前:330 mailto:sage [2008/04/14(月) 20:30:31 ] >>331 アセンブラ、C、C++、FORTRAN、Java少々、etc... 要求分析〜パッケージの製品マスタまで 携わったし、汎用機以外はオールラウンダーだよ。マネジメントは管理会計もOK。
333 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 20:34:27 ] >>332 >>331
334 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 20:34:45 ] どれも中途半端でしたということだな。
335 名前:330 mailto:sage [2008/04/14(月) 20:44:23 ] 中途半端ではないぞ。 後継の指導もしたし、どちらかと言えばやり終えたという感じだな。 しかし、一つ極めたら次へ、それも極めたら次へ・・・ これの繰り返し。 あれこれ極めたら出ていかなくてはならないような「技術畑のしきたり」が気に入らない。 発注側のプロパー社員をコントロールして何が困るのかよ! 醜い位意識ばかり持ちやがって > 技術者会社&派遣会社
336 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 20:46:01 ] ぐちはプログラマ板でどうぞ。ここはプログラム板、質問スレ。
337 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 20:51:00 ] 人間性に問題があっただけだろう。よくあること スレ違いスマソ
338 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 20:53:32 ] 落とした会社が何を考えたかよく分かる書き込みだな。スキル以前の問題ようだ。
339 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 20:58:50 ] 質問というか一年前に初めてこの業界に入ってずっとVB6.0で開発してきたんですけど 来月からJAVAで開発をする事になりました。 VBは言語的に簡単と言われてますけどJAVAはどんなもんなんでしょうか??
340 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 21:12:48 ] BasicPlayer API使って音楽をループするにはどうすればいいのでしょうか?
341 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 21:39:04 ] >>339 適当な本1冊買って読んでから質問においで
342 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 21:49:04 ] >>341 了解しました!!
343 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 21:49:40 ] そこで引き下がるな 食いついていけ
344 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 21:59:42 ] >>343 いえいえ JAVAの知識は皆無に等しいのでちと勉強してからまた来ます!! スレ汚し失礼しました・・。
345 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 23:31:06 ] >>339 俺もVB出身で勉強中だけどJavaは大人の言語って感じだな。VBは小学生言葉。
346 名前:デフォルトの名無しさん mailto:sage [2008/04/14(月) 23:53:42 ] JavaはVBの後継です
347 名前:デフォルトの名無しさん [2008/04/15(火) 01:31:19 ] Windowsで作ったjarをLinux(Fedora 8)へ持っていって動かした所, ボタンのフォントが崩れてしまいました. 英字表記だと崩れず日本語表記だと崩れます. JForm.Textにも同じ表示をしているのですが,こちらは崩れません. WindowsではJDK6 Update5で作りました. SystemのPropertyでは共にuser.language=jaになっています. FontのFamilyも共にDialogでした. 他に何を調べるべきでしょうか?
348 名前:デフォルトの名無しさん [2008/04/15(火) 01:50:42 ] Linuxのフォントの設定をした?
349 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 01:58:14 ] JForm.Text て何だ?
350 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 04:17:29 ] 証明書でよくある「フィンガープリント」って何をハッシュ化したもの? Certificate#getEncoded()?
351 名前:デフォルトの名無しさん [2008/04/15(火) 12:32:44 ] 1個の窓に2つの画像をランダムに表示するソースですが、下記のところでシンボルを解決できないとエラーが出ます。なぜだかわかりません。 public MoleAttack(String title){ Mole moles = new Mole(); moles.setNoneImage(noneImage); moles.setMoleImage(moleImage); moles.setPreferredSize(size); moles.setBorder(new LineBorder(new Color(0,0,0))); getContentPane().add(moles); rand = new Random(System.currentTimeMillis()); timer = new javax.swing.Timer(300, this); timer.start(); } public void actionPerformed(ActionEvent e) { if (rand.nextInt(2) == 0) return; if(moles.getState() == Mole.STATE_NONE) //ここで、シンボルを解決できないと出る moles.setState(Mole.STATE_MOLE); // この部分も同上 } } class Mole extends JComponent { public static final int STATE_NONE = 0; public static final int STATE_MOLE = 1; private Image none, mole; private int state = STATE_NONE; public void setNoneImage(Image image) { this.none = image; if (state == STATE_NONE) repaint(); } public void setMoleImage(Image image) { this.mole = image; if (state == STATE_MOLE) repaint(); } public void setState(int state){ this.state = state; repaint(); } public int getState() { return state; } }
352 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 12:39:02 ] 初心者すぎてスマヌ int i; double d; @i += d; ←コンパイルおk Ai = i + d; ←コンパイルエラー Aの場合はコンパイルエラーになるのは分かるんだけど なぜに@の場合だとエラーにならないの?
353 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 13:14:55 ] >>352 i += d は、 i = i + d じゃなくて i = (type of i)(i + d) と同じって言語仕様で決まってるから。
354 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 13:19:57 ] ソース見てると import java.awt.*;の*;を使わずに クラス名をいちいち書き出しているソースがありますけど、 そうすると何かいいことあるんですか?
355 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 13:23:40 ] >>354 その後に import java.util.*; して、 List 使おうとしても曖昧とか言われない。
356 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 13:27:20 ] >>354 IDE無しでもソース見ただけで使用してるクラスが一目瞭然。
357 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 14:12:13 ] 良くwebサイトとか見てると自動相互リンクとか言って登録するとき 相手側のページにリンクされてるかどうか調べに行くのとかあるんですけど、 あれってjavaで実装できます?
358 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 15:55:31 ] >>353 ありがとうございます 勉強になります
359 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 16:27:16 ] >>357 HTTPを理解してればjavascriptでもできるぞ
360 名前:418 [2008/04/15(火) 18:41:00 ] 今日アルゴリズムの授業が始まり、初日からこんな課題が出されました。 ユークリッドのアルゴリズム」のプログラム(Euclid.java)について、 次の問に答えよ。 #プログラムリスト↓ class Euclid { public static int gcd(int u, int v){ int t; while(u > 0){ if(u < v){ t = u; u = v; v = t;} u = u - v;} return v;} public static void main(String args[]){ int u = 100; int v = 25; System.out.println("u="+u); System.out.println("v="+v); System.out.println("gcd="+gcd(u,v)); }} 1-1)メソッド gcd を次のように変更せよ。 (変更点) 変数 u, v の変化がわかるように、途中経過を画面に表示させる。 1-2)メソッド gcd を次のように変更せよ(二つの変更点を同時に満たすように変更 せよ)。 (変更点1)教科書に述べられているように、% (余りを求める演算子)を利用 したものにアルゴリズムを改良する。 (変更点2)変数 u, v の変化がわかるように、途中経過を画面に表示させる。 変更後のgcdメソッドのプログラムと、gcd(1455,987)を実行させたときの実行 結果を示せ。 明後日が提出日なので、解答するのに大変困っています。 分かる人がいましたら、是非教えてください。
361 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 18:42:47 ] 質問よろしくお願いいたします。 Javaをダウンロードしたのですが、インストール終了後に確認すると、 Java Plug in???? とメッセージが出て使えません。 osはXPです。 よろしくご教示ください。
362 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 18:46:52 ] >>360 宿題は宿題スレでどぞ。つか未来人間なら結果解るだろw >>361 確認って何?
363 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 18:59:19 ] >362 インストール後に、ちゃんとインストールされているか確認できる画面。 ちゃんとインストールされていれば、絵が出てくるみたいな。