1 名前:デフォルトの名無しさん mailto:sage [2007/03/05(月) 01:35:28 ] 過去ログ、関連スレッド、よくある質問とその回答、 質問をする前に、貴方が見なければならないサイトについての情報は、 下の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質問・相談スレッド98【大歓迎】 pc11.2ch.net/test/read.cgi/tech/1171787388/ /* 既出の質問や、他に適切なスレが存在する質問は、容赦なく無視されます。 質問をする前にwikiで過去ログ、関連スレ、FAQをチェックしてください。 */ また、当スレで質問をするかたは、回答をもらえたときに、 wikiの更新をして頂ければ、忝なく存じます。 JavaScript, Ajaxの質問は、ここでは受け付けていません。 Web製作板をご利用ください。pc10.2ch.net/hp/ 次スレは>>980 あたりで。
554 名前:デフォルトの名無しさん mailto:sage [2007/03/17(土) 14:26:54 ] めんどいから、これでいいじゃん FileWriter fw = new FileWriter("test02.txt", true);
555 名前:デフォルトの名無しさん mailto:sage [2007/03/17(土) 14:42:22 ] >>553 BufferedReader b = null ; FileWriter fw = null; try { b = new BufferedReader(new FileReader("test01.txt")); fw = new FileWriter("test02.txt"); String s; while((s = b.readLine())!=null){ // 略 fw.write(st[0]+","+st[1]+","+nu4); } b.close(); b = null; fw.close(); fw = null ; }catch(Exception e){ System.out.println("ファイル読み込み失敗"); }finally{ try{if(b!=null)b.close()}catch(Exception e){} try{if(fw!=null)fw.close()}catch(Exception e){} } Exceptionのハンドリングは適当だし、動作は確認してないぞ
556 名前:デフォルトの名無しさん mailto:sage [2007/03/17(土) 14:49:32 ] >>554 ファイルがなかったらExceptionがThrowされなかったけ?
557 名前:デフォルトの名無しさん mailto:sage [2007/03/17(土) 14:58:15 ] あそっか。じゃあ先頭にorg.apache.commons.io.FileUtils.touch("test02.txt") かなんかで空ファイル作成追加
558 名前:デフォルトの名無しさん mailto:sage [2007/03/17(土) 16:13:07 ] ものすごい勢いで本末転倒だなw
559 名前:デフォルトの名無しさん mailto:sage [2007/03/17(土) 20:31:36 ] JMSの仕様について勉強できるサイトや本ってないですか? できれば日本語で・・・。 オライリーのJavaメッセージサービスは所持してます。
560 名前:デフォルトの名無しさん mailto:sage [2007/03/17(土) 20:43:49 ] クラスローダを独自に用意すれば、並行処理で同じstatic変数にアクセスしても値が違う みたいなことが出来るのでしょうか?
561 名前:デフォルトの名無しさん mailto:sage [2007/03/17(土) 20:51:40 ] >>559 仕様はSUNのAPI仕様読むのが一番じゃないでしょうか。 仕様そのものはシンプルでキレイだけど 実装によるクセが大きいので、勉強はそこそこに 実装の調査に入った方が良い気がします。
562 名前:デフォルトの名無しさん mailto:sage [2007/03/17(土) 21:16:56 ] >561 利用する側でなく、JMSプロバイダを作る側なため、 仕様をきちんと理解してからでないときついかなと思った次第です。 オープンソースとか参考にするのがいいんですかねぇ・・・。
563 名前:デフォルトの名無しさん [2007/03/17(土) 21:16:56 ] VISTAでJAVAは使えますか?
564 名前:デフォルトの名無しさん mailto:sage [2007/03/17(土) 21:20:54 ] とりあえず使えます
565 名前:デフォルトの名無しさん mailto:sage [2007/03/17(土) 21:31:18 ] >>562 であるならなおのことSpecification読むしかないのでは。 あれが最終にして完全(であるべき)ですから。 差しさわりがなければMQ作ることになった理由を聞かせて欲すぃ・・
566 名前:デフォルトの名無しさん mailto:sage [2007/03/17(土) 21:39:02 ] > であるならなおのこと おとこのこなら に読めてしまったので眼科行ってくる
567 名前:デフォルトの名無しさん mailto:sage [2007/03/17(土) 21:42:51 ] アッー!
568 名前:デフォルトの名無しさん mailto:sage [2007/03/18(日) 14:13:19 ] SwingでBeanを編集するためのよいバインドツールみたいなものはありませんか?
569 名前:デフォルトの名無しさん mailto:sage [2007/03/18(日) 14:36:53 ] 仕事関係です。SOAという言葉が大好きな人がいまして・・・。 まあまだ作ると決まったわけではないんですが。 英語大嫌いなんでキツイ(;´Д`)
570 名前:デフォルトの名無しさん mailto:sage [2007/03/18(日) 14:41:34 ] SOAと英語にどういう関係が、つーか誤爆か?
571 名前:デフォルトの名無しさん mailto:sage [2007/03/18(日) 14:43:18 ] そあー大変だな てか別に英語関係なくね?
572 名前:デフォルトの名無しさん [2007/03/18(日) 14:45:12 ] kajuhome.com/tomcat5.shtml を見てTomcatをセットアップしているのですが、起動時にはTomcatが起動していません。 起動後、コマンドラインから/etc/rc.d/init.d/tomcat5 start(中でcatalina.sh startを呼んでいます)で起動すると問題なく起動します。 catalina.outを見ると、停止時に 致命的: プロトコルハンドラの一時停止に失敗しました java.net.SocketException: Network is unreachable というエラーが出ています。また、起動時の表示を見ていると、上記のtomcat5より先にhttpdが起動しています。 上記URLには「必ずtomcat→apacheの順で起動すること」とありますので、ここも気になるところです。 以上二点、何かお気付きの点があれば御指摘ください。よろしくお願いします。ちなみに環境は ・CentOS 4.4 ・jdk-1_5_0_11-linux-i586-rpm.binからインストールしたJDK1.5.0_11 ・apache-tomcat-5.5.23.tar.gzから解凍したtomcat5.5.23 ・jakarta-tomcat-connectors-jk2-2.0.4-src.tar.gzからmakeしたmod_jk2.0.4 です。他に必要な情報があれば御指摘ください。
573 名前:デフォルトの名無しさん mailto:sage [2007/03/18(日) 15:09:04 ] >>572 CATALINA_HOMEとかが読まれてないんじゃないか? しかし、/etc/profileを更新するとは強引だな あと、jk2は終わってるぞ
574 名前:デフォルトの名無しさん [2007/03/18(日) 15:23:40 ] JAVA勉強してるのですが、将来的にもLG3Dを取り敢えずインスコしといたほうがいいですか?それともBistaにしとく?
575 名前:572 [2007/03/18(日) 15:29:14 ] >CATALINA_HOMEとかが読まれてないんじゃないか? > >しかし、/etc/profileを更新するとは強引だな 解決策&お勧めの方法などありましたら、「ここを見ろ」でOKですのでご教授ください(;´∀`) ちなみにmod_jkも試してみたのですが、まったく同じ問題が出たのでクリーンインストールしなおしたとです……。
576 名前:デフォルトの名無しさん [2007/03/18(日) 15:32:46 ] 今eclipseでdbを利用した簡単なアプリケーションを作っているのですが、 eclipseにhsql pluginを導入しました。しかし、 作ったアプリケーションをいざプラウザで表示しようとすると HTTP????? 500 - -------------------------------------------------------------------------------- type ?????? ????? ?? The server encountered an internal error () that prevented it from fulfilling this request. ?? javax.servlet.ServletException: org.hsqldb.jdbcDriver ってエラーが出るのですが。ちなみにDBへの接続は別のクラスがやるようになってます。 解決策分かる方、教えてください。お願いします。
577 名前:デフォルトの名無しさん [2007/03/18(日) 15:41:48 ] その別クラスからのDBへの接続は大丈夫でした
578 名前:569 mailto:sage [2007/03/18(日) 15:56:03 ] >570-571 565への返信です。 SOA→JMSという流れらしくて・・・。 で、JMSの仕様書英語しかなさそうなんで面倒だなと。
579 名前:デフォルトの名無しさん mailto:sage [2007/03/18(日) 15:57:47 ] ならまぁ、「SOAだから」じゃなくて単に英語苦手だからだな。 つ エール
580 名前:デフォルトの名無しさん mailto:sage [2007/03/18(日) 16:01:17 ] >>576 pc11.2ch.net/test/read.cgi/tech/1147444414/771
581 名前:デフォルトの名無しさん mailto:age [2007/03/18(日) 16:13:55 ] 今 Sun のサイトから jdk-1_5_0_11-windows-i586-p.exe をダウンロードしてインストールしたのですが、 bin フォルダ内に javac コマンドがありません。 何か変更があったのですか? javac に替わるコンパイルコマンドはどれでしょうか。
582 名前: mailto:sage [2007/03/18(日) 16:26:28 ] キーボードから任意の数値nを入力させて、1からnまでの和を表示させるプログラムです。 たとえばnが7であれば、「1+2+3+4+5+6+7 = 28」という具合に表示させます。 本に載っている模範解答だと、この処理部分を int sum = 0; for (int i = 1; i <= n; i++) { System.out.print(i + " + "); sum += i; // sumにiを加える } System.out.println("= " + sum); としているのですが、これだと「1+2+3+4+5+6+7+ = 28」になって、最後の余計な"+"が入っちゃうと思うんです。 そこで、この処理部分を int sum = 0; for (int i = 1; i <= n; i++){ if (i != n){ sum += i; System.out.print(i + "+"); } else{ sum += i; System.out.print(i); } } System.out.println("=" + sum); というふうに修正してみたんですが、これって一般的な方法と言えるんでしょうか?
583 名前:デフォルトの名無しさん mailto:sage [2007/03/18(日) 16:30:10 ] Project Looking Glassに参加してる方は2chなんかにいないですよね?
584 名前:デフォルトの名無しさん mailto:sage [2007/03/18(日) 16:41:17 ] 仮に居たとしても会話したくないだろうな
585 名前:581 mailto:sage [2007/03/18(日) 17:05:34 ] JDK のインストールの後の JRE のインストール先を JDK と同じフォルダにしたため bin が上書きされてしまっていました。 失礼ぶっこきました。
586 名前:デフォルトの名無しさん mailto:sage [2007/03/18(日) 17:38:47 ] >>575 解決策はエスパーでもない限りわからん スクリプトにechoでも埋め込んで確認するとかで調べるとかして原因を特定 お薦めは ttp://ichimura.chi.its.hiroshima-cu.ac.jp/webdb/tomcat.html の方法 ただし、内容は少し古いから適時読みかえること jsvcのマニュアルも読んで適切にスクリプトを書き換えること
587 名前:572 mailto:sage [2007/03/18(日) 18:45:18 ] >>586 アドバイスありがとうございました。結論からいうと >CATALINA_HOMEとかが読まれてないんじゃないか? で大当たりでした。 /etc/rc.d/init.d/tomcat5の先頭にechoを入れると、起動時に環境変数まわりのエラーメッセージがドカンと表示されたので、 先頭に(/etc/profileとはまた別に、フルパス直書きで)環境変数を設定したところ、うまく起動できました。 また、念のためinit.dによる自動起動を停止し、/etc/rc.d/rc.localに記述する方法で明示的にtomcat→httpdと起動するようにしておきました。 大変助かりました。アドバイス、ありがとうございました。
588 名前:デフォルトの名無しさん mailto:sage [2007/03/18(日) 22:02:10 ] >>587 RH系なら、起動スクリプトの「# chkconfig」の行に、起動する順番を書けばいいでしょ。 「linux chkconfig 順番」でググってみたら?とりあえず1件見つけてみた。 ttp://www.geocities.co.jp/SiliconValley-Cupertino/9120/startup.html
589 名前:デフォルトの名無しさん mailto:sage [2007/03/18(日) 22:06:08 ] >>582 sum+=i;が重複してるからif-elseの外に出した方がいいな。 けどそれ以外はみんなそんな感じに書くと思うぞ。 逆に変態的な書き方があったらぜひ教えて欲しいもんだ。
590 名前:デフォルトの名無しさん mailto:sage [2007/03/18(日) 22:12:10 ] for (int i = 1; i <= n; i++) { sum += i; System.out.print(i); if (i != n) { System.out.print("+"); } }
591 名前:デフォルトの名無しさん mailto:sage [2007/03/18(日) 22:19:27 ] java -jar foo.jar としたときにシステムプロパティ java.class.path って 確実に実行モジュールである foo.jar のみが表示されるのかな? 仕様や実行結果を見るにどうもそうらしいんだけど。 絶対パスならそのまま、相対パスなら user.dir を付加すれば Win32 のGetModulePath の代わりになる?
592 名前:582 mailto:sage [2007/03/19(月) 00:42:19 ] >>589-590 そうですね。その方がスマートですね。 ありがとうございました!
593 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 01:44:21 ] >>582 まぁ、あえて違う書き方をしたいと思ったら、 int sum = 1; System.out.print(1); for(int i = 2; i <= n; i++ ) { sum += i; System.out.print(i + "+"); } System.out.print(" = " + sum); ぐらいかな? あまりこういう書き方はしないと思うけど・・・。
594 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 01:45:29 ] ごめん間違った > System.out.print(i + "+"); System.out.print(" +" + i); に修正
595 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 02:16:02 ] >>589 普通に for (int i = 1; i <= n; i++) { sum += i; System.out.print(i + (i != n ? " + " : " = ")); } System.out.println(sum); みたいなのを考えたけど、希望してるのならこんなの for (int i = 1; i <= n; i++) { System.out.print(i + " + "); sum += i; } System.out.println("\b\b= " + sum);
596 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 09:22:24 ] >>595 \bとはマニアックな・・・。 けどこうしてみるとifもないしスマートに見えるな。 機会があれば使ってみよう。
597 名前:デフォルトの名無しさん [2007/03/19(月) 14:01:53 ] 開発はユニクソ?リヌクス?の方が多い?
598 名前:572 mailto:sage [2007/03/19(月) 15:25:20 ] >>588 フォロー、ありがとうございます。これでinit.dの下で管理できそうですね。 大変参考になりました。重ねて御礼申し上げます。
599 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 21:11:24 ] 新人教育でJavaを教えることになりました 知らないやつを基準に変数からクラス、オブジェクトまで教えるのですが これだとすでにJavaやプログラミングを知っている人が退屈してしまうので そいつらむけの適当な自習課題を用意しようと思います。 (簡単なゲームとかメモ帳作成とか) 参考になりそうなページはないですか?
600 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 21:40:06 ] お前が作れよ
601 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 22:01:06 ] ゲームとかメモ帳ってGUI方面だろ。 Webアプリ作らせたほうが実用的かと。
602 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 22:24:57 ] Java知ってるやつにはDB使ったアプリを教えろ
603 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 22:29:40 ] >>601 知らないやつ基準ということなのでそういう人が大多数という前提だと、 新人研修の自習でWebアプリ作るほどの力があるならそのまま現場投入で たたき上げた方がよほど本人及び会社の為ではないかと
604 名前:603 mailto:sage [2007/03/19(月) 22:50:47 ] あ、現場投入云々はあくまで技術者として、ね。 社会人としてどうとかはまた別の話。
605 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 22:59:07 ] >>599 java.cs.vt.edu/dev/javasound/api/javax/media/sound/sampled/package-tree.html の javax.media.sound.sampled 使った何か
606 名前:1/2 mailto:sage [2007/03/20(火) 00:17:04 ] import java.awt.*; import java.awt.event.*; class Awt10{ Frame frame; Button button; TextField text; public Awt10(){ frame = new Frame( "フレーム" ); button = new Button( "クリックするとダイアログ表示" ); text = new TextField(); button.addActionListener( new ActionListener() { public void actionPeformed(ActionEvent e){ new Dialog01( frame ); } } ); frame.add( button, BorderLayout.NORTH ); frame.add( text, BorderLayout.SOUTH ); frame.pack(); frame.setVisible( true ); } public static void main( String[] args ){ Awt10 awt10 = new Awt10(); } }
607 名前:1/2 mailto:sage [2007/03/20(火) 00:21:12 ] class Dialog01{ Dialog dialog; public Dialog01( Frame frame ){ dialog = new Dialog( frame, "ダイアログ", true ); Label label = new Label( "ラベル" ); dialog.add( label ); dialog.pack(); dialog.setVisible( true ); } } これでコンパイルすると、 Awt10.java:15: <anonymous Awt10$1> は abstract でなく、java.awt.event.ActionList ener 内の abstract メソッド actionPerformed(java.awt.event.ActionEvent) をオーバ ーライドしません。 public void actionPeformed(ActionEvent e){ こういうエラーが出てきてしまいます。 javaの入門本のコードそのまま打ち込んでいるんですが、どうしたらいいんですか?
608 名前:デフォルトの名無しさん mailto:sage [2007/03/20(火) 00:26:22 ] > actionPeformed performed?
609 名前:デフォルトの名無しさん mailto:sage [2007/03/20(火) 00:36:55 ] >>607 >class Awt10{ これ本当?コピペ間違ってない? このソースであのエラーが出るとは思えんが…
610 名前:デフォルトの名無しさん mailto:sage [2007/03/20(火) 00:40:10 ] うわーありがとうございました。 performedのスペルが間違ってました。恥ずかしい。 >>609 さん コピペは間違いはないと思います。。。 こういうエラー見たことなかったのでスペルちゃんと見てませんでした
611 名前:609 mailto:sage [2007/03/20(火) 00:49:21 ] すまん。勘違いだった(汗) 普段の自分のコーディングスタイルと違うので(と言い訳してみる)
612 名前:デフォルトの名無しさん [2007/03/20(火) 10:26:06 ] *=ってどういう意味?
613 名前:デフォルトの名無しさん mailto:sage [2007/03/20(火) 10:27:42 ] a = a * b; と a *= b; が同じ
614 名前:デフォルトの名無しさん mailto:sage [2007/03/20(火) 10:38:18 ] さんくす。
615 名前:デフォルトの名無しさん mailto:sage [2007/03/20(火) 11:38:00 ] a *= bってスタックに積む数が少ないから実行速度a = a * bより早いのかな?
616 名前:デフォルトの名無しさん mailto:sage [2007/03/20(火) 11:44:40 ] >>615 > スタックに積む数が少ない そもそも、この違いがない、はず。
617 名前:デフォルトの名無しさん mailto:sage [2007/03/20(火) 12:44:50 ] 単なる表記法の違いだよね…?
618 名前:デフォルトの名無しさん mailto:sage [2007/03/20(火) 13:04:47 ] a #= b と a = a # b の違いは、aが評価される回数。 x[func()] += y; と x[func()] = x[func()] + y; だとfunc()の性能によっては大きな速度差が出ることがあるし、 func()が副作用を持つ場合は動き自体が違う可能性もある。
619 名前:デフォルトの名無しさん mailto:sage [2007/03/20(火) 13:18:13 ] a, b をメタ変数と考えるなw
620 名前:デフォルトの名無しさん mailto:sage [2007/03/20(火) 14:37:53 ] 完全なインタープリタならいざ知らず、バイトコードまではコンパイルしてるのだから 式の評価順の解析(スタックや逆ポーランドといった)はコンパイル時におわってる。 より短くコードを書くことを良しとしていたCの文法を受け継いでるだけだ。
621 名前:デフォルトの名無しさん mailto:sage [2007/03/20(火) 16:16:30 ] >>620 要するにコンパイラが勝手に最適化するから気にするなでおk?
622 名前:デフォルトの名無しさん [2007/03/20(火) 19:12:20 ] WebappClassLoaderをサーブレット側から手動で動かすにはどうしたらいいですか?
623 名前:デフォルトの名無しさん mailto:sage [2007/03/20(火) 20:48:28 ] eclipseでワークスペース使ってコンソールから窓を開いて3DCGを表示するアプリ作ったのですが それをアプレットに落とし込むにはどうしたらいいでしょか。 やり方教えて下しア
624 名前:デフォルトの名無しさん mailto:sage [2007/03/20(火) 20:52:01 ] C/C++ だと _ で始まる名前や場所を問わず __ を含む名前はシステムで予約されてるけど、Javaではどうなん?
625 名前:デフォルトの名無しさん mailto:sage [2007/03/20(火) 21:09:19 ] _については制限なし。 $も使えるが、機械生成されたものなど、用途を制限されている。 ただし、「それが望ましい」程度の縛り。
626 名前:デフォルトの名無しさん mailto:sage [2007/03/20(火) 21:09:25 ] >>624 Character#isJavaIdentifierStart も Character#isJavaIdentifierPart も true を返すから '_' 自体は使える。 _ で始まる名前とか __ で始まる名前とかで、予約はされてないはず。 コーディング規約で使わないのを推奨してたか、は忘れた。
627 名前:デフォルトの名無しさん mailto:sage [2007/03/20(火) 21:16:04 ] >>625-626 サンクス。自分でそんな名前を進んで使うつもりはないけど、 いま弄ってるソースでバンバンそんな名前が使われてたから気になってた。
628 名前:デフォルトの名無しさん mailto:sage [2007/03/20(火) 21:41:28 ] >>617 どこにレスを付けるのか迷ったけど、ここにレス付けるわ。 例A short x = 0; int i = 123456; x += i; // エラーなし x = x+ i; // エラー 精度が落ちている可能性 例B Object o = "Hoge"; String s = "Test"; o = o + s;// エラーなし o += s; // エラー 互換性のない型 元ネタ 書籍「Java Puzzlers」
629 名前:デフォルトの名無しさん mailto:sage [2007/03/20(火) 22:06:08 ] >x += i; // エラーなし なんで?
630 名前:デフォルトの名無しさん mailto:sage [2007/03/20(火) 22:18:46 ] JLS15.26.2を読んでみた。 前者は、複合代入演算 E1 op= E2 の意味するところは E1 = E1 op E2 ではなく、 E1 = (T)(E1 op E2) // TはE1の型 すなわち、複合代入演算子は暗黙のうちに代入される側の方へのキャストを 行うというのがポイント。 後者は、複合代入演算子が使えるのはプリミティブ型/そのラッパー型、そして +=については左辺がStringの場合のみ、文字列連結が行われる。 (右辺はどんな型でもよい)
631 名前:デフォルトの名無しさん mailto:sage [2007/03/20(火) 22:22:58 ] >>629 例えば byte b = 0; b += 2; // 2 は int型 とかがコンパイルエラーになったらウザいでしょ。
632 名前:デフォルトの名無しさん mailto:sage [2007/03/20(火) 23:34:47 ] JPanelにCanvasをはりつけてCanvasにイメージを描画しようと思ってます。 JPanel内に↓のようなMyCanvasクラスを定義してpaint()を実装しました。 private class MyCanvas extends Canvas { public void paint(Graphics g) { g.drawImage(resultImage, 0, 0, null); // resultImageはJPanelのインスタンス変数 } } JPanelでresultImageが変更されたときにmyCanvas.repaint()を呼んでいるのですが Canvasのイメージが更新されません(一度、最小化して戻すと表示されてます) 再描画がうまくいってないようなのですがどのようにすればよいでしょうか。
633 名前:デフォルトの名無しさん mailto:sage [2007/03/20(火) 23:39:03 ] - MyCanvasはCanvas(AWTコンポネント)を継承せず、代わりにJPanelを継承 - paintではなくpaintComponentをオーバーライド でどうか?
634 名前:デフォルトの名無しさん mailto:sage [2007/03/20(火) 23:51:18 ] アドバイスありがとうございます。 ただそれでもだめでした。 paintComponent()でSystem.out.println()やるとちゃんと表示されてるのでrepaint()で メソッドは呼び出されてはいるようです。 ただはりつけたJPanelに表示はされません・・・ もとのパネル(MainPanel)では setLayout(new BorderLayout()); imagePanel= new MyPanel(); add(imageCanvas, BorderLayout.CENTER); ではりつけてます。
635 名前:デフォルトの名無しさん mailto:sage [2007/03/20(火) 23:52:10 ] add(imagePanel, BorderLayout.CENTER) の間違いでした
636 名前:デフォルトの名無しさん mailto:sage [2007/03/20(火) 23:58:52 ] 自己レスです はりつけたMyPanelのpaintComponent()にsuper.repaint()を入れたらすぐ再描画されました。 貼り付け元のJPanelも再描画する必要があるってことでしょうか・・・
637 名前:デフォルトの名無しさん mailto:sage [2007/03/21(水) 00:02:58 ] 関係ないかもしれないけど、 paintComponentでsuper.paintComponentは呼んでる?
638 名前:デフォルトの名無しさん mailto:sage [2007/03/21(水) 00:19:55 ] 呼んでます・・・ JFrameの上にJPanelを貼り付けた場合は、paintComponent()ですぐ再描画されてたんですが、今度はJPanelの上にJPanelを貼り付けたからかと疑ってるんですが、関係ないかな。
639 名前:デフォルトの名無しさん mailto:sage [2007/03/21(水) 00:25:58 ] 超初心者です。 本を見ると 「swingはAWTと異なり、コンテンペインを取得し、そこにコンテンツを配置する。」 というように書いております。 で、そのとおりgetContentPane()してaddしたらもちろん上手くいきました。 流れとしてはこんな感じで。→new JFrame().getContentPane().add(new JPanel()); その後もしかしてと思って、 new JFrame.add(new JPanel()) ってやっても普通にうまくいきました。 コンテンツペインを取得する必要ってあるんでしょうか?
640 名前:デフォルトの名無しさん mailto:sage [2007/03/21(水) 00:35:17 ] >>638 自己レスですが g.drawImage(resultImage, 0, 0, this); で解決したようです。null->thisにしました。
641 名前:デフォルトの名無しさん mailto:sage [2007/03/21(水) 00:37:44 ] >>639 最近のJFrameでは不要。必要に応じて内部でgetContentPane()した先に 要求をたらい回ししてくれる。
642 名前:デフォルトの名無しさん mailto:sage [2007/03/21(水) 00:41:07 ] java.sun.com/j2se/1.5.0/ja/docs/ja/guide/swing/1.5/index.html#swingMajor bugs.sun.com/bugdatabase/view_bug.do?bug_id=4753342 だな。
643 名前:639 mailto:sage [2007/03/21(水) 00:48:04 ] おお、、ありがとうございます。 getContentPane()は面倒だけどswingの構造を理解するのに役立ってたので ちょっと複雑な気分です。
644 名前:デフォルトの名無しさん mailto:sage [2007/03/21(水) 13:28:38 ] jarファイルからカレントディレクトリにある任意のJDBCドライバを読み込ませるようにしたいのですが、 MANIFESTのクラスパスには何と記述すればよいのでしょうか? .や*.jarでは認識しませんでした。 直接名前指定 or jre/lib/extにドライバを格納するしかないのでしょうか?
645 名前:デフォルトの名無しさん mailto:sage [2007/03/21(水) 13:39:51 ] 記述部さらしてみ
646 名前:644 mailto:sage [2007/03/21(水) 13:49:58 ] Manifest-Version: 1.0 省略 Class-Path: *.jar xxxx.jar xxxx.jar Manifest-Version: 1.0 省略 Class-Path: . xxxx.jar xxxx.jar という感じです。記述の仕方に問題ありますか?
647 名前:ひょこたんだお(^ω^ ◆E9k1wjKgHI mailto:age [2007/03/21(水) 16:21:36 ] ごめんなすm(^ω^#)m static Class forName(String className) の使い方がわかんなひ(;ω;)おっおっお 簡単なソースをいくつかキボンヌッ (#^ω^)ノたのんだうお
648 名前:デフォルトの名無しさん mailto:sage [2007/03/21(水) 16:43:35 ] >>644 必要なものを明示的に指定するという観点から、 ワイルドカードは使えないんじゃないのかねぇ。 java.sun.com/javase/ja/6/docs/ja/technotes/guides/jar/jar.html#Main%20Attributes 使えるとは書いてない。使えないとも書いてない。
649 名前:デフォルトの名無しさん mailto:sage [2007/03/22(木) 03:33:29 ] >>647 ここの ttp://blog.goo.ne.jp/akubi_2005/m/200601 Mainクラスがいっぱいの時 にソースがあった。
650 名前:デフォルトの名無しさん mailto:sage [2007/03/22(木) 10:34:01 ] 独学で苦戦している超初心者です。 自分でもいろいろ調べてみたのですが、困り果てて皆さんのお力に頼ることになりました。 今、コマンドラインに数字を一行で 10,24,35,40 のような形で入力させてそれぞれの数字を表示させるものを作っているのですが、コンパイルをして実行までは出来るのですが、数字を入力したあとにエラーが出ます。 エラーメッセージをググってみたのですが、検索には引っかかるものの「これだ!」というものが見つからなかったのでココに質問させていただきました。 以下にコードの一部とエラーメッセージを記載します。 public static void main(String[] args) throws IOException { int input[]; System.out.println("数列はカンマ区切りの文字列で入力してください。"); BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String str = br.readLine(); String numbers[] = str.split(","); int i=0; input = new int[i]; while(i < numbers.length){ input[i] = Integer.parseInt(numbers[i]); System.out.println(i + "つめは" + input[i]+ "です。"); i++; } } 以下エラーです。 java.lang.ArrayIndexOutOfBoundsException: 0 at Test.main(Test.java:28) Exception in thread "main" *ココでいう28というのがコードの28行目であれば input[i] = Integer.parseInt(numbers[i]);が28行目にあたります。 どなたか、お助けください。
651 名前:デフォルトの名無しさん mailto:sage [2007/03/22(木) 10:39:17 ] > int i=0; > input = new int[i]; だれが見てもここだ
652 名前:デフォルトの名無しさん mailto:sage [2007/03/22(木) 10:40:31 ] >650 右辺の numbers[i] ではなく、恐らく input[i] から出ている例外かと。 int i=0; input = new int[i]; この時点で input[] の要素数はゼロになっているが それ以降 input[] の要素数を増やしていない以上 input[] の要素数はゼロのままだ。 input = new int[i]; を input = new int[numbers.length]; にしてみたら?
653 名前:650 mailto:sage [2007/03/22(木) 11:07:57 ] >>652 どうもありがとうございます!解決しました! 答えだけでなく、どこがどのように間違っているかまで答えていただいて 大変勉強になりました。
654 名前:デフォルトの名無しさん mailto:sage [2007/03/22(木) 13:47:44 ] これってどうよ? ja.wikibooks.org/wiki/Java
655 名前:デフォルトの名無しさん mailto:sage [2007/03/22(木) 14:13:36 ] >>654 個人的には、「Javaをはじめよう」以下は要らないような気もする。 char が -32768〜32767になってたり、 「リファレンス型というのは、クラスのことです」とか、間違いもちらほらあるし。 文法とかは、JLS へのリンク貼って終わりで良いとか、 入門者用のコンパイル手順を示すんなら、テキストでやるより flash movie とかでやった方が親切なんじゃないか、と思ったり思わなかったり。 wikibook に flash 置けるのか知らんけど。
656 名前:デフォルトの名無しさん mailto:sage [2007/03/22(木) 15:35:54 ] >>514 おやおや? Java家電時代の到来か? 将来は、Javaで家電制御を企んでいるのかねー? Jiniかねー?
657 名前:デフォルトの名無しさん mailto:sage [2007/03/22(木) 17:43:49 ] まずはおいしいご飯からお願いします
658 名前:デフォルトの名無しさん mailto:sage [2007/03/22(木) 17:45:39 ] すみませんが、質問です。 HttpServlet のソースコードは、どのソフトに含まれているのでしょうか? たぶんTomcatにあるのだろうと思っていたのですが、うまく見つけられません。 利用中のTomcat は4.1です。
659 名前:デフォルトの名無しさん mailto:sage [2007/03/22(木) 17:59:27 ] 質問です。 HTTP Get のクエリ文字列から、パラメータ名とその値の組み合わせの集合を取 得するには、どうしたらいいでしょう?
660 名前:デフォルトの名無しさん mailto:sage [2007/03/22(木) 18:18:15 ] >>658 classならcommon/lib/servlet-api.jarの中。ソースは入ってないよ。
661 名前:658 mailto:sage [2007/03/22(木) 18:37:21 ] >>660 > classならcommon/lib/servlet-api.jarの中。ソースは入ってないよ。 ありがとうございます。ソースはどこで手に入るのでしょうか? オープンソースですから、どこかで配布はしているはずなのですが。 実は>>659 も私なのですが、以下の処理の参考にしたかったのです。 目的:URL文字列からクエリパラメータを手動で取り出す URL文字列を与えられて、 String url = "www.youtube.com/watch?v=pd74BKx0x-w"; ここからクエリ文字列を取り出し、 String qstring = new URL(url).getQuery(); //qstring = "v=pd74BKx0x-w" ここまではできるのですが、それをパラメータと値に分解する方法が分かりません。 正規表現などで愚直に分けるしかないのでしょうか? 何か既存のAPIがあるのではないかと思うのですが。
662 名前:デフォルトの名無しさん mailto:sage [2007/03/22(木) 18:50:24 ] >何か既存のAPIがあるのではないかと思うのですが。 request.getParameter( "v" )で一発だ。 ソースではなくAPIドキュメントを利用するのがJavaでは普通。 sdc.sun.co.jp/java/docs/j2ee/sdk_1.3/ja/techdocs/api/javax/servlet/ServletRequest.html sdc.sun.co.jp/java/docs/j2ee/sdk_1.3/ja/techdocs/api/javax/servlet/http/HttpServletRequest.html
663 名前:658 mailto:sage [2007/03/22(木) 19:06:03 ] >>662 ありがとうございます。 HttpServletRequestは与えられていなくて、ただURL文字列だけがあるのです。 だから「手動で」取り出す必要があります。 説明不足ですみません。
664 名前:デフォルトの名無しさん mailto:sage [2007/03/22(木) 19:16:22 ] >>663 ほいっwww.google.com/codesearch ?hl=ja&q=show:WeBMAMCdhTg:T67KRquB4ao:axPaDrtTH9s&sa=N &ct=rd&cs_p=download.nextag.com/apache/ tomcat/tomcat-5/v5.5.17/src/apache-tomcat-5.5.17-src.tar.gz &cs_f=apache-tomcat-5.5.17-src/container/catalina/src/share/ org/apache/catalina/core/ApplicationHttpRequest.java このvoid parseParameters()あたりから辿ってけばいんじゃね?
665 名前:デフォルトの名無しさん mailto:sage [2007/03/22(木) 19:17:47 ] ソース tarballには入ってないの? svnならsvn.apache.org/repos/asf/tomcat/tc6.0.x/trunk/ 中は見てない。
666 名前:658 mailto:sage [2007/03/22(木) 20:20:55 ] >>664 ありがとうございます。どうやら↓のparseParameters()のようです。 これはどのjarファイルにあるのかなあ。 どうも探し方が分かりません。 src.opensolaris.org/source/xref/sfw/usr/src/cmd/tomcat/ apache-tomcat-5.5.17-src/container/catalina/src/share/org/apache/ catalina/util/RequestUtil.java >>665 > ソース tarballには入ってないの? 実装クラスは入っていますが、HttpServletRequest自体のソースは無いようです。
667 名前:デフォルトの名無しさん [2007/03/22(木) 20:26:32 ] 質問です。 server.xmlの<context>のreloadable属性が falseかtrueかの情報を クラスから取得する方法はありますか?
668 名前:デフォルトの名無しさん mailto:sage [2007/03/22(木) 20:26:38 ] javax.servlet.http.HttpServletRequestはinterfaceだから、 ソース見ても実装情報はないよ。
669 名前:658 mailto:sage [2007/03/22(木) 20:36:56 ] >>668 > ソース見ても実装情報はないよ。 それはそうなのですが、ソースが無いと、Eclipseで追いづらいと思います。 なお、RequestUtil.class は catalina.jar に含まれていました。 publicクラスですが、一般ユーザが利用することが適切なのか、よく分かりません。 ところで、どのクラスがどのjarに含まれるのかを簡便に知るにはどうしたらい いでしょう? ・1つ1つJarコマンドで表示 ・拡張子をzipに変えて検索 ・片端からEclipseのプロジェクトに組み込んでみる これらよりもっといい方法はあるでしょうか?
670 名前:デフォルトの名無しさん mailto:sage [2007/03/22(木) 20:45:49 ] >>669 Eclipseで追うだけなら、jadclipseを入れておくとソースがないものは jadで逆コンパイルしたものを表示してくれたりする。 jar探しは、コマンドラインに苦痛を感じないヒトなので、 jar tfで探すかなー。Eclipseに組み込むのはいい方法だと思います。
671 名前:デフォルトの名無しさん mailto:sage [2007/03/22(木) 21:42:42 ] String url = "foo.bar.com/hoge.cgi?a=b&x=y&foo=bar"; String[] params = url.substring(url.lastIndexOf('?')+1).split("[&=]"); これで{"a","b","x","y","foo","bar"}っていう配列ができる。 後は、配列の偶数と奇数で分けて適当に処理すればいけるだろ。
672 名前:デフォルトの名無しさん mailto:sage [2007/03/22(木) 21:53:10 ] >>671 フラグメントがあったら最後の要素が "bar#hoge" みたいにならんか?
673 名前:デフォルトの名無しさん mailto:sage [2007/03/22(木) 22:06:09 ] >>672 なるほど。じゃあこれでどだ。無理矢理1行。 String[] params = url.substring(url.lastIndexOf('?')+1, url.indexOf('#') > 0 ? url.indexOf('#') : url.length()).split("[&=]");
674 名前:658 mailto:sage [2007/03/22(木) 22:50:29 ] >>670 ありがとうございます。参考になります。 できたら配布元のサイトでドキュメント化してくれていたら楽なのですが。 >>671-673 標準のAPIには存在しないらしいので、自分もそれなりに書いてみました。 String url = "www.youtube.com/watch?v=pd74BKx0x-w"; String q = new URL(url).getQuery(); Map<String, String> map = new HashMap<String, String>(); for (String pv : q.split("&")) { String[] p = pv.split("="); map.put(p[0], p[1]); }
675 名前:デフォルトの名無しさん mailto:sage [2007/03/22(木) 22:53:43 ] a=&x=yみたいに値がないパラメタがあったらうまくいかない気がする。
676 名前:デフォルトの名無しさん mailto:sage [2007/03/22(木) 22:55:13 ] 675は>>673 ね。 >>674 たいていはそれでいいけど同じキーの値が複数あったらうまくいかないので注意。
677 名前:デフォルトの名無しさん mailto:sage [2007/03/22(木) 22:58:46 ] パラメータ間の区切りに最近は;も使うので、汎用性から言ったらこれも認識する とよい。 >>675 のケースを回避するために、まず &(および; )だけで区切り、そののち=で 分解するといいだろう。 >>676 を考慮するならmapの値側をコレクションクラスにする必要がある。
678 名前:デフォルトの名無しさん mailto:sage [2007/03/22(木) 23:26:33 ] 書式指定子について教えてください。 ある本で↓みたいなのがでてきたんですが、%が多くて何やってんのかよくわかりません。 System.out.printf(String.format("%%2d | %%%dd\n", n), r, x); %dで10進数に変換。2は2桁の長さを表す。ということはわかったのですが、 引数に対して書式指定子がやたら多いような気が・・・ メソッドが入り子になってるからややこしいんでしょうか? そもそもformat()の第2引数 n は何に変換されるんでしょう?
679 名前:658 mailto:sage [2007/03/22(木) 23:27:54 ] >>675 氏のケースに対応 String[] p = pv.split("="); ↓ String[] p = pv.split("=", 2); 自分の用途には>>676 氏のケースはなさそうなので、これで何とかなりそうです。 ありがとうございました。
680 名前:デフォルトの名無しさん mailto:sage [2007/03/22(木) 23:35:52 ] %%が%そのものになるというのは理解してる? 順番に書くと、 String format = String.format("%%2d | %%%dd¥n", n); System.out.printf(format, r, x); たとえばnが5だと最終的には System.printf("%2d | %5d¥n", r, x) を行う。 # 一つ指摘しておくと、フォーマット指定として改行を記述するには¥n # ではなく%nを使うべき。
681 名前:デフォルトの名無しさん mailto:sage [2007/03/23(金) 01:30:23 ] すみません、XPathAPIを使って、以下のXMLから<media:thumbnail> のurl属性 を取得するには、どのようにXPathを記述したらいいでしょうか? video.google.com/videofeed?fgvns=1&fai=1&docid=507732229697832036&hl=en (以下、抜粋) <rss> <channel> <item> <media:group> <media:thumbnail url="video.google.com/ThumbnailServer2?app=vss&contentid= c5ed681df175c4b0&offsetms=5000&itag=w320&lang=en&sigh=8GjvM1prox25GC-jte15jydXiAA" width="320" height="214" /> </media:group> </item> </channel> </rss> 以下のページなどを参考にしているのですが、具体的な記述が無くて困っています。 msugai.fc2web.com/java/XML/XPath.html
682 名前:デフォルトの名無しさん mailto:sage [2007/03/23(金) 02:18:50 ] java関係ないね。と言っても該当スレがここしか見当たらない。 ttp://pc11.2ch.net/test/read.cgi/tech/1133280488/l50
683 名前:681 mailto:sage [2007/03/23(金) 02:31:04 ] >>682 すみません、XPathAPIに固有の問題もあるかと思い、こちらで質問しました。 例えば、.NETならこんなページがありますが、 www.atmarkit.co.jp/fdotnet/easyxml/easyxml05/easyxml05_03.html この内容(addNameSpace)はJavaでは使えないようです。
684 名前:デフォルトの名無しさん mailto:sage [2007/03/23(金) 02:39:18 ] XmlNamespaceManager site:w3c.org に該当するページが見つかりませんでした。 おや?
685 名前:デフォルトの名無しさん mailto:sage [2007/03/23(金) 04:58:49 ] >>681 >どのようにXPathを記述したらいいでしょうか? こういう事聞くレベルなら仕様を理解してない。実装されたAPI以前の問題。て言うかW3Cの仕様に対してMSの実装出してくるなんて釣りにしか見えないんだが・・・。 >XMLから<media:thumbnail> のurl属性 を取得する ロケーションパスの書き方は分かるのか? >>684 .NETのクラス名がw3cのページでヒットするわけ無いだろ。煽るならもっと頭使え。 googleくらい使えるようになろうな xpath site:www.w3.org/ ~~~~~~~~~~~~~~~~~~~~~~~~
686 名前:681 mailto:sage [2007/03/23(金) 05:12:15 ] すみません。 >>685 > > こういう事聞くレベルなら仕様を理解してない。実装されたAPI以前の問題。 > て言うかW3Cの仕様に対してMSの実装出してくるなんて釣りにしか見えないん > だが・・・。 おっしゃるとおり、よく理解しておりません。 > >XMLから<media:thumbnail> のurl属性 > を取得する > ロケーションパスの書き方は分かるのか? おそらく、 /rss/channel/item/media:group/media:thumbnail/@url ではないかと思うのですが…。
687 名前:681 mailto:sage [2007/03/23(金) 05:18:48 ] 追記です。 よく分かっていないのは、名前空間の扱いです。 .NETの実装を見て、JavaのXPathApiにも、addNameSpace にあたる関数があるの だろうと考えたのですが、それを見つけられなくて困っていました。
688 名前:デフォルトの名無しさん mailto:sage [2007/03/23(金) 09:54:40 ] >>685 は、XmlNamespaceManagerなんぞw3c標準にないのに知るかよ! という回答するつもりだった人からのピーデーの某氏へのイヤミです。
689 名前:デフォルトの名無しさん mailto:sage [2007/03/23(金) 09:55:34 ] ×という回答するつもりだった人からの ○という、回答するつもりだった人からの 「、」いっこ抜けて意味が変わってるしorz
690 名前:デフォルトの名無しさん [2007/03/23(金) 12:06:23 ] ログを解析するアプリケーションを作りたいのですが、SwingやAWTで UI部分を作り、エンジン部分をC言語で作る事は出来るのでしょうか? 出来る場合、JAVA側(UI)とC側(エンジン)とのやりとりはどのような 感じになるのでしょうか? C言語は少し経験ありますが、JAVAはまったくの初心者です。 よろしくお願いします。
691 名前:デフォルトの名無しさん mailto:sage [2007/03/23(金) 12:11:49 ] 出来る。 やりとりはソケットを使う/JNIを使うなど。
692 名前:デフォルトの名無しさん mailto:sage [2007/03/23(金) 12:15:33 ] >>691 即レスありがとうございます その単語でぐぐったら期待通りのAPIがHITしました!
693 名前:681 mailto:sage [2007/03/23(金) 12:54:47 ] 自己フォローです。 Java XPath API www-06.ibm.com/jp/developerworks/java/060906/j_x-javaxpathapi.shtml > しかし、pre という接頭辞を、www.example.com/books という URI > にマップする必要があります。NamespaceContext インターフェースが > JDK(Java software development kit) や JAXP にデフォルトで実装されてい > ないのは多少ばかげた話ですが、実際にないのです。 この後、記事は「名前空間マッピングクラスを自作する」ことになります。ど うなってるの?何か意見の対立と混乱があるように見えます。 ちょっと使おうと思っただけなのに。弱りました。
694 名前:デフォルトの名無しさん mailto:sage [2007/03/23(金) 13:05:58 ] PS3でFolding@homeが利用可能になりました! タンパク質解析プロジェクトFolding@homeで病気で苦しむ人達を救えるかも。 PS3でFolding@homeしようぜ(Team 2ch) ex22.2ch.net/test/read.cgi/ghard/1174030817/ チーム番号:162 チーム名:Team 2ch fah-web.stanford.edu/cgi-bin/main.py?qtype=teampage&teamnum=162 ☆PS3での参加方法 PS3からFolding@homeを起動し、チーム番号162に入力すればOK。 ユーザ名は何でも良いが、folding.stanford.edu/japanese/download.html にて、名前が既に使われているかどうか確認する事を推奨。 参加の確認としては、「オプション(△)」→「関連サイト」→「チーム処理統計量」と開き、 「Team 2ch」(上記URLのページ)が表示されればちゃんと参加できている。 ☆Folding@homeについて folding.stanford.edu/japanese/
695 名前:デフォルトの名無しさん [2007/03/23(金) 14:02:20 ] File#mkdirsが失敗した場合に その原因を取得する方法ってありますか?
696 名前:デフォルトの名無しさん mailto:sage [2007/03/23(金) 14:23:47 ] >>695 無いよ。 SecurityManager が許可しない場合だけは例外もらうから分かるけど。 mkdir() する前に、作ろうとするディレクトリが既に存在しても失敗するし、 同名ファイルがあってディレクトリ作れなくても失敗するし、 ディレクトリの名前が不正な場合 名前が長すぎたり名前に使えない文字が含まれたり でも失敗するし、 ファイルシステム上の権限がなくてディレクトリを作れなくても失敗する。
697 名前:デフォルトの名無しさん mailto:sage [2007/03/23(金) 14:28:48 ] >>696 そうなんすか…orz 一応isDirectory()で存在しない時だけ作るようにはしてるんですが 何で失敗したのかわからないとどうしようもない…
698 名前:デフォルトの名無しさん mailto:sage [2007/03/23(金) 20:47:55 ] >>693 そもそもAPIは何使ってんだ?JAXP1.3以上? 名前空間のバインディングなんてアプリケーションによっては必要ないし バインドするプレフィックスの数によってデータ構造なり検索アルゴリズムの 最適な実装が変わるから汎用な物は作れないから実装を用意するのは無駄。 バインダくらい自分で書け。愚痴しか書いてないじゃないか?
699 名前:デフォルトの名無しさん [2007/03/23(金) 23:10:02 ] よろしくお願いします。完全に手詰まってしまいました。 環境- マシンA(開発機):Windows XP Pro、IIS6、WebLogic8.1、JavaSDK1.4.13 マシンB(評価機):Windows Server 2003、IIS6 マシンAで開発、デバッグしてOKなものをマシンBに置き換えています。 それぞれにサーブレットクラス1と固定値が書いてあるfinal staticメンバがいるクラス2があります。 マシンAとマシンBではクラス2のfinal staticメンバは違う値が書いてあります。 マシンAでリコンパイルしたクラス1をマシンBに置き換えます。 その後WebLogicを再起動後、マシンBを動かしてみると マシンBでクラス1が参照しているクラス2のfinal staticメンバ変数が マシンAの値となり、エラーが出てしまいます。 クラス2は置き換えていないのに、エラーになってしまいます。 どこかに値がキャッシュされてるとしか思えない動きなのですが、 APサーバを再起動しているのにそういうことがありうるのか、まったくわかりません。
700 名前:デフォルトの名無しさん mailto:sage [2007/03/23(金) 23:16:48 ] キャッシュでハマることはまああるけどそのパターンならキャッシュ以前の話。 マシンA.クラス2をマシンBに"一度も"持っていったことがないはずなのに マシンA.クラス2の値を参照しているなんておかしい。 なんらかの形でいっしょに持っていってしまったとしか思えない。
701 名前:デフォルトの名無しさん mailto:sage [2007/03/23(金) 23:16:54 ] 最適化されてクラス1にその定数の値が埋め込まれちゃってんじゃないの?
702 名前:デフォルトの名無しさん mailto:sage [2007/03/23(金) 23:22:43 ] java.sun.com/docs/books/jls/third_edition/html/binaryComp.html#13.4.9 これじゃね?
703 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 01:13:54 ] 質問です。サーブレットとJAVAって違うの?
704 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 01:24:06 ] >>703 質問です。ゴキブリと害虫って違うの?
705 名前:681 mailto:sage [2007/03/24(土) 01:59:52 ] XPathについての自己フォローです。おそらく解決しました。 何が分からないのか自体をよく分からず調べていたのですが、まとめるとこう なります。 ・XPathの名前空間と接頭辞のバインディングの設定の、Javaでの標準的な方法 は何か? →完全には決まっていない。それを規定するNamespaceContextは、インター フェースだけしかなくて、実装がない。 ・なぜ決まっていないのか? →単にまだ出来ていないだけ。JAXPは現在1.3だが、1.5までには何とか。 ・じゃあ、どうしたらいいのか? →自分で非標準の実装を作るか、privateな内部クラスで使い捨てにするか、ま たは有志の作ったライブラリを利用するか。 ・こういう大事なことがXPath単体でできるようになっていないのはなぜか? →XPathはもともとXSLTのためのもので、XSLT自体がXMLだから、XSLT内に名前 空間宣言をそのまま書けば済んでしまう。 実はXPathを知ったの自体がつい一昨日で、うまく調べられず、ずいぶん無駄な 回り道をしてしまいました。結局、 norman.walsh.name/2006/03/28/jaxpNamespaceContext www-06.ibm.com/jp/developerworks/java/060906/j_x-javaxpathapi.shtml 初見では分からなかったのですが、これらにほぼすべてが書かれていました。 解決に当たって、このスレのやり取りも非常に参考になりました。ありがとう ございます。特に>>685 , >>698 さんには深く感謝します。
706 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 02:27:26 ] 質問者の見本みたいな人だ
707 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 02:33:26 ] >>681 以外の質問者のほとんどがクズに見えてきた
708 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 03:49:46 ] お前ら冷静になって良く見てみろ。箇条書きにしてるだけで結局は 仕様が定める範囲と実装がサポートする範囲と自分で実装しなきゃいけない部分を理解してないし そもそもどのコンテキストでXPathを使いたいのか一度も言ってないんだぞ? XSL内でロケーションを表すのに使うのかプログラム中に直接叩きたいのかすら分からず仕舞だぞ?何を教えろと? 事後報告は当然の事だ。 #XPointerの事もたまにで良いので思い出してあげて下さい。
709 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 10:37:35 ] できて当然のことでも褒めないと人は伸びない
710 名前:デフォルトの名無しさん [2007/03/24(土) 12:03:27 ] >709ごめんなさい…
711 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 12:13:29 ] |/ _., .,、._,r hh.、 y...u,_ 、 、.,., .yl!).彳}゙.^゙冖^^^゙゙'⌒゙゙「{ .〕:!|ァ_ l.r. .rl!.「.゙.′ .゙.^゙「.|^|'!.,.ri,、 _,.u:l 「″ _,..vv-─--v、、.,__゙ ´「 リ゙ .r .-i(┴^ ,.v‐ ′ i!、 厂^'ー、_ .'゙/ .,l| .,.‐'゙r '=, .|ト! .. /_ ┘ _, .[.′ .,r(,,vv!冖h厂 _,、、、,_ ¨゙() .゙゙il|リ冖ミ(ミ,.l|/レ' .|| _,yr!^″ [.zli》ニ《)ミ|l;, |ノ冖ーu「.,zzzzy,{丁′ .!ミ .yr(l「′ 〔″ `.,i^ .〔.!!干「「)v)《フ i| __,/′.} . \,,,,,_,,,,,,vr″ .゙)z ,メ゙'ly |゙/|レr》! } .}.. /,v--r ,、u_:rフ'¬ー^″ ゙ミ 》゙|′ .ミ .| .∨ ,、 {lzトrr┘ \从,,) }:! .《 }}.,rー ミ,,ェ , .'|フ .,,zu厶  ̄ ゙'^ l! ゙|从 》″ | r -:(工ェ」zミv_ n. 〔 .》ト .′ ∨ 7vv=(干=─干ミl||l,_,z ″ 》 .《l,_ .'|! .__ , . ゙̄.. 〕 《^¨′ .゙冖'^^'''冖 v\ } [ 、 . 〕 〔 .′ .」_ .ll′ .| | 」 ._} .hノ .:| ,.. .,.トト 〕 .} .^′ ゙《,_ .、,ノ ...厂、 .il } _ .、 .゙゙'〜 .y,_ _,r;|¨ <、、‐ . ノ .{, 〔 」 ´ ‐ 「ilリiアアァァァ;lllllli(リ゙} ┌ 冫.. .ア \ ∨゙ . _ .- . ' .`゙厂¨厂゙厂'. .゙ 、' .゙. ヽ‐,r| .ノy .´ 、 .: ' ..: .、 ' ` ' _ . .冫 -.',y;|^
712 名前:コン [2007/03/24(土) 13:30:20 ] jsp試したいのにトムキャットの設定がむずくてだめです。 エクリプスは動くし、しかしエクリプスでトムキャットはだめ、 どこかいいサイトあったら教えてください。
713 名前:デフォルトの名無しさん [2007/03/24(土) 14:25:14 ] >712 オレかよ(:D)| ̄|_ =3=3
714 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 14:30:17 ] NetBeans使えばバンドルされてるからそれ使えばいいと思う。 設定が難しいってのには?だが、まあやりたい事の主品はそこじゃないだろうしね
715 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 17:01:50 ] マウスカーソル消す方法ご存知ないですか? Cursorクラス見てもそれらしい設定がないです・・・:
716 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 17:53:52 ] >>715 カーソルを消したいComponentでjava.awt.Component#setCursor(Cursor cursor)を使え。 cursor = Toolkit.getDefaultToolkit().createCustomCursor(new BufferedImage(1, 1, BufferedImage.TYPE_INT_ARGB), new Point(), ""); 与えるImageについては別にこれでないといけないということはない。 Cursorクラスのドキュメントから全て辿れるぞ。もっとドキュメントの読み方を勉強汁。 Component#setCursorはクラス説明の関連項目から。 Toolkit#createCustomCursorはコンストラクタの説明から。
717 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 17:54:18 ] >>715 java.awt.Toolkit#createCustomCursor(Image, Point, String); に透明な Image 渡す
718 名前:デフォルトの名無しさん [2007/03/24(土) 18:31:05 ] 初歩的な質問で恐縮ですが、 <head>内に<link rel="stylesheet" type="text/css" href="css/style.css"> と入れるとjavaが動いてくれません。 色々手は尽くしてみたのですが・・ 原因はなんでしょうか? よろしくお願いします。 <link rel="stylesheet" type="text/css" href="css/style.css"> ↑の一行を外すと動作してくれます。
719 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 18:36:25 ] >>718 style.cssの中でアプレットを無効化してない?
720 名前:718 [2007/03/24(土) 18:44:59 ] >>719 さん 早速のご返答ありがとうございます。 今確認してみましたが、無効となるような設定はしていないようです・・
721 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 18:58:38 ] 実は動いているけど見えないだけとか。 APPLET { width: 0%; } こんなあからさまなのは無いと思うけど。 もう少しcssやhtmlの中身が分からないと何とも言えない。 linkタグやスタイルシートの有無でアプレットの動作が変わるなんて、どちらかというとweb製作板向きの話題かもしれんね。 少なくともその1行が無ければアプレット自身は動作しているわけだし。 もしくは、linkタグやcssの中身をアプレットで検知して動作を変えてるとか…はさすがに無いか。
722 名前:デフォルトの名無しさん [2007/03/24(土) 20:08:06 ] というかCSSファイルの内容の一部を削除していけば、どこが原因かわかるでしょ? ファイル名に/が入ってもいうんだっけ?
723 名前:715 mailto:sage [2007/03/24(土) 21:01:33 ] >>716 >>717 アドバイスありがとうございます。 無事消せました。
724 名前:デフォルトの名無しさん mailto:sage [2007/03/24(土) 21:10:57 ] >>718 css晒せ
725 名前:デフォルトの名無しさん mailto:sage [2007/03/25(日) 10:14:55 ] >>712 TOMCAT_HOME\bin\startup.bat だけで動くじゃん。ハマるぐらいならeclipse経由で起動する必要ない。
726 名前:じゃぎ [2007/03/25(日) 11:22:28 ] こんにちわ。 同一Webアプリケーション内の二つのサーブレット間で 同じ情報を共有したり、同じ情報を恒久的に持っていたりという意図に、 どちらかのサーブレットクラス内、あるいはその他、アクセス可能な クラス内のStaic変数を使ったりするのはいけないんでしょうか。 また、Static変数内のものがSerializableかどうかの有無にも関係 ないんでしょうか。 ここのページのリスト3のように ttp://www.atmarkit.co.jp/fjava/rensai2/jspservlet07/jspsevlet07_2.html application.setAttribute("counter",intCnt); として、applicationや、ServletContextのset(get)Attiributeを使う例を 良く見るんですが、モヤモヤしていて迷っています。。よろしくお願い致します。 過去ログでもうまくみつけられなかったんですが、もし関連したページが あるようでしたら、二言、三言キーワードのようなものを投げて頂ければ ありがたいですます。
727 名前:デフォルトの名無しさん mailto:sage [2007/03/25(日) 11:34:40 ] public static int
728 名前:デフォルトの名無しさん mailto:sage [2007/03/25(日) 11:39:47 ] そのServletクラスに属するべき情報かどうかで使いわけるべき。 「特定のServletクラスが持つ情報」ではなく、 あくまで「複数Servletクラス間で平等に共有するべき情報」なのであれば ServletContextを使うほうがいいだろうね。
729 名前:じゃぎ [2007/03/25(日) 11:50:02 ] 早速ありがとうございます。 ちょっと心配だったのは、Static変数にした場合、一時的には良くても、 ガベージコレクションなどが行われた際に、必ずしも値が保障されなく なったりするのかな。。とか思ったりしてましたが、心配しなくても良い ものなのでしょうか。 あつかましくて申し訳ありませんが、よろしければ、そのあたりのご教授 も頂ければ幸いに思います。
730 名前:デフォルトの名無しさん mailto:sage [2007/03/25(日) 11:51:50 ] GCがstatic破壊するなら何を信じればいいんだろう
731 名前:デフォルトの名無しさん mailto:sage [2007/03/25(日) 11:51:59 ] お願いします。例えば if (list != null && list.size() > 1) {...} でlistがnullの場合、以降の条件式は評価されないようなことに 名称はありますか? また、他の言語では違ったりしますか?
732 名前:デフォルトの名無しさん mailto:sage [2007/03/25(日) 12:02:25 ] GCがクラスローダを回収したらstatic修飾子つきも回収されるけどな
733 名前:デフォルトの名無しさん mailto:sage [2007/03/25(日) 12:08:09 ] >>731 >以降の条件式は評価されないようなこと 特に名称は無い。 が、言い方としては「評価が打ち切られる」などと言われることが多い。 >他の言語では違ったりしますか? C言語なども || や && に限ってはJavaと同じく左から評価される。 ただし、+-*/などの評価順はC言語では不定(決まっていない)。 右から評価されたり、ランダムに評価される実装の言語もあると思う。
734 名前:デフォルトの名無しさん mailto:sage [2007/03/25(日) 12:08:40 ] >>731 ショートサーキット評価
735 名前:デフォルトの名無しさん mailto:sage [2007/03/25(日) 12:11:48 ] >>734 ショートサーキット評価 の検索結果 約 988 件中 1 - 10 件目 (0.17 秒) 知名度は低いな。
736 名前:デフォルトの名無しさん mailto:sage [2007/03/25(日) 12:13:19 ] そうじゃない言語があるとしたら わざわざif文を入れ子で書かないといけないのか。つらいな
737 名前:デフォルトの名無しさん mailto:sage [2007/03/25(日) 12:19:26 ] >>736 VBとか、そうなんじゃなかったっけ
738 名前:デフォルトの名無しさん mailto:sage [2007/03/25(日) 12:19:33 ] >>736 ヒント: ( )で括ればそれが先に評価される if (((a=1) || b=1) && c=1) foobar;
739 名前:731 mailto:sage [2007/03/25(日) 12:21:18 ] >>733 >>734 ありがとうございます。 昔勉強したときに名前が付いていた気がしていたのですが、 質問される立場になったときに、思い出せず、もやもやしてました。 やっとスッキリしました。
740 名前:デフォルトの名無しさん mailto:sage [2007/03/25(日) 12:22:34 ] >>738 いやいや、カッコでくくってもc=1は評価されてしまうから >>731 の例だとぬるぽじゃん?
741 名前:デフォルトの名無しさん mailto:sage [2007/03/25(日) 12:55:59 ] en.wikipedia.org/wiki/Short-circuit_evaluation 俺もショートサーキットという言い方で覚えていたので、 ぐぐったら少なかった(1000行かない)というのは意外。
742 名前:じゃぎ [2007/03/25(日) 13:52:34 ] >>730 >>732 ありがとうございます。setAttributeのほうが、特別推奨される理由が あるとすれば、ガベコレのようなところかなと、つたない頭で考えてました。 >>728 さんにも、スッキリさせて頂きまして、ありがとうございました。 これで安心してサーブレットいじれます。
743 名前:デフォルトの名無しさん mailto:sage [2007/03/25(日) 14:09:49 ] ショートサーキット評価 988件 ショートサーキット演算子 618件 短絡評価 590,000件 短絡演算子 27,500件 訳したら増えたw
744 名前:デフォルトの名無しさん mailto:sage [2007/03/25(日) 14:12:28 ] >>743 しむらー、ぶんかつぶんかつー
745 名前:デフォルトの名無しさん mailto:sage [2007/03/25(日) 14:33:32 ] ""でくくったら激減。 "ショートサーキット評価" 224件 "ショートサーキット演算子" 213件 "短絡評価" 304件 "短絡演算子" 124件 こんなもんなのか。
746 名前:デフォルトの名無しさん [2007/03/25(日) 16:23:20 ] バイナリファイルを比較する簡単な方法はないでしょうか? ……まぁ、 (1)サイズを比較して違ってたら無条件でOUT (2)サイズが同じだったらストリームを二つ開いて、バイト単位で順次比較 とすればいいだけの話ですが、こんなの誰かが作ってるような気がしまして(汗)
747 名前:デフォルトの名無しさん mailto:sage [2007/03/25(日) 16:25:18 ] MD5で比較
748 名前:デフォルトの名無しさん mailto:sage [2007/03/25(日) 16:38:31 ] java.security.MessageDigest(のサブクラス)もありますな。
749 名前:デフォルトの名無しさん mailto:sage [2007/03/25(日) 16:51:17 ] ダイジェスト作る時間があれば順次比較が終ってるだろw >>746 バイト単位の比較でもいいけど、int単位とかで、もっとまとめてやってもいいかもね
750 名前:デフォルトの名無しさん mailto:sage [2007/03/25(日) 16:55:03 ] てきとーなブロック単位でダイジェスト比較していくと効率がいいかもな。
751 名前:デフォルトの名無しさん mailto:sage [2007/03/25(日) 17:05:39 ] >>749 >>746 は簡単に実装できる方法を求めてるから速度は二の次なんじゃないかね? そういう意味でAPI使ってハッシュを求めさせるのはコーディングが簡単だし悪くない方法だと思う。 でも、コリジョンの可能性があるから、同一ハッシュ=同一バイナリとは言い切れないのが問題。
752 名前:デフォルトの名無しさん mailto:sage [2007/03/25(日) 17:14:11 ] >>750 お前、馬鹿だろ。 >>751 ハッシュ求めるより順次比較のほうが簡単じゃないか?
753 名前:デフォルトの名無しさん mailto:sage [2007/03/25(日) 17:23:44 ] あらかじめ MD5ハッシュが算出してあれば、それ比較してもいいけどね。
754 名前:デフォルトの名無しさん mailto:sage [2007/03/25(日) 17:27:46 ] >>751 無駄な上に不確実で最悪な方法だと思うが。
755 名前:デフォルトの名無しさん [2007/03/25(日) 17:28:33 ] 質問主は誰かもう作ってるんじゃないか? っていう質問してるのにお前等ときたら…
756 名前:デフォルトの名無しさん mailto:sage [2007/03/25(日) 17:41:56 ] ハッシュ算出してあるときの話じゃない。 ハッシュを算出するには算出する範囲のビットを全部見る必要がある。 それなら見た時点でお互いを比較すれば済む話。
757 名前:デフォルトの名無しさん mailto:sage [2007/03/25(日) 17:50:16 ] >>755 commons IO の org.apache.commons.io.IOUtils.contentEquals(InputStream,InputStream)
758 名前:デフォルトの名無しさん mailto:sage [2007/03/25(日) 17:57:35 ] これでいいじゃん。MessageDigestも使ってるし、みんなはっぴー。 標準APIじゃなくていいのならapache.commonsにあったと思うが。 public static void main(String[] args) throws Exception { File file1 = new File(args[0]); File file2 = new File(args[1]); boolean flag = true; if (file1.length() == file2.length()) { FileInputStream in1 = new FileInputStream(file1); FileInputStream in2 = new FileInputStream(file2); byte[] buf1 = new byte[1024]; byte[] buf2 = new byte[1024]; while (in1.read(buf1) >= 0) { in2.read(buf2); if (! MessageDigest.isEqual(buf1, buf2)) { flag = false; break; } } in1.close(); in2.close(); } else flag = false; System.out.println(flag); }
759 名前:758 mailto:sage [2007/03/25(日) 18:00:02 ] 書かれてたorz
760 名前:デフォルトの名無しさん mailto:sage [2007/03/25(日) 18:02:56 ] >>758 一致しないときもストリームをcloseした方が綺麗
761 名前:758 mailto:sage [2007/03/25(日) 18:05:47 ] ん?閉じてると思うけど?まあ途中で例外出たらだめだけど。
762 名前:デフォルトの名無しさん mailto:sage [2007/03/25(日) 18:11:49 ] >>761 すまんwhileの外だった }の数を見誤った でもそれはMessageDigestを使ってるといえるのかw
763 名前:デフォルトの名無しさん mailto:sage [2007/03/25(日) 18:37:18 ] ハッシュ(MD5)は予めそれがわかっている場合やそれを保存しておいて 後から再利用するってことならまだ分るんだが、そんな前提もなしに ハッシュを勧める莫迦がなんでこんなにいるんだ?
764 名前:デフォルトの名無しさん mailto:sage [2007/03/25(日) 22:06:41 ] Stringクラスの説明で 「文字列は定数です。この値を作成したあとに変更はできません。」 ってあるんですけど、 String str = new String("123456789"); str = "1"; こんなふうにあとから代入しても、コンパイルエラーも出ず、代入した文字列が表示されるんですけど 変更できないってどういう意味なんですかね?
765 名前:デフォルトの名無しさん mailto:sage [2007/03/25(日) 22:14:57 ] >>764 "abcde"="12345" ってできないってことだ 1=3と同じ
766 名前:デフォルトの名無しさん mailto:sage [2007/03/25(日) 22:19:50 ] >>764 それは、変数の参照先オブジェクトが入れ替わっただけ。 "123456789"で初期化したオブジェクトそのものの内容は変更できない。
767 名前:デフォルトの名無しさん mailto:sage [2007/03/25(日) 22:54:13 ] >>764 str → "123456789" だったのが "123456789" str → "1" になるってこと。元のインスタンスは破壊されない(参照が無くなればガベコレはされるけど
768 名前:デフォルトの名無しさん mailto:sage [2007/03/25(日) 23:15:47 ] HttpURLConnectionでHTMLソースをUTF-8でゲットしてくる際に 文字化けしてるかどうか判定する事ってできますか?
769 名前:デフォルトの名無しさん mailto:sage [2007/03/25(日) 23:29:55 ] >>763 > ハッシュ(MD5)は予めそれがわかっている場合やそれを保存しておいて > 後から再利用するってこと だとしても分かっちゃだめだろ。ファイルが一致することの証左にはならん。
770 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 00:07:21 ] ネットでダウンロードするときに付属してることのあるハッシュコードは 飽くまでパリティチェック的な意味合いでしか使われてないと思う
771 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 01:31:26 ] >>768 httpのヘッダ見れば良いんじゃね?
772 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 01:47:51 ] Exception in thread "main" java.lang.UnsupportedClassVersionError: Bad version n umber in .class file at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(Unknown Source) at java.security.SecureClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.defineClass(Unknown Source) at java.net.URLClassLoader.access$100(Unknown Source) at java.net.URLClassLoader$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClass(Unknown Source) at java.lang.ClassLoader.loadClassInternal(Unknown Source) 続行するには何かキーを押してください . . . 知り合いに聞いたところjavaとjavacのverをあわせれば良いといわれたんですが よくわからない・・誰かたのんます!
773 名前:764 mailto:sage [2007/03/26(月) 01:58:19 ] 回答ありがとうございます。理解できました。 String型の疑問がまだあるんですが、よければ回答お願いします。 メソッドに引数として参照型を与えて、その値を変更すると、int等の基本データ型とちがって 参照先の値が変更されますよね。 そこでメソッドの引数をString型にして、値を変更しても、参照変数が指しているオブジェクトは 変わらないんですが、これは値渡しみたいな事が行われてるんですかね? それともまだ何か勘違いしているんでしょうか static void method( String str ){ str = "java"; } main{ String str = new String("123456789"); method( str ); System.out.println( str );//123....が表示される } 説明下手だったらすいません。
774 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 02:08:03 ] JavaはCと同じくすべて値渡しだ。 参照型であろうとC++のような参照渡しはないので 変数の「指し先」が関数呼び出しで変化することはない。 当然「指し先の内容」が変化することはありえる。
775 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 09:35:53 ] カエレ!
776 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 09:42:26 ] >>774 ネタで言ってるんだよな?
777 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 09:59:07 ] Javaはすべて値渡し。これはもはや常識!
778 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 10:41:15 ] 参照を値渡しする、と言わないと分からない人は一生分かりませんよ。
779 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 10:47:12 ] 参照を値渡しするのとは違うだろ Javaはこの辺りが変
780 名前:デフォルトの名無しさん [2007/03/26(月) 10:53:44 ] コネクションプーリング使うにはネット使わないといけないのね。orz コネクションプールができなくて、3日も鬱になったジャマイカ。
781 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 11:12:57 ] じゃばでぱけっとのもにたりんぐはできますか?
782 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 11:28:53 ] >>779 どう違ってどう変なのか説明plz
783 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 11:34:34 ] C++の参照もあれはあれで参照を狭い意味で使ってるから、 あれしか知らないで参照を語られても困るよな。
784 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 12:05:48 ] >>773 > str = "java"; その例だと参照型の値を変更してるのではなくて、 参照先そのものを変更してる。 // 甲 static void method(Calendar c){ c.add(....); } // 乙 static void method(Calendar c){ c = Calendar.getInstance(); c.add(....); } 甲を呼び出した場合、呼び出し元の c は値が変更されてるが 乙を呼び出した場合、呼び出し元の c は値が変更されない。 乙内で参照される c は新たに別の Calendar オブジェクトを参照してるため、 呼び出し元の c に影響を与えないから。 あなたの例は乙に近い。 なお、String には Calendar の add に相当するような、内部の状態を変更するメソッドはない。 (あると不変オブジェクトではなくなってしまう。) replace も substring も、返り値として String を返す。 元の String を参照しても、replace、substring される前の値と全く変化ない。
785 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 12:11:28 ] >>783 逆 C++でオブジェクトA,Bに関して A=Bとやると痛い目にあう、それは動的アドレスのコピーであるから(純粋な参照)。 JAVAの場合はポインタの概念は無い。 JAVAの場合、A=Bはオブジェクトの代入を示す。 非常に荒っぽい言い方だと、JAVAのソースではオブジェクトの代入はstrcpy、すなはち代入。 だが、JAVAの場合、参照先の値を変えてやると参照元の値も自動的に変わってくれるという、 Cの参照とも純粋な値渡しともつかない擬似参照になる。 おそらく参照元が値を使用する時、毎回値渡しを使用してるのか。 JAVAの参照は便利だがあやふやではある。
786 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 12:13:25 ] 訂正 非常に荒っぽい言い方だと、JAVAのソースではオブジェクトの 参照は ~~~~~ strcpy、すなはち代入。
787 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 13:50:09 ] >>773 >new String("123456789") 関係ないけど"123456789"自体がString型のインスタンスだからそれは冗長 というかなんで不変オブジェクトにコピーコンストラクタがあるのか謎なんだけどたぶん設計ミスだな
788 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 14:14:05 ] >>785 > オブジェクトの代入はstrcpy え?
789 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 14:21:00 ] 少し前のレスくらい読めよ・・・
790 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 14:26:30 ] とっても初心者なのですが 戻り値の意味がわかりません return文とか適当に使っていたもので…
791 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 14:42:42 ] >>789 わからない。代入がstrcpyてどこ読めば理解できる?
792 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 14:43:22 ] ああ、代入じゃなくて参照てことか。 どっちみちわからん。
793 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 15:01:00 ] >>787 new で明示した場合は文字列リテラルが同内容でも共有されなくなる。 結局JITで最適化される気がするけど・・・ お前ら丁度いいとこ見つけたからここ嫁! ttp://javafaq.jp/S008.html ちなみにJavascriptの文字列リテラルにメソッド適応した場合インタプリタが内部で文字列リテラルをStringオブジュクトにラップして捨てる。 つまり、javaと違って文字列リテラルとStringオブジェクトは違う。javaのStringBufferの感覚だ。 ていうかプリミティブ型の単純値は全部Object型のラッパー持ってる。 名前が似てるけど別物って良い例。 ttp://developer.mozilla.org/ja/docs/Core_JavaScript_1.5_Guide:Predefined_Core_Objects:String_Object
794 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 16:53:39 ] >>784 丁寧な説明ありがとうございました。 メソッド内で新しいオブジェクトへの参照が変数に代入されているので 呼び出し元では元のオブジェクトを指しているままなんですね。
795 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 17:20:55 ] >>794 そういうことです。 Stringだけなんとなく特別な印象を受けてしまいがちだけど、 "=" の意味は他の参照型(Object派生型、配列)と変わりません。
796 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 18:41:46 ] >>785 参照先の値を変えたら参照元の値を自動的に変えるって・・・本気で言ってんのか?w Javaにポインタが無いって言葉に騙されてるとしか思えない。
797 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 19:29:14 ] Java の参照は C/C++ のポインタそのものじゃなかろうか。 ポインタ演算を隠してるだけで。 C++の参照(type&)は言語仕様的には別名(alias)と同義で、 内部実装は制約のある参照的なことやってます、だったような。
798 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 19:36:23 ] たった今始めたばかりの初心者です。 ビルドをしたら、「環境変数JDK_HOMEにJDKをインストールしたディレクトリを設定してくだい」と表示されました。 なので、変数を「JDK_HOME」、値を「C:\Program Files\Java\jdk1.5.0_11」にしたのですが、また同じことが表示されます。 どうしたらいいですか?
799 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 19:47:17 ] オブジェクトの渡し方で混乱している奴も多いだろうから、簡単な例を挙げとく。 コピーコンストラクタが正しく定義されていると仮定してくれ。 // C++の値渡し。交換できない。 void swap(Hoge x, Hoge y) { Hoge temp = x; x = y; y = temp; } // C++のアドレス渡し。交換できる。 void swap(Hoge* x, Hoge* y) { Hoge temp = *x; *x = *y; *y = temp; } // Cの参照渡し。交換できる。 void swap(Hoge& x, Hoge& y) { Hoge temp = x; x = y; y = temp; } // Javaの『参照の値渡し』。交換できない。 public static void swap(Hoge x, Hoge y) { Hoge temp = x; x = y; y = temp; }
800 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 19:48:24 ] >>798 開発環境を示さないと何とも言えない。 システム環境変数のJDK_HOMEをJDKディレクトリに設定したのか、 それともIDEの環境変数をJDKディレクトリに設定したのか いくらでも解釈できるから
801 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 22:18:39 ] >>800 あれ?もう1回やったらなぜかできました。 ありがとうございました。
802 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 22:27:25 ] こらこら。 システム環境変数を書き換えたら、IDE(またはコマンドライン)は立ち上げ直さないと駄目だぞ。
803 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 22:59:46 ] >>783 C++における参照の意味は狭いかもしれないけど 値渡し、参照渡しの意味はどの言語でも同じ。 本当の参照渡しを体験したかったらFortranをやるといいだろう。
804 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 23:04:48 ] JavaでPCに送られてくるパケットをフィルタリングすることは可能でしょうか? 可能だったら、役に立ちそうなクラスなんかも教えていただけるとありがたいです。
805 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 23:12:07 ] >>804 標準APIだけじゃ無理。 パケットキャプチャじゃなくて、パケットフィルタリングなのか。 それだと jpcap みたいな外部ライブラリ使っても無理のような。
806 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 23:14:50 ] >>799 それJavaにアドレスの中身を指示する演算子が無いだけちゃうんかと たとえばx.valueとかを交換すれば交換できるだろ
807 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 23:31:36 ] >>806 値の交換とオブジェクトそのものの交換は違うだろう。
808 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 23:36:06 ] >>807 そこが本質じゃないって。 JAVAの場合、オブジェクトはアドレスしか指せない。プリミティブは値しか指せない。 Cは中身もアドレスも指定できる。だからオブジェクトの交換という荒業が出来る。
809 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 23:43:12 ] >>799 > // C++のアドレス渡し。交換できる。 これで交換できるってんなら、 static void swap(Object[] x, Object[] y){ Object temp = x[0]; x[0] = y[0]; y[0] = temp; } とかすれば交換できるって話になっちまうんだが。 「アドレス渡し」とやらは Hoge* 自体の交換ができてないんだから交換できない、とした方が説明が楽。
810 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 23:44:45 ] 質問者の意図とずれた話を続ける事に意味があるのかと問いたい。
811 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 23:46:45 ] >>809 参照渡し/値渡しの説明の文脈では、な。
812 名前:デフォルトの名無しさん mailto:sage [2007/03/26(月) 23:56:53 ] 一般的にはパラメータへの再代入は無意味と覚えときゃいいよ。 なんなら全部のパラメータにfinalをつけてもいいくらい。(Javaのfinalは再代入不可を明示するシンボル。念のため。) コンパイルエラーが出ないのは、互換性のためだろうけど……
813 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 00:07:25 ] 参照渡し/値渡しに関しては 間違ったことを書いているサイトが少なくないな。 2chでは、本は買うな、Webで十分だ、みたいな意見がよく出るけど それも考え物だな。
814 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 00:11:06 ] >>813 俺は実際にプログラミングやっててわかったけどな。 つうか本は参考程度にしか買わないしポインタ関連なんて一冊も買ってない
815 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 00:11:51 ] >>812 >一般的にはパラメータへの再代入は無意味と覚えときゃいいよ。 呼び出し側では意味がないけど、呼び出された側では意味があるんじゃ?
816 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 00:12:50 ] >>809 > static void swap(Object[] x, Object[] y){ Object temp = x[0]; x[0] = y[0]; y[0] = temp; } まかり間違って こーゆーのが普及したりなんかすると 「配列渡し」っていう新語ができるわけだな。たぶん。
817 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 00:16:44 ] 「プログラミングやった」程度で理解した気になる奴ばかりだから、 今までバラバラな見解の悲惨なレスが繰り返されてたんだろ… 利用できるのと仕組みをおさえるのは違う
818 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 00:17:30 ] >>815 意味はあるけど可読性を下げるから推奨しないな >>816 むしろコンテナ渡しかと
819 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 00:46:03 ] >>808 なんで本質じゃないんだよw オブジェクトの中身を書き換えるんじゃなくてポインタ交換ができる/できないの話だよね?
820 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 00:49:13 ] なんで言語の仕組みに関してこんな大議論になってんの? 質問している初心者ならまだしも、回答者側の人間は 信頼できるソースを自分で確認して終わりだろ? まさか皆が皆 >俺は実際にプログラミングやっててわかったけどな。 とか言っている馬鹿と同じなのか?
821 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 00:58:19 ] よくわからないところは俺様解釈で乗り切って 他人にも押し通す、これがJava厨。 こういうテキトーな態度でもなんとなく扱えてしまう言語、それがJava。
822 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 01:10:38 ] >>813 雑誌の記事で Java は参照型は参照渡し…… とか書いてあるの、結構見たような。
823 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 01:32:16 ] core JAVAには、 Javaは参照渡しだとかほざいちゃってる著者が 未だに地球上に存在していてウザイ早く氏ね って書いてある
824 名前:デフォルトの名無しさん [2007/03/27(火) 02:07:04 ] 3人の死刑囚がいます 王様は3人の死刑囚に言いました 「ここに白い帽子3つと黒い帽子が2ある、白か黒どちらかをお前たちにかぶせ 白い帽子をかぶったものが逃げたらそのまま逃がしてやろう、ただし黒い帽子をかぶった ものが逃げたらその場で射殺する」 死刑囚は自分がなに色の帽子をかぶっているかはわかりませんが 他の二人がかぶっている帽子の色はわかります 王様は3人とも白い帽子をかぶせました 3人はしばらく考えた後、自分が白だと確信していっせいに逃げました さて、なぜ自分が白だと確信できたのでしょう? ※アイコンタクトとかそういう答えじゃない
825 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 02:17:29 ] 全員植草教授だった
826 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 03:10:40 ] >>824 A, B, C の3人の一人Aはこう考える: (1)自分Aが黒だったとしよう。 (2)B,Cはそれぞれ、黒(A)と白(BまたはC)を見るはずだ。 そこで彼らはこう考えるはずだ: もし自分B(またはC)が黒だったら、黒は2つしかないのだから、 相手C(またはB)は一人で速攻で逃げるに違いない。 そうではないので、自分は白である。 (3)そこまで考えの至ったBおよびCの二人は自分Aを置いて一斉に逃げるはずだ。 (4)そうではないので、最初の仮定(1)が間違っていて、自分は白である。 そこまで考えの至った3人は一斉に逃げた。
827 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 03:16:14 ] わざわざこのスレに投下したのは プログラマに論理的に考えさせようとしたのか。 それなら俺はあえて逆をいく。 どうせいずれ死刑になるんだからここで射殺されたところで大差ない。 だからいちかばちかで逃げ出してみた でも、これだと「自分が白だと確信して」を満たさないか・・・
828 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 03:22:22 ] 主人公がこんなところで死ぬはずないから、では
829 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 03:23:10 ] 王様が黒い帽子をふたつ手に持っていた。
830 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 03:25:22 ] 3人は日ごろの顧客とのやりとりにより エスパー能力を鍛えられているプログラマーで、 なぜか、自分が白だということを、本能的に過信した。
831 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 03:38:37 ] magcup便利でし。感動しマスタ
832 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 03:42:53 ] 死刑囚である3人全員がそこまで頭が切れるはずがない
833 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 03:51:12 ] Aは>>826 のように考察し逃げることとした。 Bは黒と白の帽子を前にどうしてよいかわからなかった。 Cは黒と白の帽子を前にどうしてよいかわからなかった。 Aが逃げ出したのでBはつれられ逃げ出した。 Aが逃げ出したのでCはつれられ逃げ出した。 Aは射殺された・・・
834 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 04:21:24 ] >>772 まさに「javaとjavacのverをあわせれば良い」 解決策1 % java -version でJREのバージョンを確認。 % javac -version でJDKのバージョンを確認。 JREと同じバージョンのJDKを入れてコンパイルしなおす。 解決策2 javacのバージョンと同じバージョンのjavaをフルパス指定で明示的に呼ぶ。
835 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 04:25:29 ] A=自分が白 B=他二人が白 P(A)=3/5 P(B)=(3/5)*(2/4)=3/10 P(A,B)=(3/5)*(2/4)*(1/3)=1/10 P(A|B)=P(A,B)/P(B)=(10/3)*P(A,B)=1/3 だから確率的には逃げたら負け
836 名前:デフォルトの名無しさん [2007/03/27(火) 08:10:09 ] BufferedReaderのreadLineのブロックを解除したいのですが、どうしたらよいでしょうか
837 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 08:59:10 ] 初心者スレでくだらねえクイズごっこやって楽しいか?
838 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 11:43:27 ] >>824 とりあえず最初にテストしろと言われてるので逃げ出すテストをしてみた
839 名前:804 mailto:sage [2007/03/27(火) 13:30:57 ] >>805 外部ライブラリ使っても無理ですか……。 Javaでは難しい(というか無理)なんでしょうか? 同じことを2度聞くような形になりますが、どうしても諦めきれないので返答お願いします。
840 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 13:39:48 ] >>839 JNI使って奮闘してくれ。
841 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 16:29:57 ] ;;;;彡 ミ;;;;;;;;;;;;;;;ミ ;;;チ' ィ''' ヽ、_ ___,,,,,、`ヾ、;;;;;;ヾ 〃 ./ア三三三三ヾ タィ三三三ッ、 `y;;;;チ ~" ,,=r≡ァ、 ..~ _,,二、 ̄ヾキ };;ネ ー''"` kオッ' ,ヾ';;;, /,,ヒェア,≧ー" };;;ト '" ー‐''" ,;;;; ::'~ヾ…‐ ´~ {;ツ ...,,,;;;;;;;:: ::::... キ::} | ,,' ,r"'、:::: __、 {|ィ/. __ ; .:: :;!、_ | 支 |`ヾ、. . : : : レ' | 力 | _ ,ィ=ヽ、 , '、 ..::  ̄`ー.__| 点.|_ ヽ.: : リ ._| 点 |_[_ `ヽ ヾ、 、 tェ--ニ二~_.\ /ァ ッ / \ /Y l、 ` . i `ヾ‐'ー'ーL_~≧≦二二二二二二二二二二二ナく__,ム ヽ } `、 ` 、 ̄ ¨ ¨ "ノ '/ `ヽ、 `、y-‐ヾヽ´¨ ,,〉 、 `ー = - ' / ヾ、 ゞ、___人_ / \ 、 :::. / ヽ、 ヾ ̄´ ̄ \ :::::::::::.... ...::::リ} 、 ` \::::::::, `ー---- '::::::::/ .ト、 ー _ ¨\;:,, / | `ヽ、 `ヾt、_ \,,......,,,イ ト、 `ヽ、‐―- - - 、、_ !t_
842 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 17:00:56 ] java.io.File#listFiles()ではArrayListをFile[]に変換しているようですが 1.0にコレクションがなかったから互換性のためという解釈でよいでしょうか。
843 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 17:03:58 ] >>840 了解です。ありがとうございました。
844 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 17:12:35 ] >>842 どのように解釈しようが その人の勝手で良いと思われ。
845 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 17:13:17 ] Vectorはあったので、そのつもりがあればVectorにしてたと思う。 配列使うのかコレクション使うのかは、統一とれてないねえ。 真っ当な総称型があるならコレクションで決まりだろうけど erasureなんて導入して・・・アホか。
846 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 17:14:07 ] >>845 Vector があっても、中身が File ってのを保証できないんだがな。1.4 までは。
847 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 17:16:07 ] >>697 isExists()もつかうべき
848 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 17:17:06 ] >>703 ja.wikipedia.org/wiki/Servlet
849 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 17:20:34 ] なぜここに来てそんな遅レスを
850 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 18:34:00 ] 問1 パラメータから得た値をnとして、2のn乗を求めて表示してください。 nの上限は62として、63以上が入るとメッセージを表示するようにしてください。 int型だと2の30乗までになってしまいます。 って問題なんですけど import java.io.*; public class kadai13{ public static void main(String[]args)throws IOException{ @ int i=1; long a=2; while(i<myAnswer){ a*=2; i++; } if(myAnswer<=62){ System.out.println("2の"+myAnswer+"乗は"+a+"です。"); }else if(myAnswer>=63){ System.out.println("2の2乗までしか計算できないよ。"); } } } この@のところに int a=Imterger.parse Int(args[0]) ってのを使って解かなければならないんですが 分かる方教えてください。
851 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 18:45:23 ] この時期に慌てて宿題の丸投げなんかするなよ 単位落としてしまえ
852 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 18:52:26 ] 宿題スレなんてのもあるのにアレだけど、 宿題に答えてやる奴ってなんなのかね? ソフトウェア業界に対するいやがらせ?
853 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 20:45:42 ] いいじゃん。どうせお前ら技術と給料は学生並みなんだから
854 名前:デフォルトの名無しさん [2007/03/27(火) 20:58:30 ] JConsoleにリモートで接続できません。 「接続に失敗しました」という味も素っ気も無いメッセージしか出てこないので、「どのあたりを調べればいいのか」で結構ですのでアドバイスを下さい。 調べたいのはTocatで動いているサーブレットの動作状況です。 サーバのOSはLinux(CentOS)、クライアントはWindowsXPです。 サーバ側でのローカル(Localhost:0)では接続できましたが、やはり可能ならクライアントで監視できれば嬉しいです。 オプションは、JAVA_OPTSに -Dcom.sun.management.jmxremote.port=18080 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false としています。 使っていないポート番号ということで、8004と18080の二つを試したのですが、いずれも×でした。ファイアーウォールはテスト用サーバなので設定していません。 以上、よろしくお願いします。
855 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 22:05:25 ] 初めて質問します、場違いだったらすみません(´・ω・`) 昨日からwinXPでJavaを始めた者なのですが EclipseとNetbeans、どちらの開発環境が使いやすいのでしょうか? また人気なのはどちらか教えて頂けませんか? 宜しくお願いします。
856 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 22:07:28 ] 初心者なら迷わずeclipse
857 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 22:15:36 ] SwingやりたいならNetBeanもいいな。
858 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 22:24:07 ] つかSwingバリバリの事務アプリならNetBeans一択。 手書きでできる程度のウィンドウだけならeclipseも可。 他の部分はeclipseの方が洗練度が高いと思うけど好み次第かな。
859 名前:デフォルトの名無しさん mailto:sage [2007/03/27(火) 22:28:19 ] おお、沢山のお答え有難う御座います>< Swingのことはまだ考えていないので まずはeclipseで慣れてみようと思います。 教えて頂き有難う御座いました。