[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 03/16 23:57 / Filesize : 220 KB / Number-of Response : 907
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

★★Java質問・相談スレッド139★★



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);
ってやってみたら?

ほかの部分は読んでないけど






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<220KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef