1 名前:デフォルトの名無しさん mailto:sage [2007/02/24(土) 11:54:09 ] このスレッドは、他のスレッドでは書き込めない超低レベル、 もしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。 Java使いが優しくコメントを返しますが、 お礼はJavaの布教と初心者の救済をお願いします。 Java SunのHome Page www.java.com/ja/ 前スレ くだすれJava(超初心者用) pc10.2ch.net/test/read.cgi/tech/1126470659/l50
252 名前:248 mailto:sage [2007/08/03(金) 11:56:11 ] コマンドプロンプトを使ってjavac Sample6.javaと入れてコンパイルを試みています。
253 名前:デフォルトの名無しさん mailto:sage [2007/08/03(金) 12:06:28 ] まずさー、import mybeans.*; ってのは、以下のソースで mybeans.hoge() とかのmybeans.を省略するためにあるんだから hoge()とかがソース上に無いんだったら書かないでいいんだよ。
254 名前:デフォルトの名無しさん mailto:sage [2007/08/03(金) 12:10:41 ] で、多分 mybeans.hoge() の省略である hoge()はあるんだろう そしてそのmybeansの場所はclasspathに無いと駄目なんで コンパイルしている場所をclasspathに含めるなら、 . を追加しないとね。
255 名前:デフォルトの名無しさん mailto:sage [2007/08/03(金) 12:12:00 ] package も書いてあるのかどうかが気になるけど、まあいいや
256 名前:248 mailto:sage [2007/08/03(金) 12:44:45 ] >>253-255 さんのおかげで解決できました。 classpathってこれのことですよね?と確認するために 変数名:CLASSPATH 変数値:C:\Program Files\Apache Software Foundation\Tomcat 6.0\lib\servlet-api.jar;, と書いたら、\servlet-api.jar;,←セミコロン、カンマとなっていました。 そしてインポート文をimport mybeans.*;にしたらコンパイルできました。 ご迷惑おかけしました。
257 名前:248 mailto:sage [2007/08/05(日) 16:52:34 ] 以下は『やさしいJava活用編第2版』の232ページからの引用です。 import java.sql.*; public class Sample1 { public static void main(String args[]) { try{ //接続の準備 String drv = "com.mysql.jdbc.Driver"; String url = "jdbc:mysql:///cardb"; String usr = ""; String pw = ""; //データベースへの接続 Class.forName(drv); Connection cn = DriverManager.getConnection(url, usr, pw);
258 名前:257のつづき mailto:sage [2007/08/05(日) 16:53:40 ] //問い合わせの準備 Statement st = cn.createStatement(); String qry = "SELECT * FROM car_table"; //問い合わせ ResultSet rs = st.executeQuery(qry); //データの取得 ResultSetMetaData rm = rs.getMetaData(); int cnum = rm.getColumnCount(); while(rs.next()){ for(int i=1; i<=cnum; i++){ System.out.print(rm.getColumnName(i) + ":" + rs.getObject(i) + " "); } System.out.println(""); } //接続のクローズ rs.close(); st.close(); cn.close(); } catch(Exception e){ e.printStackTrace(); } } }
259 名前:248 [2007/08/05(日) 17:14:52 ] 何度も申し訳ございません。m(__)m 上の2レスはMy SQLのデータベースに接続するためのプログラムで、コンパイルは しっかりと通るので載せる必要はなかったのかも知れませんが、java Sample1の実行時 に次のように始まる大量の例外メッセージが出てきてしまいます。 C:\YJKSample\8>java Sample1 com.mysql.jdbc.CommunicationsException: Communications link failure due to under lying exception: ** BEGIN NESTED EXCEPTION ** java.net.SocketException MESSAGE: Permission denied: connect (長すぎて後略します) これはこのスレで相談することでなくデータベースソフト関連の板に当たった方が良いかも しれませんが、何が原因で起きているか判別できる方はいらっしゃらないでしょうか。 他のスレで「やさしいJava」同梱のMy SQLはバージョンが古いと聞いていたので、My SQLも JDBCドライバもTomcatと同様に最新のものをダウンロードしておきました。 My SQLにテキストファイルを読み込ませてデータベースを作成するテストは成功しているので ちゃんと動いているはずなのですが・・・。 本ではJDBCドライバはTomcatのフォルダにコピーするようにとあるのですが、JDKには インストールしないで大丈夫なの?とも思ってしまいます。 すみません!長文を大量に投稿してしまいました。もう少し、調べて問題点を整理してみます。
260 名前:デフォルトの名無しさん [2007/08/05(日) 21:20:17 ] 人間のゴミビンゴ(1列揃えばアウト) @│A│B ─┼─┼─ C│D│E ─┼─┼─ F│G│H @ 無職 A 童貞 B 引きこもり C キモ顔 D 肥満 E 毎日オナニー F 低学歴 G 30歳以上で独身 H 貯金100万未満
261 名前:デフォルトの名無しさん [2007/08/06(月) 02:00:19 ] わからんな。 ソースは間違っていそうにないのだが.... これってDBのデータをjavaで表示するんでしょう? com.mysql.jdbc.CommunicationsException: Communications link failure due to under lying exception: このエラーググッても英語しかないんだよね? これはjavaの質問スレッド板で聞いたほうがいいんじゃないかな?
262 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 02:29:32 ] 問題はその下で実際にMySQLが出したエラーだから、 Permission denied: connect こっちだよな。 connect(2)がPermission deniedすなわち EACCES エラーを 出すのは、手元のBSDのマニュアルによると [EACCES] The destination address is a broadcast address and the socket option SO_BROADCAST is not set. 接続先アドレスはブロードキャストアドレスだがオプションに SO_BROADCASTはセットされていない または Search permission is denied for a component of the path prefix. パスの一部のディレクトリに検索パーミッションが出ていない (パスってことはUNIXドメインソケットの場合限定か) または Write access to the named socket is denied. 名前付きソケットへの書き込みが拒否された。 だそうだ。 あとはMySQLのどこのconnectで実際にエラーになってるか を探すくらいか。
263 名前:248 mailto:sage [2007/08/06(月) 06:22:52 ] >>261-262 教えてGooの似たような問題のトピックで「String drv = "com.mysql.jdbc.Driver"; 」のところが、 「org.gjt.mm.mysql.Driver」のように記述されているのを見たので、自分のソースコードもそれに 変更してみたら、例外の内容が少し変わりました。 java.sql.SQLException: Access denied for user ''@'localhost' (using password: NO ) SQLException: Access deniedでググると例によって教えてGooなどの質問掲示板が続々ヒット するのですが、回答者の多くが、それは読んで字のごとく、SQLへのアクセスが拒否されたことだろうと 説明していました。 MySQLの設定ウィザードでもセキュリティー設定(パスワード)のチェックを外してあるので、 アクセス拒否されるのが信じられないのですが。そのほかファイアウォールを切ってみたり ソースコードを素人なりにごにょごにょいじったりしてみました。 うーん、難しいですね。とりあえずSQLExceptionだとググるとたくさん出てくるのでもう少し粘ってみます。
264 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 08:50:16 ] >>263 >Access denied for user ''@'localhost' (using password: NO) @'localhost' ってことはユーザーを何も指定していないってことだよな? ふつー user@'localhost' みたいになるんじゃね? userのとこが root だっ たりするかもしれんが。
265 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 15:34:17 ] >>264 レスありがとうございます。何とかデータベースへ接続できました! 私も最終的には「ユーザー認証」が問題の根幹なのだろうと的を絞っていました。 先ほど>>263 さんのレスを読んで、もう一度MySQL Server Instance Config Wizard と自分のJavaファイルをいじくって見ました。 「やさJava」では上記のウィザードでパスワードの設定を行わないものとし、セキュリティー設定の 可否のチェックそのものを外していたのですが、しっかりパスワードを設定し、Javaファイルも String usr = "root"; String pw = "(パスワード)"; にしてみたら、コマンドラインからデータベースの内容を表示することができました。 ただ、不思議なのはこういったパターンも以前試したはずですし、Javaファイルを上の ように修正する前にmysqlファイルのようなものが作業フォルダにいつのまにかできて いるのを見て驚いたことです。それは削除しましたが。 JDBCドライバをあらゆるlibフォルダに絨毯爆撃してみるなど、ググってみつけたことを 次々と実行していったので、どれが決め手になったのやらorz
266 名前:デフォルトの名無しさん [2007/08/07(火) 01:51:37 ] やさjavaを終わったら別の本をやれ
267 名前:デフォルトの名無しさん mailto:sage [2007/08/11(土) 01:35:56 ] やらしいjavaとか出版予定はないかな?
268 名前:デフォルトの名無しさん mailto:sage [2007/08/11(土) 11:14:21 ] やさしい心よりやらしい体って山本弘の小説のキャラが言ってた。
269 名前:デフォルトの名無しさん mailto:sage [2007/08/11(土) 15:57:00 ] 他人のソースを読ませてもらって勉強してる初学者ですが すごく違和感を覚える記述に出会いますた これは常識的な(見習ってもいい)書き方なのか教えて下さい こういうクラスがあって public class Team { // (中略) private ArrayList memberList = new ArrayList(); public ArrayList getMemberList() { return memberList; } // (中略) } 別の場所でこうやってる Team team2ch = new Team(); team2ch.getMemberList().add("茂名"); // ← team2ch.getMemberList().add("擬古"); // ← team2ch.getMemberList().add("志井"); // ← getterを通じてメンバ変数の中身をいじる、というやり方は Java(というかOO?)の世界ではありふれた手法なんでしょうか? 変だと思う俺の方こそ変で、認識改めた方がいい?
270 名前:デフォルトの名無しさん mailto:sage [2007/08/11(土) 16:25:31 ] 場合によりけりだけど、個人的には getXxx っていう名前は微妙。 単なる memberList() だったら自分的には許容範囲かな。 teamFoo.memberList().add("bar"); とか。 でもまぁ、その程度なら memberList をそのまま公開するよりか Team#addMember を設けるべきでしょう。 標準ライブラリだと java.util.Map#keySet なんかがそれと似たものかもね。 ちょっと違って、Map の内部フィールドをそのまま返すわけでもないし、 add できなくて remove だけに制限されてるけど。 Map map = new HashMap(); map.put("A", "1"); System.out.println(map.get("A")); // → 1 Set set = map.keySet(); set.remove("A"); System.out.println(map.get("A")); // → null
271 名前:デフォルトの名無しさん mailto:sage [2007/08/12(日) 00:32:30 ] 269です。回答ありがとうです >でもまぁ、その程度なら memberList をそのまま公開するよりか Team#addMember を設けるべきでしょう。 やっぱそうだよね… メンバになってるクラスをそのままreturnするのは 最初からpublicで宣言してるのとあんま違わないというか カプセル化が壊れてるような気分になって… Map系のkeySet()ってノーチェックでした ハッシュキーの一覧が取れて元のハッシュにも(削除系だけ)連動するのか 勉強になりましたー
272 名前:デフォルトの名無しさん [2007/08/16(木) 01:12:41 ] Tomcatがよく動かなくなるのですがどんな理由が考えられるでしょうか? ディレクトリのファイルの内容を動いていた状態に戻しても、まだ動いてくれず弱っています。
273 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 01:33:01 ] 症状を必要かつ十分にもっと詳細に
274 名前:デフォルトの名無しさん mailto:sage [2007/08/16(木) 02:39:21 ] >>272 多分夏バテ 涼しい所で栄養をたっぷりとって休養しよう
275 名前:デフォルトの名無しさん [2007/08/16(木) 17:31:51 ] >>273 ,274 レスありがとうございます。 特にconfディレクトリにルートディレクトリ名のxmlファイルを入れたり、そこのserver.xmlに記述を追加するとダメなようです。 で、自作の上配置したファイルを別の場所に保管してTomcatをアンインストール、再インストールを行いました。 実は再インストール、今回が最初じゃないんです。そんな事もあって伺ってみたかったんですが。まあ、面倒です。
276 名前:デフォルトの名無しさん [2007/08/17(金) 13:46:26 ] どなたでもいいので答えてもらえないでしょうか。 おそらくとても初歩的な問いなのですけど、どう答えていいか分からなくて Q1 以下の条件を満たす変数 count を適切な型で定義してください。 - 整数値のみ - 範囲は 0 〜 32000
277 名前:デフォルトの名無しさん mailto:sage [2007/08/17(金) 13:55:20 ] 候補としては int, short, unsigned int, unsigned short 「適切な」の解釈によるがintでいいんとちゃうの。
278 名前:デフォルトの名無しさん [2007/08/17(金) 14:00:59 ] >>227 ですよね。私もそんな感じだと思ってはいたんですけど、 「適切な型で定義」って書いてあるのでどう答えていいか 分からず書き込んだのですが。 では答えとしては>>227 さんの答えていただいた感じでいんですかね?
279 名前:デフォルトの名無しさん mailto:sage [2007/08/17(金) 14:04:43 ] int -2147483648 〜 2147483647 short -32768 〜 32767 unsigned int 0 〜 4294967295 unsigned short 0 〜 65535
280 名前:デフォルトの名無しさん mailto:sage [2007/08/17(金) 14:06:04 ] ってっこjavaスレだよな、、、
281 名前:デフォルトの名無しさん [2007/08/17(金) 14:10:46 ] >>279 問題の - 整数値のみ - 範囲は 0 〜 32000 とはどういうことなんでしょうか? 範囲は0〜32000てことはint型の-2147483648〜2147483647 は該当するのでしょうか? 本当に低レベルな質問ですみません。勉強を始めて間もない者ですので。
282 名前:デフォルトの名無しさん mailto:sage [2007/08/17(金) 14:23:42 ] javaスレなのにunsigned はつられただけだけだけど、 まあその範囲が収まればいいんじゃない? short も iont も範囲内だけど 適切な、というのが範囲内で最も近い、ということなら short になるんじゃない?もちろん int も正解だろうけど
283 名前:デフォルトの名無しさん [2007/08/17(金) 14:30:26 ] >>282 レスありがとうございます。 教材だけだと説明など書いてあっても、聞くことができないので こういう場や答えてくれる方に感謝します。 ありがとうございました。
284 名前:デフォルトの名無しさん [2007/08/18(土) 19:11:44 ] Web上から画像を読みこんで表示するGUIプログラムを作ろうと思っています。 java.net.*のHttpURLConnection()でなんとなくデータをダウンロードすることはできました。 ぐぐってたところ、画像を表示するためにjava.awt.Imageを使えばよさそうだと思ったのですが使いかたがわかりません。 サンプルコードか、参考になるページを教えていただけませんか
285 名前:デフォルトの名無しさん mailto:sage [2007/08/18(土) 22:29:55 ] java.awt.Toolkit と java.awt.Graphics
286 名前:デフォルトの名無しさん [2007/08/19(日) 00:01:21 ] ありがと。精進します
287 名前:デフォルトの名無しさん [2007/08/23(木) 01:47:52 ] 例えばクラスAとクラスBがあるとします。クラスAである値を取得してそれを クラスBで取得したい場合どうすればよいでしょうか?その値はstatic変数に 格納しないでpublicなアクセッサ(getter/setter)を使用したいです。現在JDeveloper を使用して試行錯誤してますが、getterメソッドがstaticではありませんと 怒られています。
288 名前:デフォルトの名無しさん mailto:sage [2007/08/23(木) 08:26:45 ] staticなコンテクストからgetterメソッドを呼んでるからじゃん javaをもう一度最初から勉強し直した方がいいよ
289 名前:デフォルトの名無しさん mailto:sage [2007/08/23(木) 08:30:36 ] A a = new A(); a,setFoo("hoge"); B b = new B(); b.setBaa( a.getFoo() ); こういうことがやりたいのか?
290 名前:デフォルトの名無しさん mailto:sage [2007/08/23(木) 10:44:26 ] それともBをAの集約クラスにして Bが持っているAのインスタンスが取得した値を Bのメソッドの中で使用したいってこと? class B { A a; someMethod() { ... a.getter() ... } みたいに この場合A#getterがインスタンスメソッドなのに someMethodがクラスメソッドならgetterがstaticじゃないって怒られる
291 名前:初心者 [2007/08/25(土) 10:01:12 ] <PC環境> ★Windows Vista Home Premium, Eclipse3.2, Tomcat5.0.28 //インストーラを使わずzipから展開, C:\Program Files\Java\jdk1.5.0_07, C:\Program Files\Java\jre1.5.0_07 <環境変数>JAVA_HOME: C:\Program Files\Java\jdk1.5.0_07 Path: %JAVA_HOME%\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem 1. コンソール(cmd)からjavaもjavac も動く。 2. localhost:8080/ でTomcatのトップページが表示される。そこからたどったJSPのサンプルは正常に作動。 <問題> だけど、Eclipseで自作したプロジェクト名sampleのsample/hello.jspは localhost:8080/sample/hello.jsp からは動かずに500エラーが出る。 hello.jspの中身は<%new java.util.Date()%>の一文だけ。 /* 500エラーの詳細 HTTPステータス 500 - 説明 The server encountered an internal error () that prevented it from fulfilling this request. 例外 org.apache.jasper.JasperException: JSPのクラスをコンパイルできません 原因 Unable to find a javac compiler; com.sun.tools.javac.Main is not on the classpath. Perhaps JAVA_HOME does not point to the JDK */ なんとかhello.jspを表示させることはできませんか? Vistaじゃできないのかな。勉強できない。超参った。
292 名前:初心者 mailto:sage [2007/08/25(土) 12:41:54 ] 環境変数CATALINA_HOMEにTomcatのルートディレクトリを指定したら動きました。 Vistaのせいではなかった…。修行が足りんね。
293 名前:デフォルトの名無しさん mailto:sage [2007/08/25(土) 16:46:04 ] 文字列で指定したコマンドを実行するには、どうしたらいいでしょうか。 例えば、System.out.println()コマンドを実行したければ、 Runtime rt = Runtime.getRuntime(); Process ps = rt.exec( "System.out.println(\"hoge\")" ); のようにすればいいのでしょうか?
294 名前:デフォルトの名無しさん mailto:sage [2007/08/25(土) 19:11:06 ] System.out.println()はコマンドじゃない。 やりたいことによっては楽にできるが、 本当に System.out.println() を実行したいなら初心者レベルでは 無理。
295 名前:デフォルトの名無しさん mailto:sage [2007/08/25(土) 20:31:24 ] JRuby あたりからガツンとやったほうが楽なような気がしますー
296 名前:初心者 mailto:sage [2007/09/02(日) 12:46:00 ] JSPやサーブレットをGUIで組めるようなエディタないですかね(ガイシュツ?) エクリプスのvisualeditorだとSWINGとかしかできない希ガス・・
297 名前:デフォルトの名無しさん [2007/09/10(月) 01:50:41 ] java6は出ましたか?
298 名前:デフォルトの名無しさん [2007/09/20(木) 15:40:48 ] swingでpaintとpaintComponentがありますが、どこが違うのですか? どちらもrepaintを呼び出すと実行されるので、違いは内容に思うのですが。
299 名前:デフォルトの名無しさん mailto:sage [2007/09/20(木) 17:11:22 ] paintは、まずpaintBorderを呼んで、次にpaintComponentを呼んで、最後にpaintChildrenを呼ぶ。 paintをオーバーライドすると、ボーダーと子コンポーネントが描かれなくなる。
300 名前:デフォルトの名無しさん mailto:sage [2007/09/20(木) 17:57:18 ] MyClass a,b,c; a = new MyClass(); //インスタンス1 b = new MyClass(); //インスタンス2 c = a; a = b; としたときに、cはどのインスタンスになりますか。
301 名前:デフォルトの名無しさん mailto:sage [2007/09/20(木) 18:04:27 ] 宿題? インスタンス1
302 名前:デフォルトの名無しさん mailto:sage [2007/09/20(木) 18:20:36 ] >>301 宿題じゃないのですが助かりました。有難うございます。 Cのポインタへのポインタみたいな参照方法を調べていました。 privateなメンバクラスをコンストラクタ引数で渡して 他のクラスから参照するような事をしていたのですが、 スコープを広げて参照しないとダメですね。
303 名前:デフォルトの名無しさん mailto:sage [2007/09/22(土) 23:53:45 ] >>302 privateメンバの参照先を外部から 変えられちゃったらそもそもprivateの意味ないしねぇ。 それだったらsetterなり使って 適切な順序踏んで値設定するべきだと思うけど
304 名前:デフォルトの名無しさん mailto:sage [2007/09/23(日) 00:34:48 ] >Cのポインタへのポインタみたいな参照方法 a = new MyClass(new MyClassItem()); b = new MyClass(new MyClassItem()); c = new MyClass(a.getItem()); a.setItem(b.getItem()); setter/getterでコピー渡しをしない場合これでc.getItem() == b.getItem()になるはず まあ普通はこんなコードは書かないけどw
305 名前:デフォルトの名無しさん mailto:sage [2007/09/23(日) 00:43:48 ] 間違えた。 三行目c = a;か。
306 名前:デフォルトの名無しさん mailto:sage [2007/10/05(金) 05:09:04 ] FrameとPanelってどう使い分ければいいのでしょうか? 同じだとしか思えません。
307 名前:デフォルトの名無しさん mailto:sage [2007/10/05(金) 07:51:05 ] Frameの中にFrameは作ることはできないし、 Frameの外にPanelを作ることはできない。
308 名前:デフォルトの名無しさん mailto:sage [2007/10/05(金) 10:18:19 ] Frame⇒一番外側(枠付) Panel⇒内部コンポーネント 基本的にFrameは1つだけ 中にPanelを組みあわせて配置する そういうフレームワークになっているだけ
309 名前:デフォルトの名無しさん [2007/10/09(火) 02:05:25 ] TreeSetの入れ子構造って可能なんですか? つまり、 TreeSet<TreeSet<String>> tree = new TreeSet<TreeSet<String>>; TreeSet<String> t = new TreeSet<String>(); t.add("a"); t.add("b"); TreeSet<String> v = new TreeSet<String>(); v.add("1"); v.add("2"); tree.add(t); tree.add(v); Exception in thread "main" java.lang.ClassCastException: java.util.TreeSet という例外になってしまうのですが。
310 名前:デフォルトの名無しさん mailto:sage [2007/10/09(火) 02:14:41 ] >>309 TreeSetが.Comparableでないから無理
311 名前:デフォルトの名無しさん [2007/10/09(火) 02:48:21 ] ありがとうございました。
312 名前:デフォルトの名無しさん mailto:sage [2007/10/09(火) 23:58:22 ] BufferedImageをプログラム上で印刷するにはどうしたらいいでしょうか。 javax.print というのがあるのは調べましたが、使い方がわかりません。
313 名前:312 mailto:sage [2007/10/10(水) 00:53:41 ] 自己解決しました。
314 名前:デフォルトの名無しさん [2007/10/13(土) 21:58:32 ] 多少筋違いの質問ですが、 最新のJDK6、Tomcat6.0と障害おこしませんか?OSはWindowsXP service pack2です。 ちなみに私、現在は前ヴァージョンの5.0を入れなおして使っております。
315 名前:デフォルトの名無しさん [2007/10/16(火) 10:38:38 ] 以下のプログラムの Blackbox を C=250 に変更させて 起動するにはどう修正したらよいか回答せよ。 public void main(String[] args){ try{ ServerSocket serverSocket = new Blackbox(55555); serverSocket.setSoTimeout(0); while(serverSocket!=null){ Socket Blackbox = serverSocket.accept(); ・ ・ socket.close(); } }catch(IOException e)System.out.println(e); }
316 名前:デフォルトの名無しさん mailto:sage [2007/10/16(火) 12:03:05 ] >>315 何様?
317 名前:デフォルトの名無しさん mailto:sage [2007/10/16(火) 12:36:52 ] 宿題スレに行け
318 名前:デフォルトの名無しさん mailto:sage [2007/10/16(火) 15:13:54 ] スクリーンセイバーにあるような宇宙空間を作りたいのですが 一から始めるのは難しいので少しづつ弄って覚えようと思ってます。 どこかにソースを公開してるサイトがありましたら教えてくれませんか?
319 名前:デフォルトの名無しさん mailto:sage [2007/10/16(火) 16:20:25 ] あれって単に、白い点を少しずつ大きくしながら、画面中央から端に向かって動かしてるだけじゃないか? 3次元的な処理は何もないから簡単そうだ
320 名前:デフォルトの名無しさん [2007/10/16(火) 19:15:27 ] 学校で↓のクラスを使ってプログラムを作らなければいけないんですけど 考えてみたんですがわかりません。どなたか教えてください。 public class SimpleAdder3 { public int add(int x, int y) { ←x = 10, y = 20 return x + y; } public double add(double x, double y) { ←x = 0.5, y = 0.6 return x + y; } }
321 名前:デフォルトの名無しさん mailto:sage [2007/10/16(火) 19:17:28 ] >>320 どこまでを考えて、どこからが分からないの?
322 名前:デフォルトの名無しさん [2007/10/16(火) 19:19:06 ] クソの集まり創価学会 偽善者が政治活動、公明党 ネズミ講、騙されバカ信者、池田犬作チョン大教祖様、さっさと死ねや
323 名前:デフォルトの名無しさん [2007/10/16(火) 19:30:12 ] pc11.2ch.net/test/read.cgi/tech/1172285649/320 class SimpleAdder3Usage { public static void main(String[] args) { SimpleAdder3 s; s = new SimpleAdder3() ここら辺まであってますか?
324 名前:デフォルトの名無しさん [2007/10/17(水) 07:43:53 ] >>323 メソッドのオーバーロードは古いヴァージョンでは戻り値が同じ型を要求するので注意が必要。 ここ数年のヴァージョンなら君が書いたように戻り値が異なっていてもOK。 ただし、えてしてメソッドをオーバーロードする意味がある場合は少ないといえる。皆無と言っていい。 オーバーロードはコンストラクタ用の技と割り切る事を薦める。 なので、ここではメソッド名を変えておいた。(インデントはちゃんとやる事。) class SimpleAdder3 { public int add(int x,int y){ return x + y; } public double add2(double x, double y) { return x + y; } } public class SimpleAdder3Usage { public static void main(String[] args) { SimpleAdder3 s; s = new SimpleAdder3(); System.out.println(s.add(10,20)); System.out.println(s.add2(0.5,0.6)); } }
325 名前:デフォルトの名無しさん mailto:sage [2007/10/17(水) 08:50:21 ] >>323 s.add(10,20);って感じで値が取れるからそれを出力すればおk >>324 プリミティブ型ごとにオーバーロードすると、呼び出しをしたときにキャストとか接尾子とかで汚くなることがあるからな。 俺だったらaddInt、addDoubleって名前付けるけどな。 ま、↓のクラスを使ってって書いてあるから突っ込まなかったんだが。 それだったらaddをstaticメソッドに変えてSimpleAdder3.addInt(10 ,20);とかにしちゃうけど、 これは課題で求められているものではないだろうな。
326 名前:デフォルトの名無しさん mailto:sage [2007/10/17(水) 15:55:44 ] >>319 できましたが、 点を2個以上に増やすとすべて同じ動きになってしまいますorz public class Anime_2 implements Runnable{ Anime_1 an; public Anime_2(Anime_1 an){ this.an=an; } public void run(){ while(an.circle_x<200){ try{ Thread.sleep(200); an.circle_x=an.circle_x+4; an.circle_y=an.circle_y-1; an.repaint(); } catch(InterruptedException ie){ } } } } 点が一つの場合はこういう風に記述しました。 circle_x2とcircle_y2を追加して式も記述したのですがダメでした。。。
327 名前:デフォルトの名無しさん mailto:sage [2007/10/17(水) 16:14:14 ] 点を2個以上に増やしたソースも出せばどこが悪いか指摘もできる 同じ動きっていうことから推測するとxyの移動量を+4とか-1とか決め打ちにしてるからじゃないのか
328 名前:デフォルトの名無しさん mailto:sage [2007/10/17(水) 16:54:50 ] >>326 画面外に逃げていくような方向で、 大きくなるにつれて速くしていけばいい
329 名前:デフォルトの名無しさん mailto:sage [2007/10/17(水) 18:15:00 ] 3次元でランダムに星をばらまいたデータ作って視野面に投影した方が簡単そう
330 名前:デフォルトの名無しさん mailto:sage [2007/10/19(金) 06:47:29 ] フレームをバックグラウンド(非アクティブ)にした状態でマウスイベントの取得はできますか? できるならばその手法について教えてください‥どこを探しても載っていないので本当に実現できるか心配でorz
331 名前:デフォルトの名無しさん mailto:sage [2007/10/19(金) 20:06:27 ] jdk-6u3-windows-i586-pをインストールして、pathを通そうと思ったんですけど、 通りません。自分のシステム環境変数は path=c:\usr\local\bin;c:\gs\gs7.07\bin;%SystemRoot%;%SystemRoot%\system32;%SystemRoot%\wbem;c:\gs\gs7.07\lib;c:\dviout;C:\Program Files\ QuickTime\QTSystem\;%JAVA_HOME%\bin; classpath=ip;.;C:\Program Files\QuickTime\QTSystem\QTJava.zip;.;C:\Program Files\Java\jdk1.6.0_<version>\lib QTJAVA=C:\Program Files\QuickTime\QTSystem\QTJava.zip JAVA_HOME=C:\Program Files\Java\jdk1.6.0_<version> となっています。コマンドプロンプトでjavacとうってもバッチファイルとして認識できませんと出ます。 アドバイスください。
332 名前:デフォルトの名無しさん mailto:sage [2007/10/19(金) 20:57:56 ] コマンドプロンプトから set PATH して環境変数表示させてみ?
333 名前:デフォルトの名無しさん mailto:sage [2007/10/19(金) 23:29:33 ] jdk1.6.0_<version>がそのままjdk1.6.0_<version>なんじゃねえのw
334 名前:デフォルトの名無しさん [2007/10/20(土) 00:50:07 ] >>331 環境変数のボックス上で上部にあるユーザー環境変数の方が入力できるなら、 そちらにJAVA_HOMEとPath(%JAVA_HOME%\bin)の二つを作成してみたら? あと333の言うとおり<version>なんてしないで普通ディレクトリ名をそのまま書くとしたものだが。それ最新のテク? でもやめたほうがいいと思う。
335 名前:デフォルトの名無しさん mailto:sage [2007/10/20(土) 01:18:16 ] 質問スレとのマルチ
336 名前:デフォルトの名無しさん mailto:sage [2007/10/20(土) 03:02:10 ] <version>のとこをどうすればいいんですか。初心者なのでわかりません。
337 名前:デフォルトの名無しさん mailto:sage [2007/10/20(土) 03:08:08 ] 実際に存在するフォルダの名前にある数字しろ
338 名前:デフォルトの名無しさん mailto:sage [2007/10/20(土) 03:09:07 ] まああきらめずやってればそのうちいいことあるよ がんばれ初心者
339 名前:デフォルトの名無しさん mailto:sage [2007/10/20(土) 03:13:17 ] コマンドプロンプトset pathしてみたところ、 PATH=c:\usr\local......省略................;(c:\Program Files\Java\jdk1.6.0\bin PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC と出ました。
340 名前:デフォルトの名無しさん mailto:sage [2007/10/20(土) 03:55:30 ] > ;(c:\Program Files\Java\jdk1.6.0\bin その括弧は何なんだよw 悪いこと言わないからWindowsの使い方から勉強しなおせ
341 名前:孤独なOL mailto:sage [2007/10/20(土) 15:33:56 ] 牛田モーミンといいます。大都会の片隅で×いちで孤独なOLをしています。 >>331 Pathの設定のところが、 \Java\jdk1.6.0\bin になっていたら、 \Java\jdk1.6.0_03\bin に書き直してみてください。 旧バージョンのJDKをアンインストールしても、そのときのPathが残るので 新バージョンに合わせて書き直す必要があります。 CLASSPATH のところは %CLASSPATH%;. だけで十分のはずですが QuickTime関連が必要で消せないのなら \Java\jdk1.6.0_<version>\lib を \Java\jde1.6.0_03\lib にしてください。
342 名前:孤独なOL mailto:sage [2007/10/20(土) 15:39:38 ] JAVA_HOME=C:\Program Files\Java\jdk1.6.0_<version> この部分も 私のパソコンには存在しないのですが、必要なら JAVA_HOME=C:\Program Files\Java\jdk1.6.0_03 にしてください。 おそらくあなたは書籍を参考にして<version>なる記述を手作業でしたのでしょうね。 次回からは最新のJDKをインストールするときは、環境変数を全て見直してJava関連の 記述を全て消去して、インストール後にどのような記述が自動的に追加されるのか 確認したほうがいいでしょう。 がんばってください。 あなたの モーミンより
343 名前:デフォルトの名無しさん mailto:sage [2007/10/20(土) 20:12:17 ] ?
344 名前:デフォルトの名無しさん [2007/10/21(日) 23:17:19 ] エクスプローラのアドレスバーを表示させて、binフォルダまでたどっていき アドレスバーから、こぴぺすりゃおkなんだがな。Windows初心者にはわからんのだろうな。 かく言う俺も当時はそうだったからよくわかる。 要は、1文字もまちがえずにbinフォルダまでのパスをかきなさいってことです。 そのパスを参考にWindowsがコンパイラを動かしたりするんだから。1文字でもまちがえたら Windowsはコンパイラの場所をさがせないから。 それは、そうとJavaのわかりにくさは異常だな。やればやるほどいやになる。
345 名前:デフォルトの名無しさん [2007/10/21(日) 23:21:24 ] パスってのは、C:\Program Files\Java\jdk1.5.0_13\binとかね。 Windowsがコンパイラを探すとき、このフォルダを探すわけ。ようするに 上のフォルダにコンパイラは入ってるわけ。俺の環境だと。 これが1文字でもまちがえてたら、当然コンピュータはコンパイラの場所を見つけられない。 Excelの関数名を1文字間違えても動くか??もしくは電子メールを送るとき相手のメルアドを 1文字でも間違えても届くか?という話と一緒。
346 名前:デフォルトの名無しさん [2007/10/21(日) 23:24:20 ] さらにややこしい事に、Javaはバージョン名をフォルダ名にしているわけだ。 jdk1.5.0_13←これは俺のバージョンであり、フォルダ名でもある。 質問者のバージョンがわからない。付属CDからインストールしたのか ダウンロードしてインストールしたのかによっても当然違う。いつインストールしたかによっても当然違う。 このフォルダ名を間違わず記述する事。
347 名前:デフォルトの名無しさん mailto:sage [2007/10/22(月) 00:08:25 ] C/C++/C#をメインにやってきましたが こんどjavaも必要になったので入門本を検討してます。 おすすめの本はありますか? ぱっと見だとC#とかなり似てますね
348 名前:デフォルトの名無しさん mailto:sage [2007/10/22(月) 02:43:49 ] 常に一つのバージョンしかインストールしないのなら適当にjdkとかディレクトリ作って そこに常にインストールすればいい。環境変数の設定は1回やっておけば使い回しが効く。 何も馬鹿正直にインストーラのデフォルト設定に従う必要なんてない。
349 名前:デフォルトの名無しさん mailto:sage [2007/10/22(月) 02:49:18 ] >>347 C++やSmalltalkやC#やJavaScript等の言語の集大成がJavaだからC#とかなり似ている部分もあるんよ つまり後発の言語だから他の言語のいいとこ取りしていてとても使いやすい良い言語だぜ
350 名前:デフォルトの名無しさん mailto:sage [2007/10/22(月) 06:28:15 ] >>349 は誤解の元
351 名前:デフォルトの名無しさん mailto:sage [2007/10/22(月) 08:14:38 ] 誤解の元っていうより、明らかに間違ってるだろw 誤情報を与えようと意図して書いてる気はするけど。
352 名前:デフォルトの名無しさん [2007/10/22(月) 11:59:28 ] 初心者です、質問させてください J2ME Wireless Toolkit ってやつをダウンロードしたら、 【数字十数個-integrated.jnlp JNLP File】 ってやつができました。それをクリックするとダウンロードマネージャーって のが出てくるんですが、そこから先がどうすればインストールまで行けるのか わからないので教えて下さい。よろしくおねがいします