1 名前:テンプレ(1/3) mailto:sage [2009/11/21(土) 17:58:46 ] プログラミング言語Javaに関する質問スレです。 JavaScript, Ajaxの質問は、ここでは受け付けていません。 Web製作管理 ttp://pc11.2ch.net/hp/ Webプログラミング ttp://pc11.2ch.net/php/ をご利用下さい。 よくある質問 ・「コマンドまたはファイル名が違います」 「'javac' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。」 「Exception in thread "main" java.lang.NoClassDefFoundError: 」 ttp://www.wikiroom.com/java/?path,classpath ・String に == は使うな。equals() を使え。 ・「\12288 は不正な文字です。」 文字リテラル以外で全角スペースは使えません。半角スペースに。 ・その他の質問→「APIのjavadoc見ろ」 前スレッド ★★Java質問・相談スレッド133★★ pc12.2ch.net/test/read.cgi/tech/1253376151/ 次スレは>>950 あたりで。 過去ログ、関連スレッド、よくある質問とその回答など、 質問をする前に、貴方が見なければならないサイトについての情報は、 下のwikiのページにまとめてあります。 ttp://www.wikiroom.com/java/
651 名前:デフォルトの名無しさん mailto:sage [2009/12/19(土) 15:37:39 ] >>646 NetBeansですね 今やこれ以外の選択肢は無いでしょう
652 名前:デフォルトの名無しさん mailto:sage [2009/12/19(土) 16:48:15 ] >>651 NetBeans の検索結果 約 5,540,000 件中 1 - 100 件目 (0.66 秒) Eclipse Java の検索結果 約 17,000,000 件中 1 - 100 件目 (0.63 秒) 検索件数が倍になったら教えてね。
653 名前:デフォルトの名無しさん mailto:sage [2009/12/19(土) 16:51:41 ] NetBeans +開発 +Java -JavaScript -C -PHP -Ruby -SVN -CVS の検索結果 約 122,000 件中 1 - 10 件目 (0.28 秒) Eclipse +開発 +Java -JavaScript -C -PHP -Ruby -SVN -CVS の検索結果 約 903,000 件中 1 - 10 件目 (0.29 秒) ああ
654 名前:デフォルトの名無しさん mailto:sage [2009/12/19(土) 16:59:48 ] NetBeansって名前がダメだよね 豆だもん、豆。
655 名前:デフォルトの名無しさん mailto:sage [2009/12/19(土) 17:04:53 ] JavaBeansさんをdisってんの? disられてもしょうがないと思うけど
656 名前:デフォルトの名無しさん mailto:sage [2009/12/19(土) 17:05:24 ] >>654 Javaェ...
657 名前:デフォルトの名無しさん mailto:sage [2009/12/19(土) 17:08:39 ] ......
658 名前:デフォルトの名無しさん mailto:sage [2009/12/19(土) 20:38:23 ] 日曜プログラマーはふつうにC#やれよ。 なんでこのスレに来るんだ?
659 名前:デフォルトの名無しさん mailto:sage [2009/12/19(土) 21:21:55 ] クラスローダを明示的に呼び出している操作の事を、リフレクションと読んでいるのですか? リフレクションする時は、*.getClass();ってやっているじゃないですか
660 名前:デフォルトの名無しさん mailto:sage [2009/12/19(土) 21:46:45 ] >>659 違います。getClasはクラスローダの呼び出しでもありません。
661 名前:デフォルトの名無しさん mailto:sage [2009/12/19(土) 22:47:40 ] >>660 わかりました ありがとうございます
662 名前:デフォルトの名無しさん mailto:sage [2009/12/19(土) 23:03:16 ] SwingUtilities#paintComponent(Graphics g, Component c, Container p, int x, int y, int w, int h) p - 中間 Container javadocを見てもパラメータpの意味がわかりません どなたか教えてください
663 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 05:24:26 ] >>662 教える人を呼んできますね。
664 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 10:03:33 ] pっていうのは、最終的なcの描画対象コンポーネントだと思っていいみたい。 pがCellRendererPaneならばそれがそのまま使われるし、そうじゃなかったら、CellRendererPaneを新たに作成して、それにpを乗せる感じ。
665 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 11:00:43 ] >>664 thx
666 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 11:47:08 ] JNIを多用し、システムに負荷をかけると性能があまり出なくなりました。 先輩にJNIでC言語のプログラムをよんだとき、C言語のプログラムが確保したメモリって Full GCでしか開放されないからだといわれたのですが、Full GCはあまりはしっていません。 JNIを使用すると、Full GCを意図的に誘発するようにしなければならないのでしょうか?
667 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 11:53:58 ] いや、単にJNIが遅いだけ 最近はJITコンパイルの性能も高いから、Javaだけで書ける処理ならJavaだけで書いた方が大抵の場合速い JNIは、どうしてもCでしか出来ない場合 (OSのAPI呼び出し等) や、 JNIのオーバーヘッドを無視できるような場合 (1回の呼び出しで大量のデータを処理する等) でないと、無意味 あと、Cで確保したメモリはGCは面倒見てくれないから自分で解放しなければならない
668 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 12:24:54 ] >>664 呼んでからどれだけ待たせるんだw
669 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 12:49:08 ] 「15歳からはじめるJavaオンラインゲームプログラミング教室」という本を書店で見つけて、 ステップアップのための本として読みやすそうだと思いましたが、その本について調べてみると 子ども向けということで一歩踏み込んだ説明が省かれてしまっているとのことでした。 ゲームプログラミングのようなとっつき易い内容で、もう少し詳しい説明が書かれた良書は 何かないでしょうか?ご存知の方、どうぞご教示ください。
670 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 12:53:58 ] >>667 出番だよ さっさと回答してやれ
671 名前:667 mailto:sage [2009/12/20(日) 12:57:53 ] 本の善し悪しはわからん 誰か回答してやってくれ
672 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 13:00:23 ] 本読まないで始めた奴の方が多いだろうしな
673 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 13:26:51 ] スレチしてしまったのでここで改めて質問します。 Canvas3Dをフレームの領域指定して貼り付けたいのですがどうすればいいでしょうか? 例えばフレームサイズが(500,400)として,Rect(10, 10, 390, 390)くらいの領域だけで3D描画を行わせたり等がしたいです。
674 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 13:33:42 ] オフスクリーンに描画して切り取ったのをコピーすればいいんじゃね?
675 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 13:39:29 ] >669 細かい説明なんて2冊目で読めばいいから、 1冊目は立ち読みしてみてわかりやすい本でいいと思う まさか1冊で終わるわけないし。
676 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 13:44:56 ] Java3Dやらんから的外れかもしれないけど、普通にコンポーネント化して フレームに貼り付けるんじゃね?
677 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 14:03:03 ] Javaの入門書について質問です。 多言語で実務経験があるものがJavaを学習するのにオススメの入門書ってありますか? 今のところ独習Javaの購入を検討しています。 実務経験はC:4年、VB5.0:1.5年、VB2005:1年、VC6.0:0.5年といったところです。
678 名前:673 mailto:sage [2009/12/20(日) 14:07:10 ] >>674 >>676 ありがとうございます。これから本・ネットで調べてその方法で出来るか試してみます。 ただ出来れば具体的な解決策を例示してくれるとありがたいです。
679 名前:669 mailto:sage [2009/12/20(日) 14:19:34 ] >>672 本を読まずに覚えた人は代わりにどうやって勉強したんでしょうか・・・? >>675 1冊目はもうすぐ読み終わりそうです。 実用的なスキルが身についていないので、ゲーム等を実際に作って覚えるための 2冊目の本を探してます。
680 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 14:23:05 ] >>678 おいおい、ヒントだけじゃ出来ませんってか? 例えば www7.plala.or.jp/keny01/java3d/java3d_pg_introduction.html とか。 これにしたって、AppletはPanelなんだからFrameとかに貼り付けられる立派なコンポーネントだぜ。
681 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 14:32:08 ] >>679 >本を読まずに覚えた人 JDKを読む。 sunのチュートリアルを読む。 samplesを読む。 src.zipを読む。 Jakartaなどオープンソースのコードを読む。
682 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 14:55:57 ] >JDKを読む。 | % od -h java_xx_sdk-x_xx-jdk-xuxx-xxxl.bin | | フムフム、なるほど・・・・ \  ̄ ̄ ̄|/ ̄ ̄ ̄ ̄ /つ_∧! ∧_∧ 〈(゚д゚ ) ( ・∀・) ヽ ⊂ニ) (つ/ ̄ ̄ ̄/ |  ̄\/___/ ̄ ̄ ̄
683 名前:デフォルトの名無しさん [2009/12/20(日) 15:37:11 ] Javaはサンプルソースがてんこ盛りだから本なんかいらない
684 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 15:50:49 ] Java 本 に一致する日本語のページ 約 2,610,000 件中 1 - 10 件目 (0.20 秒) C++ 本 に一致する日本語のページ 約 1,490,000 件中 1 - 10 件目 (0.26 秒) JavaScript 本 に一致する日本語のページ 約 12,600,000 件中 1 - 10 件目 (0.09 秒) PHP 本 に一致する日本語のページ 約 15,200,000 件中 1 - 10 件目 (0.37 秒) C 本 に一致する日本語のページ 約 35,100,000 件中 1 - 10 件目 (0.15 秒)
685 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 15:57:58 ] サンプルは基本がわかった上で参考にするものだろ
686 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 16:05:44 ] >>684 本だけとか、Cだけとか、JavaよりC!、みたいな検索結果も混じってるんでない?
687 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 16:11:47 ] >>683 てことは、このスレもいらないわけだね。
688 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 16:18:13 ] >>685 sunのサイトにあるSwingのチュートリアル読んで来い。 それにしかかいてない大事なことがいくつかある。
689 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 16:20:20 ] チュートリアル ≠ サンプル
690 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 16:31:12 ] >>688 これ? java.sun.com/docs/books/tutorial/uiswing/index.html
691 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 16:33:26 ] まあ、プログラミングの基本がある程度しっかりできてれば、 ソースだけみてもかなりのことがわかるだろう。 プログラミングの基本を知らない人間は、本かなんかで勉強しないと、 いきなりソースコードだけみてもわからんかもしれない。
692 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 16:41:35 ] Cヒープとは何をする領域なのでしょうか? こちらは開発上、意識する領域なのですか?
693 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 16:46:20 ] 誤爆やスレ違いでなかったら、javaのヒープと同じものと言えば分かるかな? newは無いからmallocなどで確保する。
694 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 17:05:56 ] ん?
695 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 17:34:35 ] Class.forNameでロードしたクラスはシステムクラスローダにロードされるのでしょうか? それともVM次第なのでしょうか?
696 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 17:36:43 ] javadocに書いてあるけど > Class.forName("Foo") > これは、次と同じです > Class.forName("Foo", true, this.getClass().getClassLoader())
697 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 17:37:43 ] >>695 java.sun.com/javase/ja/6/docs/ja/api/java/lang/Class.html#forName (java.lang.String) > 指定された文字列名を持つクラスまたはインタフェースに関連付けられた、 > Class オブジェクトを返します。このメソッドを呼び出すことは、次の記述に相当します。 > > Class.forName(className, true, currentLoader) > > ここで、currentLoader は、現在のクラスを定義するクラスローダを示します。
698 名前:669 mailto:sage [2009/12/20(日) 17:50:03 ] >>681 なるほど、他人のソースを読むということですね。 でも私はまだそのレベルに達してないと思いますし、 移動中に読みたいので、やはり本がいいと思っています。 どうぞよろしくお願いします。
699 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 18:08:13 ] オブジェクトをインスタンス化すると確保されるメモリ領域には変数以外何があるんですか? メソッドについては参照が保持されるのですか?
700 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 18:48:43 ] >>698 www.amazon.co.jp/gp/product/4797344512 ぶっちゃけ、Java(やC#)でゲーム作ってるひとって、C/C++でのゲーム作成経験者が大半じゃない?
701 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 19:10:24 ] ワタシイングリッシュヨメマセーン
702 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 19:47:45 ] >>699 まずは人に聞く前に質問できるくらいの勉強はしてこようね
703 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 20:25:29 ] 現在自作のクラスのclone()を実装しようと思って色々やっているのですが、 フィールドにjava.awt.Shape型の変数があり、これのclone()を呼び出したいのですが、 if( shape instanceof RectangularShape ){ ((RectangularShape)shape).clone(); }else if( shape instanceof 〜 ){ 〜 } て感じでif-elseをつなげていくしかないんでしょうか?リフレクション辺りで色々やってみたんですが コンパイルすら通りません。ちょっとお手上げです・・・
704 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 20:48:30 ] HashMapや自作のBeanを簡単にディープコピーする方法はあるのでしょうか? 新たにnewして、値を入れないとダメなのですか?
705 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 20:49:32 ] >>703 Cloneable だけテストすれば済むんじゃないの?
706 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 21:05:45 ] shape = new GeneralPath(shape); とか
707 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 21:09:42 ] >>703 いろいろあるけど直列化と逆直列化をしてコピーするとか?
708 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 21:17:29 ] >>700 ゲームが作りたいのではなくて、Javaが使えるようになるために とっつき易いゲームを選ぼうとしているだけです。 アマゾンでは >javaの本ではなくゲームプログラミングの本なのでこの本でjavaを勉強したいという人にはオススメできません とコメントされているようです・・・。 一度立ち読みでもしてみます。 ありがとうございました。
709 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 22:11:25 ] Javaのシステムってスレッドを多重化することでパフォーマンスがあがるといいますが、 CPUは数個しかないと思うので、100スレッド多重としてもあまり意味がないと思います。 何多重にすればよいのかは、どういう計算で求めるとよいのですか?
710 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 22:11:31 ] >>677 それは他言語で実務経験があるとはいわない。 VB.netに手が馴染まなかったのなら、java,c#ともやっても馴染まないだろう。 どの実務があるか知らないけど、最新PCを買ってlinux(virtualpcとかでも)のcでopenglやgtk+をやるといいと思うよ。 javaなら英語のチュートリアルだけど、もし読めないなら5年以上この業界にいるのに英語も読めないのだからもうあきらめた方がいい。
711 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 22:16:46 ] ベンチマークして求めればいい
712 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 22:25:17 ] >>709 何かの本にはCPUの数+1くらいと書いてあった
713 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 22:29:36 ] javaでゲームとか言い出しても実際はjoglだしね。 c#だとdirectxでこれも使う言語に関係ないし。
714 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 22:48:00 ] >>710 は何で偉そうなの?
715 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 22:59:27 ] >>703 JavaのCloneableは失敗作 コピーコンストラクタでおk 詳しくはEffective Javaを参照
716 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 23:04:06 ] 英語すら読めないならjavaなんぞ無理だな
717 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 23:07:57 ] 海外で暮らしてた俺ならJavaは余裕ってことか?
718 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 23:11:16 ] アフリカ辺りですか?
719 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 23:12:40 ] いや。韓国ですOrz
720 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 23:36:39 ] ・・・
721 名前:デフォルトの名無しさん mailto:sage [2009/12/20(日) 23:59:27 ] 英語できるような賢い子がなんで底辺プログラマなんてやってんの?
722 名前:デフォルトの名無しさん mailto:sage [2009/12/21(月) 00:02:59 ] でも辞書引きながらでも英語よまないと情報全然足りないじゃん
723 名前:デフォルトの名無しさん mailto:sage [2009/12/21(月) 00:04:10 ] アメリカ行けば英語できるのに底辺の仕事やってる奴が掃いて捨てるほどいるぞ。
724 名前:デフォルトの名無しさん mailto:sage [2009/12/21(月) 00:05:09 ] 今時、英語も読めないんなら底辺プログラマーすらやってられないのよ。
725 名前:デフォルトの名無しさん mailto:sage [2009/12/21(月) 00:06:12 ] その前に日本語勉強して下さい^^;
726 名前:デフォルトの名無しさん mailto:sage [2009/12/21(月) 00:07:10 ] >>718 イギリスです
727 名前:デフォルトの名無しさん mailto:sage [2009/12/21(月) 00:14:26 ] >>724 で、英語も出来て月給はいくらもらえるんですか?
728 名前:デフォルトの名無しさん mailto:sage [2009/12/21(月) 00:25:53 ] >>699 メソッドはクラスがロードされる時だろうね。
729 名前:デフォルトの名無しさん mailto:sage [2009/12/21(月) 00:46:37 ] >>708 ゲームって(もちろんものによるけど)結構特殊なので、Javaを学ぶ目的には あまり適してないと思うんだけどね。 例えばゲームループって呼ばれる手法、WindowsSDKを生で使う場合には 普通にGUIのアプリを作るにも似たようなことするんだけど、 Javaで同じことする場合にはライブラリが隠蔽してくれてるので気にする必要なかったりとか。 で、入門書にはそういうゲームに特化したテクニックはあまり書いてないだろうし、 普通のJavaの使い方はそれとは別に覚える必要があると思うし。
730 名前:デフォルトの名無しさん mailto:sage [2009/12/21(月) 00:54:40 ] >>704 CommonsのLangにそういうのあるみたいね。使った事ないけど。 commons.apache.org/lang/api-release/org/apache/commons/lang/SerializationUtils.html#clone (java.io.Serializable)
731 名前:デフォルトの名無しさん mailto:sage [2009/12/21(月) 00:56:49 ] ゲームってのは、言語+英語+数学がある程度できないと無理。 javaとかc#とかライブラリ的なところはあまり重要でない。
732 名前:デフォルトの名無しさん mailto:sage [2009/12/21(月) 00:58:29 ] 何故英語?
733 名前:デフォルトの名無しさん mailto:sage [2009/12/21(月) 01:02:53 ] 英語英語言う奴とコミュ力コミュ力という奴の中身はだいたい同じ
734 名前:デフォルトの名無しさん mailto:sage [2009/12/21(月) 01:02:56 ] ゲームのテクはほとんど英語で書いてある。 実際は、業務アプリの数十倍の努力が必要。
735 名前:デフォルトの名無しさん mailto:sage [2009/12/21(月) 01:10:22 ] まあ、英語に比べれば Java なんて 1000倍易しいな。 で、Java に馴れるには、まずは List や Map をごちゃごちゃとこねくり回すような題材がいいな。
736 名前:デフォルトの名無しさん mailto:sage [2009/12/21(月) 01:14:14 ] で、数十倍の努力してお幾ら稼いでるんですかね。
737 名前:デフォルトの名無しさん mailto:sage [2009/12/21(月) 01:15:09 ] 海外のサイトから情報が汲み取れないバカのためにここがある
738 名前:デフォルトの名無しさん mailto:sage [2009/12/21(月) 01:15:15 ] Javaはチュートリアル(英語)で挫折するかどうかだろ。 それで挫折するようなら見込みないし素直にC#(かVB)にしろ。
739 名前:デフォルトの名無しさん mailto:sage [2009/12/21(月) 01:18:08 ] 英語英語言ってる奴が日本語読めない事はわかった
740 名前:デフォルトの名無しさん mailto:sage [2009/12/21(月) 01:19:18 ] オブジェクト指向の本はJAVAの方が揃っているから JAVAのほうがいいと思う
741 名前:デフォルトの名無しさん mailto:sage [2009/12/21(月) 01:20:58 ] 低学歴+底辺無能+日本人は、C#(マイクロソフト)を使ってIT土方として一生汗を流してればよろし。
742 名前:デフォルトの名無しさん mailto:sage [2009/12/21(月) 01:22:36 ] 僻みっぽいスレだな
743 名前:デフォルトの名無しさん mailto:sage [2009/12/21(月) 01:30:13 ] >>741 在日乙
744 名前:デフォルトの名無しさん mailto:sage [2009/12/21(月) 01:37:11 ] >>741 みたいな奴って、どの板にもいるね ゴキブリみたいにいっぱい繁殖してるの?
745 名前:デフォルトの名無しさん mailto:sage [2009/12/21(月) 02:08:16 ] >>705 すみません。よくわかりません。 Object型にキャストしたところでObject#cloneはprotectedだし、なんらかのcloneを呼べる型にしないとダメなのでは >>707 それも同等の問題でできあませんね >>706 Shapeならそれで済みますね。new Area(Shape型)で >>715 失敗作ですか・・・今回のディープコピーでの手こずりでJavaをちょっと嫌いになりました。好きだったのに・・・ 皆さんありがとうございました。 結局今回は、インスタンスの型がある程度絞られていたのでめんどかったけど、>>703 の方法で実装しました。
746 名前:デフォルトの名無しさん mailto:sage [2009/12/21(月) 02:11:09 ] >>744 ゴキブリにはコンバットがよく効く コンバット置いてから俺の部屋でゴキブリを見たことがない
747 名前:デフォルトの名無しさん mailto:sage [2009/12/21(月) 02:58:46 ] >>715 見てEffectiveJava読み直したんだけど、コンパイル時に型が決まってないと駄目だとか protectedだからリフレクションで云々とか、正に>>703 が直面してる問題がそのものだね。 ちなみにリフレクション使うんだったらやりたいことはこうかな? Method method = Object.class.getDeclaredMethod("clone", new Class[] {}); method.setAccessible(true); Shape cloned = (Shape) method.invoke(shape, new Object[]{});
748 名前:デフォルトの名無しさん mailto:sage [2009/12/21(月) 03:45:21 ] PHPでは $className = "Foo"; $obj = new $className(); とするとFooインスタンスを作成することができるのですが Javaで同じようなことをしたい場合どうしたらいいのでしょう? String className = "Foo"; Foo obj = new className(); //これでは当然無理です
749 名前:デフォルトの名無しさん mailto:sage [2009/12/21(月) 04:26:42 ] String className = "Foo"; でString型の"Foo"という文字列を持ったインスタンスが生成される んだけどPHP知らないからすごい別次元臭がする
750 名前:デフォルトの名無しさん mailto:sage [2009/12/21(月) 05:38:41 ] >>748 Class.forName("Foo").newInstance();
751 名前:デフォルトの名無しさん mailto:sage [2009/12/21(月) 06:14:37 ] www.klab.ai.kyutech.ac.jp/~yatti/sunspot/index.php?%E5%8A%A0%E9%80%9F%E5%BA%A6%E3%82%BB%E3%83%B3%E3%82%B5%E3%82%92%E4%BD%BF%E3%81%86 こっちのSunSpotの加速度センサのプログラムを少し変えたのですが、うまく動きません。 Stateクラス、 public class State { int state = 5; public void setState(int state){ this.state = state; } public void callState(){ //このstateが1と0になり続ける状態を作りたい… System.out.println("come :"+state); } } を作って、LEDが点灯している、していない状態を管理したいのです。 ↑のWikiのLEDFlash.javaの public void thresholdExceeded(IAccelerometer3D accel, int axis, double val, boolean relative) { //閾値より高い値ならばLEDを青色に点滅させる 以降のif文の前者がLEDを点灯させる、else以降がLEDを消灯させるプログラムです。 これは閾値を超えた時だけ呼び出されます。 このifの点灯させる所にst.setState(1);消灯させる所にst.setState(0);を書いても、超えてる時はちゃんと1と0になってるんですが、 放置したら(閾値を超えてない状態)デフォルトの数値のままになってしまいます。(つまり5) 確認はAccelerometerTest.javaクラスの加速度の測定をしているスレッドでst.callState();をして確認をしています。 AccelerometerTest.java、LEDFlash.java、どちらのクラスでもState st = new State(); と書いてるのがマズいんでしょうか…だとしたらどうしたら良いんでしょうか?