1 名前:デフォルトの名無しさん mailto:sage [2008/04/05(土) 17:53:34 ] プログラミング言語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質問・相談スレッド113【大歓迎】 pc11.2ch.net/test/read.cgi/tech/1204363011/ /* 既出の質問や、他に適切なスレが存在する質問は、容赦なく無視されます。 質問をする前にwikiで過去ログ、関連スレ、FAQをチェックしてください。 */ また、当スレで質問をするかたは、回答をもらえたときに、 wikiの更新をして頂ければ、忝のう存じます。 次スレは>>980 あたりで。
357 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 14:12:13 ] 良くwebサイトとか見てると自動相互リンクとか言って登録するとき 相手側のページにリンクされてるかどうか調べに行くのとかあるんですけど、 あれってjavaで実装できます?
358 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 15:55:31 ] >>353 ありがとうございます 勉強になります
359 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 16:27:16 ] >>357 HTTPを理解してればjavascriptでもできるぞ
360 名前:418 [2008/04/15(火) 18:41:00 ] 今日アルゴリズムの授業が始まり、初日からこんな課題が出されました。 ユークリッドのアルゴリズム」のプログラム(Euclid.java)について、 次の問に答えよ。 #プログラムリスト↓ class Euclid { public static int gcd(int u, int v){ int t; while(u > 0){ if(u < v){ t = u; u = v; v = t;} u = u - v;} return v;} public static void main(String args[]){ int u = 100; int v = 25; System.out.println("u="+u); System.out.println("v="+v); System.out.println("gcd="+gcd(u,v)); }} 1-1)メソッド gcd を次のように変更せよ。 (変更点) 変数 u, v の変化がわかるように、途中経過を画面に表示させる。 1-2)メソッド gcd を次のように変更せよ(二つの変更点を同時に満たすように変更 せよ)。 (変更点1)教科書に述べられているように、% (余りを求める演算子)を利用 したものにアルゴリズムを改良する。 (変更点2)変数 u, v の変化がわかるように、途中経過を画面に表示させる。 変更後のgcdメソッドのプログラムと、gcd(1455,987)を実行させたときの実行 結果を示せ。 明後日が提出日なので、解答するのに大変困っています。 分かる人がいましたら、是非教えてください。
361 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 18:42:47 ] 質問よろしくお願いいたします。 Javaをダウンロードしたのですが、インストール終了後に確認すると、 Java Plug in???? とメッセージが出て使えません。 osはXPです。 よろしくご教示ください。
362 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 18:46:52 ] >>360 宿題は宿題スレでどぞ。つか未来人間なら結果解るだろw >>361 確認って何?
363 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 18:59:19 ] >362 インストール後に、ちゃんとインストールされているか確認できる画面。 ちゃんとインストールされていれば、絵が出てくるみたいな。
364 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 19:13:09 ] そんなのあったのか
365 名前:デフォルトの名無しさん [2008/04/15(火) 19:23:37 ] どうしてIDE使わないの?
366 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 19:27:18 ] ブラウザを全部閉じてやりなおしてみるとか。 IDE て、Eclipse なんかは別に JDK が必要なじゃなかったか? というかアプレットが動かしたいだけの人が紛れ込んだのかもしれないし。
367 名前:デフォルトの名無しさん [2008/04/15(火) 19:32:41 ] サーブレットにて、異なる2つのJPEG画像をバイナリで取得し、 JavaMailに添付したいのですが、 なぜか同じ画像が2つメールに添付されてしまいます。 (2つ目に添付した画像×2) ただし、ファイル名は「image1.jpg」「image2.jpg」で添付されており、 同じにはなりませんでした。 ソース(その1) protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { ImageDataHandler clsDataHandler; ImageDataHandler clsDataHandler_2; private byte[] bufImage_1 = new byte[1024]; private byte[] bufImage_2 = new byte[1024]; try{ bufImage_1に1つ目の画像情報をセット bufImage_2に2つ目の画像情報をセット /*** メール送信処理 ***/ // 1枚目の添付 clsDataHandler = new GazouDataHandler(); clsDataHandler.attached.write(bufImage_1); // 2枚目の添付 clsDataHandler_2 = new GazouDataHandler(); clsDataHandler_2.attached.write(bufImage_2); // メール送信 SendMail(clsDataHandler,clsDataHandler_2); clsDataHandler.attached.close(); clsDataHandler_2.attached.close(); }
368 名前:367 mailto:sage [2008/04/15(火) 19:38:57 ] ソース(その2) /* メールの送信 */ public void SendMail(GazouDataHandler clsDataHandler, GazouDataHandler clsDataHandler_2){ try { 〜省略〜 /** 1つ目のボディパートを作成 **/ MimeBodyPart mbp1 = new MimeBodyPart(); // メールの内容を指定 mbp1.setText("テスト\n", "iso-2022-jp"); /** 2つ目のボディパートを作成 **/ MimeBodyPart mbp2 = new MimeBodyPart(); // 添付するファイル名を指定 mbp2.setDataHandler(new DataHandler(clsDataHandler)); mbp2.setFileName("image1.jpg"); /** 3つ目のボディパートを作成 **/ MimeBodyPart mbp3 = new MimeBodyPart(); // 添付するファイル名を指定 mbp3.setDataHandler(new DataHandler(clsDataHandler_2)); mbp3.setFileName("image2.jpg"); 〜省略〜 } catch (Exception e) { e.printStackTrace(); } } }
369 名前:367 mailto:sage [2008/04/15(火) 19:40:02 ] /** * 添付ファイルクラス */ class ImageDataHandler implements DataSource{ ByteArrayOutputStream attached = new ByteArrayOutputStream(); public String getContentType() { return "image/JPEG"; } public InputStream getInputStream() throws IOException { return new ByteArrayInputStream(attached.toByteArray()); } public String getName() { return ""; } public OutputStream getOutputStream() throws IOException { return attached; } } アドバイスしていただけると助かります。 よろしくお願いします。
370 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 19:59:02 ] >>367 えるもタン乙
371 名前:デフォルトの名無しさん [2008/04/15(火) 20:39:47 ] >>360 の教科書の内容なんてしらねーよw class Euclid { public static int gcd(int u, int v){ System.out.println("アルゴリズムを開始\tu:" + u + "\tv:" + v); while(u > 0){ if(u < v){ // ややこしいのでtの宣言を移動した int t = u; u = v; v = t; System.out.println("u < v のため値を交換\tu:" + u + "\tv:" + v); } u = u - v; System.out.println("u -= v を実行\t\tu:" + u + "\tv:" + v); } System.out.println("u <= 0 のため終了\tu:" + u + "\tv:" + v); return v; } public static void main(String args[]){ int u = 1455; int v = 987; System.out.println("u="+u); System.out.println("v="+v); System.out.println("gcd="+gcd(u,v)); } }
372 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 21:35:07 ] >>368 でパートをどういう風に追加しているのか見ないと分からん
373 名前:367、368 mailto:sage [2008/04/15(火) 21:45:27 ] >>372 パートを追加するところです↓ // 複数のボディを格納するマルチパートオブジェクトを生成 Multipart mp = new MimeMultipart(); // 1つ目のボディパートを追加 mp.addBodyPart(mbp1); // 2つ目のボディパートを追加 mp.addBodyPart(mbp2); // 3つ目のボディパートを追加 mp.addBodyPart(mbp3); どこか間違っているでしょうか?
374 名前:デフォルトの名無しさん mailto:sage [2008/04/15(火) 23:52:03 ] >>367 >bufImage_1に1つ目の画像情報をセット が間違ってんでねーの
375 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 00:10:28 ] >>373 さっさとmixiに帰りな
376 名前:デフォルトの名無しさん [2008/04/16(水) 00:43:18 ] すいません。 ご質問なのですが、お絵かきBBSなどyahooオークションの残り時間などの時間表示。 お絵かきチャットなどのJavaがエラーをしていて、コントロールパネルのアプリケーション追加と削除で消して。 再びJavaのサイトから無料DLしたのですがいっこうに治らないのですが、 なんとかなりませんでしょうか? エラーメッセージ:同じプロセスで実行中のいくつかの Java 仮想マシンによってラーが発生しました。 詳細おねがいいたします;;
377 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 00:56:57 ] [ツール]-[インターネットオプション]-[詳細設定] で、使わないJava バージョンのチェックを外す。
378 名前:デフォルトの名無しさん [2008/04/16(水) 01:14:43 ] Java(SUN) <applet>に JRE 1.6.0_05を使用(再起動が必要) にチェックついていて、ほかにJavaはないんですが・・・ やはり治りません・・すみません>< 再起動もしてみたのですが・・ スパイウェア関係かとおもいスキャンしたけど検出されず・・。 ほかに可能性はなににあるのでしょうか・・無知ですみません;;
379 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 01:36:34 ] 板違い ここはプログラミングする人のための板です Windows板のIE関連のスレとかへ
380 名前:デフォルトの名無しさん [2008/04/16(水) 01:41:11 ] わかりましたー。いってみますー。お世話になりましたー
381 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 01:43:03 ] 数年前のjava本でスレッドを勉強中なんですが、今もロックにはPOSIXのように 排他制御のmutexは実装されていないで、同期のsynchronizedを使うんでしょうか。
382 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 01:51:26 ] むしろあらゆるオブジェクトがmutexとして使えるのがJavaじゃね?
383 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 01:57:53 ] java.util.concurrent
384 名前:381 mailto:sage [2008/04/16(水) 02:02:59 ] >>382 それがJavaのクラス設計なんですね。 ああくそー、C/C++の手ぐせが抜けない・・・ orz
385 名前:381 mailto:sage [2008/04/16(水) 02:13:45 ] >>383 thx! これならC/C++の手ぐせで使えそうだ。 しかしJavaってまだまだ発展中?
386 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 02:34:30 ] 次のバージョンでも大き目の言語仕様の追加がある予定だしね 標準ライブラリもどんどん肥大化中だ
387 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 02:38:37 ] JCP に移管されてから肥大化が酷くなった。俺も俺もとレイプされまくり。
388 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 02:47:50 ] 標準ライブラリだけでいまどきのブラウザつくれるほどのAPIが揃ってるからな。 何もなかった1.1が懐かしい。
389 名前:デフォルトの名無しさん [2008/04/16(水) 10:38:50 ] エクリプスを使っています。 import java.io.*; import javax.servlet.*; import javax.servlet.http.*; と打ったところ、コンパイラーさんから 「インポートされたjavax.servletは見つかりません」とのご忠告。 そこで、「構成および実行」の「クラスパス」で 「外部jarの追加」「servlet-api.jar」を選択。 としたのですが、効果なし。 どうしたらいいんでしょうか?お願いします。
390 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 10:51:00 ] >>389 プロジェクト右クリックしてプロパティ-ビルドパス-ライブラリで外部JARついか
391 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 11:08:22 ] >>390 どんだけやさしいんですか!ありがとうございます!
392 名前:デフォルトの名無しさん [2008/04/16(水) 14:51:45 ] C/C++より洗練され簡素化されたJavaの流儀を覚えるべきだね Cは低レベルでしか使われなくなるだろうし
393 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 15:28:48 ] 質問です、 バイト配列byte[]からBufferedImage型に変換するにはどのような方法をとればいいのでしょうか。 さんざんググりましたが、BufferedImage→byte[]への変換は出てきますが、byte[]→BufferedImageは全く出てきません。 よろしくお願いします。
394 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 15:40:39 ] どう変換したいのかわからんけど byte[] b = ..... BufferedImage image = ImageIO.read(new ByteArrayInputStream(b));
395 名前:デフォルトの名無しさん [2008/04/16(水) 17:14:30 ] 現在、大学でJAVAの基礎を勉強しています。 参考書を買おうと思い調べたところ、結城浩さんの「JAVA言語プログラミングレッスン」が良さそうだと思い 本屋に行ってみたのですが、値段が高くて躊躇しています。 「JAVA言語プログラミングレッスン」は改訂第二版が最新らしいのですが、近所のブックオフに無印のもの(1999年初版発行のもの)がありました。 10年近く前のものだと、内容的に役に立たないでしょうか?
396 名前:418 [2008/04/16(水) 17:30:45 ] 今はこの問題が解けなくて困っています。 「エラトステネスのふるい」のプログラム(Prime.java)を、途中経過が分かるよう 次のように改良せよ。具体的には、以下のようにプログラムを改造せよ。 2の倍数をふるいにかけた直後の配列aの状態を画面に表示、 3の倍数をふるいにかけた直後の配列aの状態を画面に表示、 4の倍数をふるいにかけた直後の配列aの状態を画面に表示、 ・ N/2 の倍数をふるいにかけた直後の配列aの状態を画面に表示 改造後のプログラムと、実行結果を示せ(N=30程度で良い)。正しく動いている という説明も述べよ。 class Prime { public static void main(String args[]){ int N = 1000; int i,j; int a[] = new int[N+1]; for(a[1]=0,i=2;i<=N;i++){ a[i] = 1;} for(i=2;i<=N/2;i++){ for(j=2;j<=N/i;j++){ a[i*j] = 0; }}for(i=1;i<=N;i++){ if(a[i] > 0) { System.out.print(i+" ");}} System.out.println();}} わかる人がいましたら教えて下さい。
397 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 18:07:43 ] >>395 その講義さえしのげればよいなら旧版でもおk 今後どんどんJavaを使う予定なら頑張って新版を買った方が結局得だとおもう >>396 スレチ
398 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 18:46:07 ] >>395 あれが高いだと? 赤本の値段見て出直して来い
399 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 18:57:54 ] >>398 その場しのぎの学生には十分高いだろ。
400 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 19:08:57 ] 本なんてなくとも海外のサイトなら情報は充実してるけど日本人は英語読めないの多いからな 日本のサイトはというと説明が下手なとこばかりな上に ほとんどがアフィリエイト目的で一度作ったら放置が多くていやになっちゃうね 俺が学生向けに何か作ってやりたいけどまだまだそんな知識はないから残念だ
401 名前:デフォルトの名無しさん [2008/04/16(水) 20:00:33 ] 洋書コーナーいけば少し安く同程度のが手に入るけどね 殆どは翻訳だし原書で見たほうが翻訳者の間違いとかも無くていい
402 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 20:32:15 ] 海外のサイトはとくにjavaでゲーム作ろうってサイトが多くていいな。 desktop javaにしか興味ない人間にはSwingとゲームはちょうど良い。
403 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 20:46:12 ] 残念ながら日本では英語を読める人が少ない。
404 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 21:04:44 ] >>403 まったくだ。 Javaのホムペを立ち上げても、頓挫したり飽きたりして放置プレイが多い。 日本のサイトに絞ってググっても、似たような糞ホムペしかヒットしない。
405 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 22:36:31 ] おすすめ海外サイトを是非
406 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 23:46:45 ] 俺も知りたい
407 名前:デフォルトの名無しさん mailto:sage [2008/04/16(水) 23:46:58 ] >>395 新人研修で同じ本使ったよ。 ヤフオクとかアマゾンで買えば?
408 名前:デフォルトの名無しさん [2008/04/17(木) 00:25:33 ] 話ぶった切ってごめん Java Mozilla Parser のAPI Document ってどこで手に入る?
409 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 01:58:10 ] NTTデータが作ったintra-martってフレームワークは使いやすい? これからの開発で使わされるんだけど、企業が作成したフレームワークって当りだったためしが無くて。
410 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 01:59:37 ] 中国に反撃しよう!中国に反撃しよう!中国に反撃しよう! 中国に反撃しよう!中国に反撃しよう!中国に反撃しよう! 中国に反撃しよう!中国に反撃しよう!中国に反撃しよう! 中国に反撃しよう!中国に反撃しよう!中国に反撃しよう! 中国に反撃しよう!中国に反撃しよう!中国に反撃しよう! 中国に反撃しよう!中国に反撃しよう!中国に反撃しよう! 中国に反撃しよう!中国に反撃しよう!中国に反撃しよう! 中国に反撃しよう!中国に反撃しよう!中国に反撃しよう! 中国に反撃しよう!中国に反撃しよう!中国に反撃しよう! 中国に反撃しよう!中国に反撃しよう!中国に反撃しよう!
411 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 02:15:38 ] 厭なことがあるとメディアに用意してもらった ネタに託して怒りをぶちまける奴
412 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 07:39:06 ] >>409 比較的に使いやすい類のフレームワークとは思う でも、詳細設計のやり方次第で最悪になることが多い
413 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 17:47:40 ] Java でナノ秒精度の日時を保持するのってどうすんの?
414 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 17:52:12 ] >>413 ナノ秒精度に基づく制御はできないが、保持なら変数に代入するだけだから簡単じゃね?
415 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 17:59:18 ] double同士の比較をしたいのですが javaFAQには単純にa > bとかはだめでa - b > -1.0E-6 のようにしないとだめと書いてありました これ単純にする方法ないのでしょうか?
416 名前:415 mailto:sage [2008/04/17(木) 18:05:27 ] あ、比較する時に有効桁数もチェックしたいのです。
417 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 18:16:02 ] 十分単純だと思うけどな たかだか10文字かそこら増えるだけじゃないか
418 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 18:40:14 ] if(sign.equals('-')){ // くそバグ }
419 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 20:18:31 ] Javaの最新版をダウンロードしたいんですが 「エラー。お使いのオペレーティングシステムに推奨されたバージョンの Java がインストールされていません。 インストールされている Java のバージョンは Version 5.0 Update 6 です。 下のボタンをクリックして、お使いのオペレーティングシステムに 推奨された Java をインストールしてください」 そして推奨されたJavaをインストールするために下のボタンを押すと また「」の文章が出ます。以後、繰り返しになってしまいます。 正直パソコンのスキルが、あまりないのでどうすればいいのかわかりません。 最新版をインストールしたいのでご指導お願いします。
420 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 20:52:59 ] >>415 見て思ったのですが、なんでa>bが駄目なんですか?
421 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 21:03:01 ] >if(sign.equals('-')){ ('-') ('-') ('-') ('-') ('-') 顔文字に見えて嫌いだ
422 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 23:52:08 ] Javaのおすすめ海外サイトをそろそろ教えてください
423 名前:デフォルトの名無しさん mailto:sage [2008/04/17(木) 23:57:10 ] 俺もまだ知りたいです
424 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 00:08:14 ] >>419 いったいどこから何をダウンロードしようとしているんだ? 最新版を使いたいなら、既にインストールしてある 5.0 Update 6 はア ンインストールしちゃっていいよ。
425 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 00:09:24 ] >>420 >>415 はaやbの有効桁数が指定されている時の話だから単純にaがbより大きいかどうかならa>bでいいよ。
426 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 00:18:02 ] 最近のコーダーは機械イプシロンもしらんのか。
427 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 00:31:16 ] >>422 つ java.sun.com/javase/technologies/index.jsp
428 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 00:35:39 ] aのもつビットパターンで表現される数とbのそれとを 正確に比較するって意味で使うならa>bでいいけどね
429 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 00:39:22 ] あたりまえ
430 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 03:43:59 ] 最近のコーダーは機械イプシロンもしらんのか。
431 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 05:53:16 ] マジレスしちゃうと、コーダーが知ってる必要はないわな。
432 名前:デフォルトの名無しさん [2008/04/18(金) 09:17:13 ] JavaとDelphiってどっちが易しいでしょうか?
433 名前:デフォルトの名無しさん [2008/04/18(金) 09:21:15 ] java
434 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 09:23:06 ] Forth77
435 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 11:41:11 ] ForthRAN77 /HELLO {(Hello, World!\n) ((A)) 6 WRITE STOP} PROGRAM HELLO
436 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 13:51:24 ] >>416 有効桁数 = 絶対値((a + b)/(a - b)/2) で、友好桁数にならないか。
437 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 14:09:53 ] 有効数字ってアルゴリズムから静的に決定するもんじゃないのか。
438 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 14:42:42 ] FileChannelを使ってファイルからintの値を取り出そうとしているのですが 具体的な方法がわかりません FileChannel channel = new FileInputStream("hoge.hoge").getChannel(); ByteBuffer bb = ByteBuffer.allocate(4); channel.read(bb, seekpoint); IntBuffer ib = bb.asIntBuffer(); ib.get(); これじゃ取り出せないのですがどうすればいいのでしょう?
439 名前:デフォルトの名無しさん [2008/04/18(金) 14:54:26 ] 質問です。 javaサーバーサイド(Servlet,JSP)までで、 mysqlデータベースをからめ、Eclipseで構築、 またはViで構築したいのですが、いい本ありますか? 私はCENT OSでサーバーを作っているので、その中に 組み入れたいのですが..... 板違いならここに聞けばいいよって教えてください。 よろしくお願いします。 まずは環境を作りたいです。
440 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 15:01:02 ] >>438 readしたぶんだけByteBufferのpositionが進むからでは? readした後flipすればいいんじゃないかなたぶん
441 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 15:14:00 ] >>440 readでも進むんですね・・・ ありがとうございました
442 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 20:36:26 ] javaはchdir(カレントの変更)はできないんですか?
443 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 20:48:48 ] >>442 できない。昔の mac にはカレントディレクトリって概念がなかったから。
444 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 20:53:56 ] そうですか。
445 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 21:29:39 ] 質問なんですが 入力された文字が数値なら次の処理に行き 文字列だったら数字が入力されるまで繰り返す っていうプログラムを例外処理を使わないで 作るにはどうすれば良いのでしょうか?
446 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 21:43:48 ] >>445 if文とfor文で作る
447 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 22:19:36 ] 質問です。 時計を作成し、テキストフィールドに表示させるようにしたのですが、 時計が表示されているテキストフィールドに文字を入力する事が出来てしまいます。 テキストフィールドにキーボードからの入力が行われず、 時計の表示のみを行うにはどの様にしたら良いのでしょうか?
448 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 22:31:15 ] swingについて質問です。 ボタンを押すことで、画面構成を変化させるようなプログラムを作りたいのですが、 ActionListenerから呼ばれるメソッド内でコンポーネントをaddしても反映されなくて困っています。 以下のような感じを考えているのですが、「ボタンを押すことによってコンポーネントの構成を変える」 というのはどのようにすればよいのでしょうか? import java.applet.Applet; import java.awt.event.*; import javax.swing.*; public class Test extends Applet implements ActionListener{ JButton go=new JButton("開始"); // 開始用ボタン JLabel label=new JLabel("変化反映"); /** 初期化ルーチン */ public void init(){ go.addActionListener(this); this.add(go); //this.add(label); //ここに書くと表示される } /** ボタンを押されたときの処理 */ public void actionPerformed(ActionEvent e) { if(e.getSource()==go){ this.remove(go); this.add(label);//ここで追加しても反映されない this.repaint(); } } }
449 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 23:12:21 ] >>445 do{ str = input; // 何らかの入力処理 }while( !数値かどうか(str) );
450 名前:デフォルトの名無しさん mailto:sage [2008/04/18(金) 23:29:21 ] >>448 add()やremove()をした後にはvalidate()を呼ぶ必要があるらしい。 詳しくはjavadocのContainer#add()あたりを参照。
451 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 00:16:50 ] >>449 ごめんなさい その数値かどうかって判定が分からないです
452 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 00:24:10 ] 普通は Integer.parseInt() で例外発生するかどうか。 めんどくさいが丁寧に最良パフォーマンスで実装するなら boolean digit = true; for(int i=0; i<str.length(); i++){ if(! Character.isDigit(str.charAt(i))){ digit = false; break; } } 例外より遅いかもしれないが楽して正規表現使うなら (符号無視) if(str.matches("\\d+")){ // 数字 }
453 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 00:26:30 ] Character.isDigitは全角数字や漢数字、デヴァーナーガリ数字などにも trueを返すから使い方によっては要注意。
454 名前:448 mailto:sage [2008/04/19(土) 00:29:00 ] >>450 意図したとおりの動作ができました。ありがとうございます。
455 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 07:13:28 ] 数値かの判定? 正規表現でいいじゃねーか
456 名前:デフォルトの名無しさん [2008/04/19(土) 11:37:48 ] 配列とループの質問なんですけど、 簡単に例えると、 配列: int[] i = {1,5,4,3,2,8,4,6,1,5,7,9,3}; があって要素番号を1から順にループしていって 最初の5が出た時に表示などの処理、 2回目の5が出た時にループも終了ってのはどうすればいいですか?
457 名前:デフォルトの名無しさん mailto:sage [2008/04/19(土) 11:45:32 ] >>456 やりたいことを書いた方が良いレス付くと思うぞ。 表示するならタイマーか何かで要素を取得するルーチンにwait置かないとだめだろうし。