1 名前:デフォルトの名無しさん mailto:sage [2010/05/23(日) 21:23:03 ] プログラミング言語Javaに関する質問スレです。 JavaScript, Ajaxの質問は、ここでは受け付けていません。 Web製作管理 pc11.2ch.net/hp/ Webプログラミング 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質問・相談スレッド138★★ pc12.2ch.net/test/read.cgi/tech/1272685619/ 次スレは>>950 あたりで。 過去ログ、関連スレッド、よくある質問とその回答など、 質問をする前に、貴方が見なければならないサイトについての情報は、 下のwikiのページにまとめてあります。 www.wikiroom.com/java/
357 名前:デフォルトの名無しさん mailto:sage [2010/06/07(月) 06:26:37 ] >>354 メンバ変数だからインスタンス生成と同時にfalse初期化されるんじゃね? 違ってたらごめん >>351 public boolean infectionにしたらどうなる?
358 名前:354 mailto:sage [2010/06/07(月) 14:05:00 ] ごめんな、アンカー間違えてた。ぶっ飛ばすのは>>353 じゃないから >>357 配列のインスタンスを生成してるだけでhumanクラスのインスタンスを生成してないんじゃないかってこと。 human[] list = new human[5]; for(int i=0; i<list.length; i++){ list[i] = new human(); } 後ろのfor文の部分が無いんだろ
359 名前:デフォルトの名無しさん [2010/06/07(月) 15:48:04 ] javaの勉強を始めようと思ったのですが >>3 に書いてある **** 開発環境が必要の場合は **** ■ J2SE 5.0 (1.5.0) ttp://java.sun.com/j2se/1.5.0/ja/ ■ Java SE 6 ttp://java.sun.com/javase/ja/6/ この2つの違いはなんですか?あとどっちがオススメか教えてくださいな
360 名前:デフォルトの名無しさん mailto:sage [2010/06/07(月) 17:40:13 ] 違うもののように見えるけど単にバージョンの付け方が違うように見えるだけ J2SE 5.0の次のバージョンがJava SE 6。 勉強する目的ならJava SE 6でいいと思う。
361 名前:デフォルトの名無しさん [2010/06/07(月) 18:20:04 ] >>360 わかりました!ありがとうございます! それでは早速勉強するか・・・
362 名前:デフォルトの名無しさん [2010/06/07(月) 18:55:59 ] コマンドプロンプトから直接テキストエディタを開きたいのですがどうすればいいのでしょうか? 学校に置いてあるmacだとemacs &でemacsが起動するのですが・・・
363 名前:デフォルトの名無しさん mailto:sage [2010/06/07(月) 18:56:07 ] >>320 ばりばりあるだろ requestって前の状態しか保持しないだろ 毎回毎回request.getParamater("うんこ");なんてだるいだろ。 ログイン状態保持できるsessionのほうがぜんぜんましで扱い易い。
364 名前:デフォルトの名無しさん mailto:sage [2010/06/07(月) 18:56:50 ] >>322 そもそもsessionとかrequestとかいったものはPHPが登場する前のCGIから あったものなのだが。 まさかお前それ知らないで適当なこといってるんじゃないよな?
365 名前:デフォルトの名無しさん mailto:sage [2010/06/07(月) 18:59:41 ] >>323 LayoutManagerで指定したレイアウトによって改行できるかどうか違うなあ あとJPanelを使う場合によっても あとJTextAreaという選択肢が terai.xrea.jp/Swing/GlyphVector.html
366 名前:デフォルトの名無しさん mailto:sage [2010/06/07(月) 19:02:26 ] >>329 Delphiわからんし興味ないからDelphiのコードのことはDelphiスレで聞け!(激怒
367 名前:デフォルトの名無しさん mailto:sage [2010/06/07(月) 19:03:19 ] >>331 >>333 いい加減、宿題は自分でやろうぜ
368 名前:デフォルトの名無しさん mailto:sage [2010/06/07(月) 19:05:52 ] >>338 BorderLayout使うのやめてかわりに GridBagLayoutあたりでもつかってみてはどうかな あとPanelごとにレイアウトマネージャーを指定するのもあり
369 名前:デフォルトの名無しさん mailto:sage [2010/06/07(月) 19:10:41 ] >>359 勉強するだけなら後者がおすすめ
370 名前:デフォルトの名無しさん mailto:sage [2010/06/07(月) 19:16:54 ] >>362 emacsかviがインストールされたcygwinをインストールする 市販またはフリーウェアまたは自作したテキストエディタを起動する 秀丸ならhidemaru.exeがインストールされているディレクトリを環境変数PATHに追記し hidemaruと入力すれば起動 メモ帳なら コマンドラインからnotepadと入力してエンター ワードパットなら コマンドラインからwriteと入力してエンター そんなのよりEclipseかNetBeansをインストールした方がはやいんじゃないの
371 名前:デフォルトの名無しさん mailto:sage [2010/06/07(月) 21:27:25 ] Javadocから検証パッケージ?を簡単に生成する方法はありませんか? Javadoc見ながらちまちま自分で作ってコンパイルすればいいのですが、それでは時間がかかります。
372 名前:デフォルトの名無しさん mailto:sage [2010/06/07(月) 22:14:19 ] 「検証パッケージ」って何よ?
373 名前:デフォルトの名無しさん mailto:sage [2010/06/07(月) 22:21:01 ] メソッドシグネチャだけコピーしたJARファイルじゃないかね とエスパー予想 コンパイル時はこれだけあればいいよね、みたいな。
374 名前:デフォルトの名無しさん mailto:sage [2010/06/07(月) 22:24:22 ] >>372 MIDPの場合ですが、 import javax.microedition.midlet.MIDlet; みたいな記述があった際、ビルドする時にmidp_2.0.jar内の javax/microedition/midlet/MIDlet.class を参照します。 その中にない関数だとかがあるとビルドが通らないとかいうやつです。 どうやらbootclasspathとかいうみたいです。
375 名前:デフォルトの名無しさん mailto:sage [2010/06/07(月) 22:56:28 ] いずれにせよ適切なクラスパスの指定(ライブラリの準備)が必要なわけで、 モックを自動生成したところで、見かけ上のコンパイルエラーが 消える以上のメリットはないように思うけど。
376 名前:デフォルトの名無しさん mailto:sage [2010/06/07(月) 23:05:59 ] それって preverify ってツールにやってもらうんじゃない? MIDPのページとか探しても、APIから一々そんなことやってないみたいだし。
377 名前:デフォルトの名無しさん mailto:sage [2010/06/07(月) 23:07:38 ] もちろんMIDPとか門外漢だから勘違いだったら流しといてね。
378 名前:デフォルトの名無しさん mailto:sage [2010/06/07(月) 23:18:04 ] >>371 >Javadocから検証パッケージ?を簡単に生成する方法はありませんか? Javadocの吐いたHTMLだけが手元にあるんだね? ちょっくらHTMLソース眺めたが、マイクロフォーマットの類が皆無に近いので メソッドシグネチャの復元は無理。以上。
379 名前:デフォルトの名無しさん mailto:sage [2010/06/07(月) 23:21:10 ] Servletについて質問です。 HTTPServletを継承してServletクラスを実装する際、 init()メソッドに初期化処理を書けばインスタンス化時に 初期化が行えるということなのですが、 コンストラクタで行ってはいけないのでしょうか?
380 名前:デフォルトの名無しさん mailto:sage [2010/06/07(月) 23:23:43 ] >>378 >Javadocの吐いたHTMLだけが手元にあるんだね? その通りです。 復元についてはjavadocを元にメソッドの復元はできます。 が、それを手っ取り早くやりたかったのです。
381 名前:デフォルトの名無しさん mailto:sage [2010/06/07(月) 23:26:07 ] >>379 コンストラクタではサーブレットパラメータやサーブレットコンテキストなどの 環境情報が取れない。そういうのが必要なければコンストラクタでやれば良い。
382 名前:デフォルトの名無しさん mailto:sage [2010/06/07(月) 23:59:30 ] >>381 環境情報が必要な際に使うのですね。 ありがとうございます。
383 名前:デフォルトの名無しさん mailto:sage [2010/06/08(火) 06:29:18 ] >>382 うむ。
384 名前:デフォルトの名無しさん mailto:sage [2010/06/08(火) 11:50:04 ] 手頃なHTTPの通信クラスってありますかね? コネクションプールが考慮されてるモデル希望です。
385 名前:デフォルトの名無しさん mailto:sage [2010/06/08(火) 13:15:07 ] jakarta-commons-http-client
386 名前:デフォルトの名無しさん mailto:sage [2010/06/08(火) 13:51:34 ] サーバーの方はないですか? http,ftp共に希望します。
387 名前:デフォルトの名無しさん mailto:sage [2010/06/08(火) 14:36:51 ] >>374 逆に質問して悪いけど 何故そんなことが必要なのか教えて頂きたい 自分もMIDPやってるんで、後学のために
388 名前:デフォルトの名無しさん mailto:sage [2010/06/08(火) 15:05:14 ] >>386 Jetty
389 名前:デフォルトの名無しさん mailto:sage [2010/06/08(火) 15:36:18 ] アパッチを組み込もうとしてましたけどjettyも検証してみます。
390 名前:デフォルトの名無しさん mailto:sage [2010/06/08(火) 15:49:25 ] >>385 オフィシャル行ったらnot found・・・。 socketクラス使って自力でやろうと思うけど KeepAlive中に相手のcloseって検知出来ないのかな? poll的なことが出来ればいいんだけど。
391 名前:デフォルトの名無しさん mailto:sage [2010/06/08(火) 15:56:44 ] >>385 > オフィシャル行ったらnot found・・・。 [Other mirrors: ] で、kddilabs か riken を選べ。 meisei-u だと not found.
392 名前:デフォルトの名無しさん mailto:sage [2010/06/08(火) 15:58:59 ] おお、そうなのか。 d
393 名前:デフォルトの名無しさん mailto:sage [2010/06/08(火) 16:31:50 ] jettyのドキュメントを少し読んでみましたけどインタフェイスやクラスが多くて複雑ですね。 サーブレットサポートは魅力的ですが、http,ftpサーバの組み込みだけでいいので他に無いでしょうか。
394 名前:デフォルトの名無しさん mailto:sage [2010/06/08(火) 16:38:16 ] // h.java (c)1999-2004 W.Finlay McWalter. Licence: GPLv2.0 // v1: me: initial version // v2: me: squished down by four lines // v3: Jonathan Headland: removed a couple of redundant checks // v4: Engelbert Gruber: changed input stream to a BufferedReader // v5: me: small speedup/codesize-reduction in writeBytes length code // v6: Luke: replaced StringTokenizer with split, saving two lines // v7: Luke: made FileInputStream anon me: GET->GE //----------------------------------------------------------------- import java.net.*;import java.io.*;public class h extends Thread{ Socket c;public h(Socket s){c=s;start();}public static void main( String[]a){try{ServerSocket s=new ServerSocket(8181);for(;;){new h( s.accept());}}catch(Exception e){}}public void run(){try{ BufferedReader i=new BufferedReader(new InputStreamReader(c. getInputStream()));DataOutputStream o=new DataOutputStream(c. getOutputStream());try{String s,p;while((s=i.readLine()).length()>0 ){if(s.startsWith("GE")){p=(s.split(" "))[1];p=("."+(p.endsWith("/" )?p+"index.html":p)).replace('/',File.separatorChar);int l=(int)new File(p).length();byte[]b=new byte[l];new FileInputStream(p).read(b) ;o.writeBytes("HTTP/1.0 200 OK\nContent-Length:"+l+"\n\n");o.write( b,0,l);}}}catch(Exception e){o.writeBytes("HTTP/1.0 404 ERROR\n\n") ;}o.close();}catch(Exception e){}}}
395 名前:デフォルトの名無しさん mailto:sage [2010/06/08(火) 17:07:02 ] そのマクヲルターさんはセレクターとか使うスキルはないんですか?
396 名前:デフォルトの名無しさん mailto:sage [2010/06/08(火) 17:09:00 ] >>394 細かいですけど一応バグってますよ。そのコードは。
397 名前:デフォルトの名無しさん mailto:sage [2010/06/08(火) 18:17:19 ] >>387 Javadocの吐いたHTMLだけが手元にあり、スタブクラスがないので。 もちろんMIDPは単なる例に過ぎないけど、やることは携帯アプリについてだね。
398 名前:398 mailto:sage [2010/06/08(火) 22:40:01 ] javaで作ったソフトウェアはパソコンだけでなく、携帯でもそのまま動いてくれるのでしょうか。
399 名前:デフォルトの名無しさん mailto:sage [2010/06/08(火) 22:51:57 ] 質問する前にちょっとは自分で調べたらどうか
400 名前:デフォルトの名無しさん mailto:sage [2010/06/08(火) 23:26:01 ] >>390 ほらよ hc.apache.org/httpcomponents-client-4.0.1/index.html
401 名前:387 mailto:sage [2010/06/09(水) 07:04:20 ] >>397 レスありがとう せっかく教えて頂いたのに、勉強不足でよく理解できてないんだけど 例えば単体テストみたいな事をするのにスタブクラスが必要なのかな でも標準APIのスタブが必要になるケースなんてあるんですねえ
402 名前:デフォルトの名無しさん mailto:sage [2010/06/09(水) 08:34:33 ] だからMIDPは例だっての。 標準でないものを使うの。
403 名前:デフォルトの名無しさん [2010/06/09(水) 10:02:35 ] 必要ヒープサイズについて質問です。 Set,Listタイプクラスの要素数を増やすと求められるメモリは増大しますか?
404 名前:デフォルトの名無しさん mailto:sage [2010/06/09(水) 11:07:09 ] 増大しないと仮定すれば、無限の要素を扱えるってことになるね。
405 名前:387 mailto:sage [2010/06/09(水) 11:08:11 ] >>402 なんだ、じゃあMIDP無関係だねw レスの流れから>>371 =>>374 という思い込みがあったもんだから MIDPで特殊な事やってる人かと勘違いしてた
406 名前:デフォルトの名無しさん [2010/06/09(水) 11:20:27 ] すいません、あるサンプルプロジェクト ttp://home.impress.co.jp/books/2771/ の第7章の[ShootingSample] を [Import] → [Existing Projects int Workspace] で読み込んだところパッケージのアイコンのところのみエラーマークが出て ビルドが出来ない状態になっていて困っております。 パッケージエクスプローラ ttp://kissho.xii.jp/1/src/1jyou115841.jpg ナビゲーター ttp://kissho.xii.jp/1/src/1jyou115845.jpg 問題 ttp://kissho.xii.jp/1/src/1jyou115844.jpg Error Log ttp://kissho.xii.jp/1/src/1jyou115842.jpg ._Polgon2DRenderer ttp://kissho.xii.jp/1/src/1jyou115843.jpg 個人的解釈としては ._Polgon2DRenderer.javaという自動的?に生成されるソースの内容が間違っていますよ という風に受け止めているのですが 肝心の該当ファイルを開いてみても上記の画像のようになっていて理解不能です。 3日間調べ、悩んでいたのですが解決の糸口が見えません。 どうかご助言をお願いしたいです。
407 名前:403 [2010/06/09(水) 11:39:10 ] >>404 有り難うです。
408 名前:デフォルトの名無しさん mailto:sage [2010/06/09(水) 15:32:24 ] >>407 はい。
409 名前:デフォルトの名無しさん mailto:sage [2010/06/09(水) 16:40:06 ] このスレには回答者に代わって自動で返事する機能でも付いてるのか?
410 名前:デフォルトの名無しさん mailto:sage [2010/06/09(水) 17:09:20 ] >>406 あと3年間調べ悩めば悟りさえ啓けるよ
411 名前:デフォルトの名無しさん mailto:sage [2010/06/09(水) 17:14:33 ] >>406 よくわかんねぇけど Polygon2DRenderer.java に対してファイル管理ソフトかか何かが ._Polygon2DRenderer.java ってメタ情報やキャッシュみたいなファイルを自動的に 作ってんじゃねぇの (外部のテキストエディタのバックアップファイルかもしれん)。 *.java はソースファイルとしてコンパイル対象だからエラーになると。 その ._Polygon2DRenderer.java を削除して、そのファイルを作ってる奴止めろと。
412 名前:デフォルトの名無しさん mailto:sage [2010/06/09(水) 20:11:56 ] >>411 レスありがとうございます。 ファイル管理ソフト・・・SVNを入れています。 SVNが自動的に作る_Plygon2DRenderer.javaは パッケージエクスプローラやナビゲーターには表示されないが コンパイル対象なのでコンパイルされていて、エラーが出ている ということでしょうか? clean&buildをすると一時的にアイコンのエラーが無くなるので >>411 さんの推測通りだと思います。 しかし、_Polgon2DRenderer.javaがどこにあるのか分からなく削除ができないでいます。 .metadata/log.txtを見てもなぜ_Polgon2DRenderer.javaが生まれたのかが記載されていなく 力が及ばず、未だ解決に至っていません。
413 名前:デフォルトの名無しさん mailto:sage [2010/06/09(水) 20:31:10 ] 荒らすなカス
414 名前:デフォルトの名無しさん [2010/06/09(水) 20:48:36 ] ideone.com/W7gQB 25行目の int ARGS_LIST[][] = {{9, 9, 10}, {16, 16, 40}, {30, 16, 99}, {8, 8, 9}}; の意味がイマイチよく分かりません どなたか教えてください。
415 名前:414 [2010/06/09(水) 20:49:24 ] 間違えた8行目だ
416 名前:デフォルトの名無しさん mailto:sage [2010/06/09(水) 20:51:45 ] int[][] ARGS_LIST = new int[4][]; ARGS_LIST[0] = new int[3]; ARGS_LIST[0][0] = 9; ARGS_LIST[0][1] = 9; ARGS_LIST[0][2] = 10; ARGS_LIST[1] = new int[3]; ARGS_LIST[1][0] = 16; ARGS_LIST[1][1] = 16; ARGS_LIST[1][2] = 40; ARGS_LIST[2] = new int[3]; ARGS_LIST[2][0] = 30; ARGS_LIST[2][1] = 16; ARGS_LIST[2][2] = 99; ARGS_LIST[3] = new int[3]; ARGS_LIST[3][0] = 8; ARGS_LIST[3][1] = 8; ARGS_LIST[3][2] = 9; と等価
417 名前:414 [2010/06/09(水) 20:52:35 ] >>416 わ、分かりやすい・・・! ありがとうございました!
418 名前:デフォルトの名無しさん mailto:sage [2010/06/09(水) 21:34:51 ] >>405 >>371 =>>374 であってるし、携帯アプリの話でMIDP使ってるから無関係じゃないんだけども。 オプショナルパッケージで非公開のものがあるんだよ。 それのjavadocだけ手元にあるからそれから作れないかなって話。 気になっても良いけど、現行機種のじゃないから役に立たないと思うよ。
419 名前:デフォルトの名無しさん [2010/06/09(水) 22:10:24 ] すみません、今回初めてJavaEEを触ることになったのですが、 APIドキュメント java.sun.com/javaee/5/docs/api/ ってSEみたいに和訳されていないんでしょうか?
420 名前:デフォルトの名無しさん [2010/06/09(水) 22:20:35 ] ガード句について調べようと思ったのですが上手い解説が見つかりません。 どのように探せばよいのでしょうか。
421 名前:デフォルトの名無しさん mailto:sage [2010/06/09(水) 22:25:38 ] 空行を除いたファイルのdiffをとりたいんだけど いいライブラリないですか? googleのdiffライブラリと java-diff は試しました。
422 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 01:54:00 ] >>421 これのこと? code.google.com/p/java-diff-utills/ grepかけたらまんまignoreBlankLinesていうフィールド名があったけど。
423 名前:デフォルトの名無しさん mailto:sage [2010/06/10(木) 17:32:30 ] 違うみたいです・・・
424 名前:デフォルトの名無しさん mailto:sage [2010/06/11(金) 00:29:02 ] 何が?
425 名前:406 mailto:sage [2010/06/11(金) 01:14:35 ] おかげさまで解決できました。 長かった・・・・・ Eclipse含め環境の再構築を行ったところ _Polygon2DRenderer.java が発生することはなくなりました。 悪さをしているだろうと思われるSVNはインストールしないようにしました。
426 名前:デフォルトの名無しさん mailto:sage [2010/06/11(金) 14:59:04 ] >>425 解決したみたいなんでアレなんだけど、 ._って多分何かのエディタのバックアップファイルなんだろうと思う。 ドットファイルということはUNIX系の。 著者の消し忘れじゃないかな。 単純にそのファイル消せばうまく動くと思う。 あなたが親切な人なら、著者に連絡してあげては。
427 名前:デフォルトの名無しさん [2010/06/11(金) 15:23:08 ] >>426 なるほど、そういう事も考えられるのですか といっても、それなら私以外にもビルドできないぞ! という人が続出してそうな気がするんですが・・・ 一応メール送っておこうかな。
428 名前:デフォルトの名無しさん mailto:sage [2010/06/11(金) 15:27:27 ] >>418 無関係、っていうのは別にMIDPのライブラリじゃなくても話は同じだろう、という意味だろ。 で、検証パッケージって何のことか分からんが、スタブ作りたいんならHTMLパースすれば?
429 名前:デフォルトの名無しさん mailto:sage [2010/06/12(土) 05:17:27 ] www.techscore.com/tech/J2SE/Network/3-2.html にあるように、サーバーは無限ループで待機すると色んなところで見ましたが、これって新しいスレッドを作った後、mainスレッドがずっと 無限ループを回り続けて同じソケットを作り続けることにならないのはなぜですか?
430 名前:デフォルトの名無しさん mailto:sage [2010/06/12(土) 10:43:04 ] >>429 単純に考えるとソケットの死活監視してるからじゃない? 生きてたら新しいのは作らない。 またはソケットをプールに溜め込んでおいて必要な時に借り受ける。 どっちでもいけると思うけど、たぶん実装はプールじゃないかな。
431 名前:デフォルトの名無しさん mailto:sage [2010/06/12(土) 10:45:16 ] >>429 accept() で次の接続が来るまで I/O ブロック (待機) に入るから。 >>430 おまいは何を言っているのだ
432 名前:デフォルトの名無しさん mailto:sage [2010/06/12(土) 10:55:10 ] >>431 うん、今見返したら意味分からんこと書いてるな 接続プールかなんかと勘違いしてるわ。 シャワー浴びて頭すっきりさせてくるよ。 質問者の人すまない。
433 名前:デフォルトの名無しさん mailto:sage [2010/06/12(土) 13:49:07 ] >>430 >>431 javadocにあったブロックってそういう意味だったのですね。いったんaccept()がくると接続されるまで待機に入る。 そして新しい接続が来たらwhileループ内のstart()が始まって別スレッドが進行し、mainはループしてaccept()でまた待機に入る、 ということですよね。 助かりました。ありがとうございました。
434 名前:デフォルトの名無しさん mailto:sage [2010/06/12(土) 14:44:13 ] String foobar = "hoge"; の意味は分かるんですが、 String[] foobar の[]の意味はなんなのでしょうか? それへの値の代入と併せて教えてください。
435 名前:デフォルトの名無しさん mailto:sage [2010/06/12(土) 14:52:54 ] String配列型 String[] foobar = {"hoge"};
436 名前:デフォルトの名無しさん [2010/06/12(土) 16:34:51 ] FileReaderは、実行しているシステムのデフォルトのエンコード方式が 使用されるそうですが、以下のようになるってことで合ってますか? 1.windowsでビルドしたクラスファイルをwindowsで実行する時 ・Windows-31Jで書いたファイルは、正しく処理される。 ・EUC_JPで書いたファイルは文字化けする。 2.windowsでビルドしたクラスファイルをlinuxに持っていって、 linuxのJVMで実行する時 ・Windows-31Jで書いたファイルは、文字化けする。 ・EUC_JPで書いたファイルは正しく処理される。 つまり、どこでビルドしようと関係無く、JVMのあるマシンのデフォルト エンコードが適用されるってことで合ってますか? 間違っていましたら、教えて下さい!
437 名前:デフォルトの名無しさん [2010/06/12(土) 16:56:14 ] >>436 > FileReaderは、実行しているシステムのデフォルトのエンコード方式が > 使用されるそうですが、 どこにそんなこと書いてある? java.sun.com/javase/6/docs/api/java/io/FileReader.html
438 名前:デフォルトの名無しさん mailto:sage [2010/06/12(土) 17:06:45 ] ttp://java.sun.com/javase/6/docs/api/java/io/FileReader.html > FileReader is meant for reading streams of characters. For reading streams of raw bytes, consider using a FileInputStream. ttp://java.sun.com/javase/6/docs/api/java/io/InputStreamReader.html > An InputStreamReader is a bridge from byte streams to character streams: It reads bytes and decodes them into characters > using a specified charset. The charset that it uses may be specified by name or may be given explicitly, or the platform's > default charset may be accepted.
439 名前:デフォルトの名無しさん mailto:sage [2010/06/12(土) 17:10:20 ] >>438 FileReaderの説明を引用しても意味がねえよ オーバーライドされてないメソッドはスーパークラスのInputStreamReaderの説明だけで十分
440 名前:デフォルトの名無しさん mailto:sage [2010/06/12(土) 17:11:25 ] >>432
441 名前:デフォルトの名無しさん [2010/06/12(土) 17:15:56 ] >>439 つまりFileReaderをどのプラットフォームでビルドしようが関係ないということですか?
442 名前:デフォルトの名無しさん mailto:sage [2010/06/12(土) 17:23:44 ] >>441 その通り。コンパイル環境には依存しない。 ちなみにLinuxはもうUTF-8が主流なんじゃないかなあ。
443 名前:デフォルトの名無しさん mailto:sage [2010/06/12(土) 17:32:40 ] 個人で小規模のゲームを作ってます、質問というより相談です。 各キャラクターの座標データなどを保存する変数は なるべくprivate修飾で外部から直接アクセスできないようにしてるのですが、 そのたびにデータを取得したり書き込んだりする専用メソッドを作るのが 面倒なうえ、ソースが長ったらしくなります。 グループ開発ならともかく個人でつくってるなら publicで管理したほうがスムーズにコーディングできる気がするのですが、 やはり楽よりも安全を重視して、こういう行為は止めておいたほうがいいものですか。。?
444 名前:デフォルトの名無しさん mailto:sage [2010/06/12(土) 17:34:12 ] >>442
445 名前:デフォルトの名無しさん mailto:sage [2010/06/12(土) 17:36:49 ] >>441 本当にFileReaderをビルドしたわけではなく、 JVMが標準的にロードしてくるものを使用しているだけなんだったら、 >>441 が作ったものがどのプラットフォームでビルドされたものかには関係しない。 自作FileReaderをJVMに食わせてるって話だったらそのコードに依存するけど。
446 名前:デフォルトの名無しさん mailto:sage [2010/06/12(土) 17:39:29 ] どうでもいいけど、一日中シャワー浴びてる人ってなんなのさ
447 名前:デフォルトの名無しさん mailto:sage [2010/06/12(土) 17:41:01 ] >>443 自分が全部間違わずに設計からメンテナンスまで管理できるのならそれでもいいんじゃねえの 趣味プログラマーとかならミスって困るのは基本的には自分だけなんだし
448 名前:デフォルトの名無しさん mailto:sage [2010/06/12(土) 17:43:48 ] >>446 しずかちゃん
449 名前:デフォルトの名無しさん mailto:sage [2010/06/12(土) 18:00:33 ] リナックスで「w」の一文字を大文字で入力したいんですけどどうやるんですか? scimとかだとジャバアプリへの日本語入力は難しいですよね。
450 名前:デフォルトの名無しさん mailto:sage [2010/06/12(土) 18:01:57 ] >>445 死ねよ雑魚
451 名前:デフォルトの名無しさん [2010/06/12(土) 18:22:03 ] 200年後くらいになwww
452 名前:デフォルトの名無しさん mailto:sage [2010/06/12(土) 18:22:41 ] >>433 ソケットってブロッキングなソケットとノンブロッキングなソケットがあるんだ。 ノンブロッキングなソケットなら、ループは自分でするんだぜ。
453 名前:デフォルトの名無しさん [2010/06/12(土) 20:07:47 ] >>445 FileReaderをビルドしなおすって言ってるんだから そのクラスを使うに決まってるじゃん
454 名前:デフォルトの名無しさん mailto:sage [2010/06/12(土) 23:06:00 ] import java.io.*; public class suipa{ public static void main(String args[]){ BufferedReader myReader=new BufferedReader(new InputStreamReader(System.in)); //フィールド表示の時の配列 int firudo[][]=new int[5][5]; //地雷判定の時の配列 int sin_firudo[][]=new int[5][5]; //地雷の位置を格納する為の配列 int jirai[]=new int[5]; int i,j,x,y,sw=0; String strx,stry; //フィールドを初期化 for(i=0;i<5;i++){ jirai[i]=0; for(j=0;j<5;j++){ firudo[i][j]=0; sin_firudo[i][j]=0; } } //地雷の位置を決定 for(i=5;i<5;i++){ //00〜44の中からランダムに決定 x=(int)Math.random()%5; y=(int)Math.random()%5; jirai[i]=x+(y*10); //カブってないか確認 for(j=0;j<i;j++){ if(jirai[j]==jirai[i])sw=1; } if(sw==1){sw=0; continue;} }
455 名前:デフォルトの名無しさん mailto:sage [2010/06/12(土) 23:06:51 ] //地雷を仕掛ける。jirai[][]の10の位と1の位を for(i=0;i<5;i++){ sin_firudo[(jirai[i])/10][(jirai[i])%10]=1; } //上数字作成 System.out.print(" "); for(j=0;j<5;j++){ System.out.print("|"+(j+1)); } System.out.println("|"); //初期フィールド作成 for(i=0;i<5;i++){ System.out.print((i+1)); for(j=0;j<5;j++){ System.out.print("|?"); } System.out.println("|"); } while(!(sw==(5*5)-5)){ try{ System.out.println("縦の値は?"); strx=myReader.readLine(); x=Integer.parseInt(strx); System.out.println("横の値は?"); stry=myReader.readLine(); y=Integer.parseInt(stry); x--; y--; //既に入力されてるかどうかの確認 if(firudo[x][y]==1){continue;} //地雷の判定
456 名前:デフォルトの名無しさん mailto:sage [2010/06/12(土) 23:09:19 ] if(sin_firudo[x][y]==1){ //地雷を踏んだ時の処理 System.out.println("game over"); }else{ //地雷を踏まなかった時の処理 firudo[x][y]=1; sw+=1; //上数字作成 System.out.print(" "); for(j=0;j<5;j++){ System.out.print("|"+(j+1)+"."); } System.out.println("|"); //フィールド作成 for(i=0;i<5;i++){ System.out.print((i+1)); for(j=0;j<5;j++){ if(firudo[i][j]==1){ System.out.print("|○"); }else{ System.out.print("|?"); } } System.out.println("|"); } } }catch(IOException e){} } } } JAVAの初心者なのですが、そろそろある程度本も読んだし、自力で一つマインスイーパを作ってみようとして とりあえず地雷を仕掛けて入力した値で判定する、ってところまで作ってみたんですが、地雷の位置が1.1に固定になってしまいました。解決方法が分かりませんorz
457 名前:デフォルトの名無しさん mailto:sage [2010/06/13(日) 00:00:10 ] >>454 >x=(int)Math.random()%5; >y=(int)Math.random()%5; これだと Math.random()%5してからintにキャストしてるから 必ずx,yとも0になる x=(int)(Math.random()%5); y=(int)(Math.random()%5); ってやってみたら? ほかの部分は読んでないけど