1 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 19:48:24 ] プログラミング言語Javaに関する質問スレです。 JavaScript, Ajaxの質問は、ここでは受け付けていません。 Web製作板をご利用ください。pc10.2ch.net/hp/ 過去ログ、関連スレッド、よくある質問とその回答など、 質問をする前に、貴方が見なければならないサイトについての情報は、 下の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質問・相談スレッド111【大歓迎】 pc11.2ch.net/test/read.cgi/tech/1200151522/ /* 既出の質問や、他に適切なスレが存在する質問は、容赦なく無視されます。 質問をする前にwikiで過去ログ、関連スレ、FAQをチェックしてください。 */ また、当スレで質問をするかたは、回答をもらえたときに、 wikiの更新をして頂ければ、忝のう存じます。 次スレは>>980 あたりで。
367 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 18:35:23 ] >>365 (1) derby.jarファイルにクラスパスを通す (2) Class.forName("org.apache.derby.jdbc.EmbeddedDriver"); を呼ぶ (3) DriverManager.getConnection("jdbc:derby:test;create=true") で Connection を取得する (4) 好きなSQL文を実行する (5) Connection を閉じる (6) DriverManager.getConnection("jdbc:derby:;shutdown=true"); を呼んでシャットダウンする
368 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 20:40:35 ] >>331 T な変数には、<? extends T> なものを代入できるし、 <? super T> な変数には、Tはものを代入できるので、 返値に対してコバリアント的にしたい場合は、extends にして 引数に対してコバリアント的にしたい場合は、super にする
369 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 21:27:43 ] 制御文について質問なのですが if(a||b||c&&d)というのはaもしくはbまたはcかつdがtrueの時if文を実行ですよね? ではif(a||b&&c||d)というのはaもしくはbがtrueかつcまたはdがtrueの時if文を実行。 ということで良いんですか?この仮定が合ってるとすると条件式の順番にも気をつけなくてはいけませんよね?
370 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 21:28:43 ] >>356 ClassNotFoundException は、それを実行しようとしているかどうかに関わらず それが分かったらいつVMが投げても構わないって仕様じゃなかったっけ。 それぞれの実装を別のクラスローダで読み込むのがいいんじゃまいか
371 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 21:35:42 ] >>369 日本語でおk
372 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 21:47:12 ] >>369 Java とは関係なさそうだけど。 * と + に優先順位があるのと同じ。 a || b || c && d => a || b || (c && d) a || b && c || d => a || (b && c) || d
373 名前:369 mailto:sage [2008/02/16(土) 21:51:17 ] 今一良く分かりませんorzここから先はGoogle先生に聞いてみます。 ありがとうございました。
374 名前:デフォルトの名無しさん mailto:sage [2008/02/16(土) 22:34:42 ] >369 もう少し解りやすく、他人に伝わるよう書く努力が欲しい。 if(a||b||c&&d)というのは、『a』もしくは『b』または『cかつd』のいずれかがtrueの時にif文を実行ですよね? ではif(a||b&&c||d)というのは、『aもしくはbがtrue』かつ『cまたはdがtrue』の時if文を実行。 ということで良いんですか? 質問はこういう意味? なら>>372 ググるときは、『Java』、『演算子』、『優先順位』でOK。
375 名前:デフォルトの名無しさん [2008/02/16(土) 22:45:04 ] 古いデータと新しいデータを比較するプログラムを作ってます データを取得してテキスト形式で保存→新たに取得して比較→二日以上たったデータは削除 という感じなのですが、二日たったことを判断するのはどういう風にすればいいのか悩みます。。 ちなみにデータ取得時の日時は年/月/日/時/分まで保存してます 簡単に日にちで比較すると31日とか30日の判断もあるし、うるう年とかもあるので悩んでます>< いいアイディアはないでしょうか?
376 名前:375 [2008/02/16(土) 22:50:32 ] 良い方法をひらめきました! どうもすいませんでした><;
377 名前:デフォルトの名無しさん [2008/02/16(土) 23:15:14 ] ひらめいたならいいけど、そういうのはミリ秒で保存しといた方が良いよー
378 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 00:07:31 ] >>361 そんないつの時期に取ったか分からん統計出されても知らんがな。 Win に MSJVM が デフォルトインストールだった時代や JavaScript のアプレット enable フラグだけ見てたら それくらい行くだろうね。少なくとも 30 秒以上滞在してアプレットが起動しない環境は 倍以上居る。
379 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 00:35:10 ] HashMapのKeyと値にそれぞれ変数から代入したんですが保存されないみたいなんです 上記の方法で次々に値を代入していくにはどうすればいいですか?
380 名前:デフォルトの名無しさん [2008/02/17(日) 00:41:28 ] >>379 HashMapにaddするときに使ってる変数を変に使いまわしていないか? HashMapに代入されるのは結局の所は参照なので参照先を書き換えると変わるぞ
381 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 00:55:40 ] >>380 ありがとうございます 参照先が変わってるのかなあ やろうとしていることは HTMLで入力した値を サーブレットに渡してintにランダム変数を入れて それをhashmapのkeyにして値も代入 一回目はうまくいくんですけど二回目以降に値が リセットされてしまいます
382 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 01:04:26 ] >>381 …? HashMap のインスタンスが毎回生成されてる、なんてオチは無いデスヨね
383 名前:デフォルトの名無しさん [2008/02/17(日) 01:12:22 ] >>382 た、たぶんそれです ありがとうございますOrz もう少しがんばってみます
384 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 01:15:16 ] サーブレットとか知る前にやることがある気がするんだが。
385 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 01:18:07 ] 自分でもまったくそう思いまする
386 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 11:15:50 ] 手元の W-ZERO3 に JBlend が乗ってるんで暇つぶしに何か作れないかと思ったんだけど いかんせん組み込みっぽいのはやったことがなくて。MIDP 2.0? とやらに対応させれば 良いんでしょうか? それとも専用の SDK でも買わなければけいないんでしょうか? 携帯の開発情報はそこそこありますがそれと同じと思って良いんでしょうか。
387 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 11:21:17 ] 「'javac' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。」 PATHの設定がどうしても出来ないためこれが出てしまっていると思うんですが、 >>1 に書かれているURLが消えているのか飛べないです。 他に本も色々なサイトも見ましたが分かりません。 どこか分かりやすく説明しているところは無いでしょうか?
388 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 11:28:48 ] ttp://www.google.co.jp/search?sourceid=navclient&hl=ja&ie=UTF-8&rls=GGLD,GGLD:2005-13,GGLD:ja&q=java+path+%e8%a8%ad%e5%ae%9a
389 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 11:44:22 ] ありがとうございます。 しかしやはりどうも落としたバージョン(jdk-6-doc-ja) だと上手くいかないようなので、申し訳ないのですが、質問を変えます。 改めてj2sdkを落としたいんですが、場所がどこなのか分かりません。 Javaの公式サイトから探しましたが、日本語に変換しても 別のページに飛ぶとまたすぐ英語になってしまうので、読めませんし訳が分かりません。 具体的なURLを直接教えて下さると大変助かります
390 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 11:45:34 ] > jdk-6-doc-ja コーヒー返せwww
391 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 11:47:56 ] やはり何かおかしかったですかねw やたら重いんで何かおかしいと思ったんですが。 でも英語だらけで分からないんですよ、ほんと。 国際派じゃないとこれから生きていけそうもないな
392 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 11:54:44 ] doc document
393 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 11:55:53 ] 国際派じゃなくても>>388 見れば普通は何が言いたいか解る ググれカス
394 名前:387 mailto:sage [2008/02/17(日) 11:56:23 ] 困ったな…調べてみてはいるんですが、どうもありそうにないですね。 ほんとに日本語でおkという感じなんですが…読めない。 やさしいJAVA2版に書かれていたURLも消えているようですし、 今の主流はもうj2sdkじゃないんでしょうか?
395 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 11:58:13 ] >>389 確かにJDKとは書いてありますが、ドキュメントの方を取得されたようで。 Java SE Downloads ttp://java.sun.com/javase/ja/6/download.html リンク先には、JDK, J2EE, NetBeans, JRE と並んでいますが、 それぞれの説明を読む等で適切なものを選んでインストールしてください。 >>391 ま、ゆっくりやってくださいな。好きこそ物の上手なれとも言いますし。 アルファベットが読めないとか辞書を触ると目が見えなくなるとか言う人なら 更に教育を受けるか、病院に行った方が良いと思いますが。
396 名前:387 mailto:sage [2008/02/17(日) 11:58:16 ] やっと見つかった…検索の仕方がまずかったみたいです。 お騒がせしました
397 名前:387 mailto:sage [2008/02/17(日) 12:00:23 ] >>395 ご立派な嫌味をどうもw 知識が豊富で羨ましいです
398 名前:デフォルトの名無しさん [2008/02/17(日) 12:01:48 ] 本当ご立派な
399 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 12:06:24 ] >>397 は人格に問題ありすぎだな。 あんなに懇切丁寧なレスを嫌味だなんて。 というか、有用な情報を見いだす目が著しく欠如しているってことか。 JDK落とすだけでこれだから、この先は想像を絶するいばらの道が待っていることだろう。
400 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 12:13:34 ] 初心者相手にいちいち優位に立とうとするなよ。
401 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 12:43:04 ] Java初心者ってか対人関係初心者だけどなw
402 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 12:47:28 ] おまいも十分そう見えるが。
403 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 12:57:40 ] >>402 >>387 本人乙。
404 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 13:14:00 ] そう思いたいのですね。
405 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 13:36:39 ] そのほうが面白いし。
406 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 13:37:24 ] そうか。
407 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 13:48:17 ] うん。
408 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 13:53:49 ] こ。
409 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 15:16:04 ] ころころうんこ
410 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 15:17:25 ] 食物繊維取れ
411 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 15:39:49 ] 普通にSunのページわかりにくい
412 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 15:46:13 ] 非開発者向けではどう見てもないよな。 母さんにあそこから最新の JRE 落として入れろとはとても言えない。
413 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 16:01:35 ] ほんと、SUNにはもっと普及率を上げるための努力をしてもらいたい。 まずはインストールをもっと簡単にして。
414 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 16:50:00 ] >>1 のリンク死んでるな。というかサーバが停止してるようだが。
415 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 17:55:48 ] >>412 もっともです。テンプレっぽいのに追加で。 **** 開発環境が必要の場合は **** >>5 **** 実行環境だけが必要の場合は **** ■ Java ソフトウェアのダウンロード ttp://www.java.com/ja/
416 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 17:59:58 ] ム板なんだし JRE の落とし方はどうでも良くない? かえって混乱すると思う。
417 名前:369 mailto:sage [2008/02/17(日) 18:54:29 ] なるほど!何とか理解できました。>374 さん thx
418 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 18:59:59 ] >>416 ところがEclipseを使うのにJDKは不要だ罠 新人研修等ではじめからEclipseでスタートする場合、 JDKを入れたことがないという人も出てきそうなご時世だね。
419 名前:デフォルトの名無しさん [2008/02/17(日) 20:16:41 ] Arrays.sortを使って数値の配列をソートしたんですが これってソート後の配列の添え字情報とかも取得できないんですか?? たとえば ソート前 a[0]= 2 a[1]= 1 a[2]= 3 ↓ ソート ソート後 a[1]= 1 a[0]= 2 a[2]= 3 の[1],[0],[2]の情報を取得したいですー!何か方法ありませんかー!
420 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 20:25:55 ] その添え字情報を何に使うんだ? ただ単に安定なソートがしたい、ってだけなら、 List<Integer> lst = Arrays.asList(2, 1, 3); Collections.sort(lst); でOKじゃない?
421 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 20:35:50 ] class Hoge { public int ソート前のインデックス; public int 値; } こういうラッパーをかぶせてからソートすればいいんじゃね
422 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 21:09:07 ] >>419 一番高速なのは、quicksortのコードを自分でいじって実装することかな。 値をスワップするところで、添え字もスワップすればいい
423 名前:419 [2008/02/17(日) 21:09:52 ] >>420 ,421 返答ありがとうございます hoge[0] = 3423 hoge[1] = 4123 hoge[2] = 4142 a[0]= 2 a[1]= 1 a[2]= 3 みたいにhogeにID、aに値を保存していて、それぞれ添え字で=を確認してたんです (つまり添え字が0ならID;3423→2みたいにです) あとaには同じ値がたくさんはいっているのでソート後に値で確認もできないんです。。。 もしかして他にいい保存方法あったりしますかね^^;
424 名前:デフォルトの名無しさん [2008/02/17(日) 21:10:48 ] >>422 やっぱ自分で実装するのが一番早いですかね?。。
425 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 21:16:03 ] クラス使えよ class IDAndValue { int id; int value; } ソートはComparatorを自分で実装すればいいだけ
426 名前:デフォルトの名無しさん [2008/02/17(日) 21:21:10 ] >>425 ありがとうございます やってみます!
427 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 21:27:25 ] Comparableでもいいよ
428 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 22:31:34 ] ファイルを後ろから読み込むにはどうすればいいのでしょうか? BufferedReaderのreadLineのように一行ずつ読み込めるものがあると良いのですが、、、
429 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 22:45:34 ] そんなに大きくないならListに全部読み込んで、後ろから取り出せば?
430 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 22:45:43 ] 多分だけど、どうしてそれがしたいかを説明すると よりハッピーになると思う
431 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 23:05:38 ] >>378 >>361 のページに↓のようにいつ統計を採ったのかを書いてある Millward Brown survey, conducted December 2007. See Methodology Section for details on the Millward Brown study.
432 名前:デフォルトの名無しさん [2008/02/17(日) 23:24:14 ] public ShortTimer t; t.start(); これでタイマーが開始しましたが、再びここで t.start(); すると実行時エラーになります。 そこで t が t.start(); されているかを知る方法を教えてください。
433 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 00:01:19 ] >>432 >>2 Good Luck!
434 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 01:07:55 ] 428です。 後ろに行くほど新しい情報が書いてあるログファイルなので後ろから読み込めたらいいなと。 容量はそれほど大きくもないのですが、、、
435 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 02:22:54 ] >>434 それは tail コマンドと同じ機能っぽい印象を受けました。 そして、あまりに便利なコマンドだから、かっこいいことをしてるハズだ と、そう思って検索してみました。すると… 勘違いしていました。tail.c ttp://programamemo2.blogspot.com/2008/02/tailc.html バッファサイズ決めて、(最初はファイル長を割って余った分だけ)ファイルから読み込んで 改行文字数を数えて、必要数たまったら、そのバイトから最後まで出力っぽい感じ。 ファイルが更新された時の処理も、そのブログ記事にあるとおりで、なんともはや…
436 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 02:36:16 ] んなもん tail の動き見てりゃ 1 秒ごとに監視してるだけくらい想像付くべ。 ファイルのケツから数kB〜数十kB ごとに読み込んで行数カウント、必要行数に 達したらそこから開始位置まで出力、達しなければその前のブロックを評価が定番。
437 名前:デフォルトの名無しさん [2008/02/18(月) 08:34:15 ] class Test { int sum(int[] date){ int r=0; int i; for(i=0; i<date.length; i++) r += date[i]; return r; } } public class sample34{ public static void main(String[] args) { Test test =new Test(); int[] date1 = new int[]{1,2,3,4,5}; int result; result=test.sum(date1); System.out.println(result); } } これで15が返ってくる理由教えてください。 私の考えはsum(int[] date)ここに{1,2,3,4,5}を入れるわけですよね? でdate.lengthとなっているから、その個数5だと思うんですけど すいません意味不明で・・・
438 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 08:54:32 ] 配列のインデックスは0から始まる
439 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 09:21:12 ] >>437 配列型の変数 date の length は int型で、この場合の値は 5 です。よって L5: i が 5 未満の場合、L6 へ進む。そうでなければL7へ進む。 L6: r と date[i] を加算し、r にその結果を入れる。(i に 1 加える。L5へ進む。) L7: r を返す。 // 何をしてるかと言えば、配列の各要素の値を加算した値を返してるだけ。 よって、Test のインスタンスメソッド sum(int[]) に date1 を入れて実行すると 15 が返される。 // 各要素の値、1 から 5 までを加算した値 後は手元の本などで for文の仕組みを調べ直してください。 蛇足。制御文 if, else, for, while, do-while の "{ }" を省略した場合、 直後の1文が制御対象になりますが、見易さや事故防止等の為、 省略しないことをお勧めします。
440 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 09:26:03 ] data.length Σ data[i] i=0
441 名前:デフォルトの名無しさん [2008/02/18(月) 09:36:09 ] ありがとうございます。分かりました!!! これからも勉強頑張っていきます!
442 名前:デフォルトの名無しさん [2008/02/18(月) 13:40:38 ] TreeMapでデータをソートしたのですが Entryで得たvalueとkeyをStringにキャストしてInteger.parseIntをつかってから int型にしてint型変数に格納しようとするとkeyだけキャストできないというエラーが出てしまいます 原因がわかりませんー・・・
443 名前:デフォルトの名無しさん [2008/02/18(月) 14:01:46 ] OSのタイムゾーン設定では日本時間なのに JavaのデフォルトタイムゾーンがGMTになっています。 デフォルトのタイムゾーンってどこをいじれば変更できるのでしょうか? 環境はJava1.6.0_04 Windows 2003 です。
444 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 14:06:03 ] >>442 コードを見せてみれ エラーメッセージも正確に
445 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 14:07:15 ] >>442 キャストできないエラーというのは、「Stringにキャストして」の部分なのでしょうか? 1.5以降ならジェネリクスをお勧めします。 原因としては TreeMap に格納する際に何型を使ったのか、が怪しいところです。
446 名前:442 [2008/02/18(月) 14:14:34 ] public class Sort { public Sortdata sort(Difference dif){ int i = 0; String change_sm = null; String change_play = null; Sortdata data = new Sortdata(); NumericComparator c = new NumericComparator(); TreeMap map = new TreeMap(c); while(i < dif.number){ change_sm = Integer.toString(dif.sm[i]); map.put(new Integer(dif.replay[i]), change_sm); i++; } Set s = map.entrySet(); i = 0; Iterator it=s.iterator(); while(it.hasNext()){ Map.Entry e = (Map.Entry) it.next(); change_sm = (String) e.getValue(); change_play =(String) e.getKey(); //getKeyだけキャストがおかしいというエラーがでる data.sm[i] = Integer.parseInt(change_sm); data.replay[i] = Integer.parseInt(change_play); System.out.println(data.sm[i]+":"+data.replay[i]); i++; } return data; } class NumericComparator implements Comparator { public int compare(Object o1, Object o2) { int result=((Integer)o1).compareTo((Integer)o2); if(result==0) result=1; return result; } } }
447 名前:442 [2008/02/18(月) 14:16:22 ] すいません初心者でコピペで作ったようなプログラムなのでどこを載せればいいのかわかりませんでしたTT エラーは Exception in thread "main" java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String at Sort.sort(Sort.java:34) 行は書き込むときに編集してしまったので違うかもです change_play =(String) e.getKey(); //getKeyだけキャストがおかしいというエラーがでる とりあえず↑を指してます
448 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 14:21:41 ] そらだめだよ。 Integerで格納したんだから、Stringにはキャスト出来ない。
449 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 14:24:24 ] >>446 Mapにputするときはkeyの部分をInteger型で入れている。 Integer型なのにString型へキャストしようとするからエラーになる。
450 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 14:31:02 ] >>446 重ねてJ2SE1.5(5.0)以降ならジェネリクスをお勧めします。 ついでに autoboxing も機能するので更に見やすくなります。 > map.put(new Integer(dif.replay[i]), change_sm); key が Integer, value が String。そりゃ key でキャストエラーになります。 以下蛇足。 ・変数は使う直前で宣言すること。 ・元が int型なら Integer だけにしておけば良いのに。 ・初期化、比較、更新があるなら while ではなく for を使うように。 ・ついでに初期化部で int i = 0; で宣言すること。(添え字の使いまわしは厳禁)
451 名前:デフォルトの名無しさん [2008/02/18(月) 14:36:27 ] みなさんありがとうございます! ジェネリスクも試してみようと思います><
452 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 14:37:10 ] >>443 set | find "TZ" 結果はカラ?
453 名前:443 mailto:sage [2008/02/18(月) 14:45:46 ] >>452 レスありがとうございます。 TZ=JST とでます。
454 名前:デフォルトの名無しさん [2008/02/18(月) 15:37:48 ] ネイティブインターフェイスの使い方を教えてください
455 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 15:42:34 ] >ネイティブインターフェイス JNIのこと?
456 名前:デフォルトの名無しさん [2008/02/18(月) 15:55:04 ] はい
457 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 15:59:29 ] >>454 これでも読んどけ java.sun.com/j2se/1.5.0/ja/docs/ja/guide/jni/spec/jniTOC.html
458 名前:デフォルトの名無しさん [2008/02/18(月) 16:05:55 ] dllの作り方教えてください
459 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 16:10:42 ] それはJavaじゃないよ
460 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 16:11:22 ] わからない問題があったので教えてください public class Test extends Thread{ private int i, j; public synchronized void run(){ for(int count = 0; count < 2; count++){ i++; j++; System.out.print("i=" + i + " : j=" + j + " "); } } public static void main(String[] args){ new Test().start(); new Test().start(); } } A. i=1:j=1 i=1:j=1 i=2:j=2 i=2:j=2 B. i=1:j=1 i=2:j=2 i=1:j=1 i=2:j=2 C. iとjの値は出力されるが表示順は一意ではない Testクラスは二つでき、runメソッドはそれぞれで動くため AにもBにもなりえる(実際は何回やってもBになるが)と思ってCにしたんですけど答えはBでした Aにはならないんでしょうか? 解説には「run()メソッドをsynchronized指定しているためrun()メソッド実行中は 他に制御が移ることなく処理されます」とあります
461 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 16:20:05 ] 答はCであってます。 printの後ろに、 try { Thread.sleep(1000); } catch (InterruptedException e) {} を追加して実行してみてください。
462 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 16:29:21 ] たぶんスレッドでの(i=1:j=1 i=2:j=2)の組の出力は保証されるということなのだろうけど、 どっちのスレッドかわからんよな、これ。 Aは間違い。でも、結果的に出力は必ずBになるなw
463 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 16:31:40 ] えー、保証すらされないだろ
464 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 16:33:05 ] >>461-462 ありがとうございます 安心しました
465 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 16:51:26 ] フルパスからファイル名を取り出す関数とかあれば 教えてください。 WinAPIのGetFullPathName()のようなやつがあれば・・・
466 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 16:53:02 ] File#getName()
467 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 16:54:52 ] >>466 快速的回答謝謝。