1 名前:デフォルトの名無しさん [2007/07/27(金) 08:46:32 ] プログラミング言語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質問・相談スレッド103【大歓迎】 pc11.2ch.net/test/read.cgi/tech/1182896607/ /* 既出の質問や、他に適切なスレが存在する質問は、容赦なく無視されます。 質問をする前にwikiで過去ログ、関連スレ、FAQをチェックしてください。 */ また、当スレで質問をするかたは、回答をもらえたときに、 wikiの更新をして頂ければ、忝なく存じます。 次スレは>>980 あたりで。
2 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 08:55:33 ] 刀、 , ヘ /´ ̄`ヽ /: : : \_____/: : : : ヽ、 ,. -‐┴─‐- <^ヽ、: : : : : : : : : : : : : : : : : : : : : : } /: : : : : : : : : : : : : :`.ヽl____: : : : : : : : : : : : : : : : : : / ,. -──「`: : : : : : : : : :ヽ: : : : : : : : :\ `ヽ ̄ ̄ ̄ フ: : : : :/ /: :.,.-ァ: : : |: : : : : : : : : :\: : : : :: : : :ヽ \ /: : : :/  ̄ ̄/: : : : ヽ: : : . . . . . . . . . . .、 \=--: : : :.i / /: : : : :/ /: : ∧: \: : : : : : : : : : ヽ: :\: : : 〃}/ /: : : : :/ 、 . /: : / . : : :! ヽ: : l\_\/: : : : :\: ヽ彡: : | /: : : : :/ |\ /: : ィ: : : : :.i: : | \!___/ ヽ:: : : : : : :\|:.:.:.:/:! ,': : : : / |: : \ / / !: : : : :.ト‐|- ヽ \: : : : : l::::__:' :/ i: : : : :{ |: : : :.ヽ l/ |: : :!: : .l: :| \: : : l´r. Y {: : : : :丶_______.ノ: : : : : :} l: : :l: : :ト、| 、___,ィ ヽ: :| ゝ ノ '.: : : : : : : : : : : : : : : : : : : : : : / |: : :ト、: |: :ヽ ___,彡 ´ ̄´ ヽl-‐' \: : : : : : : : : : : : : : : : : : イ !: :从ヽ!ヽ.ハ=≠' , ///// ///u /  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ V ヽ| }/// r‐'⌒ヽ イ〉、 ヽ、______ー‐‐' ィ´ /:/:7rt‐---、 こ、これは>>1 乙じゃなくて ィ幵ノ ./:/:./:.! !: : : : :!`ヽ ポニーテールなんだから r‐'T¨「 |: | !:.∨:/:./: :| |: : : : .l: : : :\ 変な勘違いしないでよね! /: : .|: :| !:.!ィ¨¨ヾ、:.:/ !: : : : l: : : : : :.\
3 名前:デフォルトの名無しさん [2007/07/27(金) 15:36:55 ] Java Communication APIというものを用いて,PCカードのポートに接続したGPS(機種はI-ODATAの CFGPS2)から座標などの情報を取得しようとしています. 現在その前段階として,下記のサイトで公開されているポートの種類や数,通信状況を調べる サンプルプログラムをお借りして,動作確認をしようとしています.GPS機器を接続しているポート (COM1)が通信状態になるようにするため,他の電子地図アプリケーションなどでGPSからの情報を 受信している状況を作り出し,このサンプルを動作させました.しかしながら,『COM1が使用中で ある』という出力が得られませんでした. こちらでお尋ねするのが相応しいのかどうかの判断に困りましたが,一応Javaを使用している こともあり,今回質問に参りました.なにかアドバイス等頂きたいと存じます.また,他に質問するに 相応しい場所があるようでしたら,お手数ですがそちらへの誘導をお願いします. よろしくお願いします. 参考URL:ttp://www.javainthebox.net/JavaForFA/08-09CommAPI/No.08/commapi1.html
4 名前:デフォルトの名無しさん [2007/07/27(金) 21:40:21 ] 4ね
5 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 22:05:00 ] >>3 GPSはシリアルポートとして見える仕様なのか? ノートでもオンボードでシリアルのチップが載ってるかもしれないので まずそれを切ること(完全に切れない可能性も高いけど) それか単にCOM3あたりで見える可能性もあり。あとはハイパーターミナルあたりで 確認すれ。
6 名前:デフォルトの名無しさん mailto:sage [2007/07/27(金) 23:33:51 ] >996 synchronized でガードされるのはステートメントだけ 従って他のsynchronized メソッドおよびに、synchronized(this)で囲まれたブロックが同期化の対象になる オブジェクト自体は保持しているクラスなどから自由に触れるわけで同期とは関係がないぞ 一般的に言えば、そのクラスの可変な変数に対して読み込みと書き込みを行っているメソッドを全てsynchronizedにすれば同期化の要件は満たす(ただし、実効性能は考えない)
7 名前:デフォルトの名無しさん [2007/07/27(金) 23:38:53 ] javaでmidiファイルの生成中です。 import javax.sound.midi.spi.*; import javax.sound.midi.*; で、何とかメロディを作ったり、音色を変えたりできる様になったのですが、 ドラムの音の出し方が分かりません。 どうぞご教授お願いします。
8 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 00:21:52 ] マルチか? それともこっちのスレで質問しなおす事にしたのか? もしそうならあっちに一言書いてからこっちに書くべきじゃないか? 誘導もされてなかったのに質問だけしてほったらかしってのは正直どうかと思うよ。
9 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 02:22:02 ] どっちにしろjavaの質問じゃないね。 midi関連を扱う板/スレへ池。
10 名前:デフォルトの名無しさん [2007/07/28(土) 02:34:03 ] FileInputStream fis = new FileInputStream("flight.dat"); として読み込んだファイルの行数を得る方法ってありますか? 教えてください。m(_ _)m
11 名前:デフォルトの名無しさん [2007/07/28(土) 02:36:38 ] LineNumberReaderってのがある。
12 名前:デフォルトの名無しさん [2007/07/28(土) 03:17:27 ] >>11 ありがとうございます!
13 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 06:21:58 ] jarファイルにもクラスファイルにも同じクラスを置いたら、誤作動起こす?クラスノットファウンドとか?
14 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 06:48:37 ] クラスローダが先に見つけたクラスがロードされる
15 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 08:57:22 ] ソケット通信を実装しています。 スレッドは使わず、Selectorクラスを利用して複数クライアントからのデータ受信を 実現しようと思っているのですが、一つ確認させてください。 Selectorクラスでイベントが発生したチャネルを取得するselectedKeys()メソッドからは Keyがイベント発生順に格納されているのでしょうか? Aさんが送信→Bさんが送信→Cさんが送信→Aさんが送信 とやった場合、上記の順序は確実に保証されてselectedKeys()から取得できるのでしょうか?
16 名前:13 mailto:sage [2007/07/28(土) 11:59:23 ] >>14 レスサンクス もう一つ質問 とあるサイトで配布されているjarファイルを使用する時に、 一部のクラスがソースも配布されていたため、 その対象のクラスだけリコンパイルして実際に動かすJava環境と 同じJavaのバージョンでクラスファイルを作成し、 ソースが提供されていないクラスはそのままにして、 それらをもとの一つのjarファイルとして作り直したら、 キャスト変換エラーが起きた。 リコンパイルしてjarを作り直しただけなのに、わけわかんね。
17 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 12:11:22 ] >>15 ソケット通信の実装ってかなり高度だぞw Selector.selectedKeys() はSetを返すように定義されている 従って、順番が保証されているとは通常は考えられない 保証しているならば、SortedとかListを返すだろう そもそも、送信順番は受信側では基本的に保証できないよ どんな順番でServerSocketがacceptするかには関与できないから "おそらく"送信順番に受け付ける、ってくらいじゃね? そこまでソケット通信の実装をしているならば別だがw
18 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 13:32:11 ] オンラインゲームってかw
19 名前:デフォルトの名無しさん [2007/07/28(土) 14:01:40 ] ダイアログを親フレームとの相対位置に表示したいです。 親フレームの絶対位置が分かれば出来そうですが、それを取得する方法が分かりません。 それとも他に適した方法がありますか? 教えてください。
20 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 14:37:39 ] javaの基本文法は一通り終了して、更にjavaの勉強を続けようと思うのですが、どのような勉強方法がよいでしょうか?
21 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 14:41:54 ] 何か作ったことある? 電卓とか○×ゲームくらいは作れる?
22 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 14:43:47 ] >>21 アプレットで電卓、それとC言語で○×ゲーム(コンソールアプリ)は作成したことあります。
23 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 14:48:41 ] そか www.geocities.jp/ky_webid/algorithm/index.html こういうアルゴリズムとデータ構造の勉強はした?
24 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 14:53:28 ] 有名なアルゴリズムに関しては基本情報技術者試験の勉強で一通り目を通しましたが、 自分で実装まではしていません。 このようなデータ構造とアルゴリズムは一通り自分で実装して動きを確かめた方がよいのでしょうか?
25 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 15:05:37 ] >>16 同名の別クラスがあって、部分的なソースでコンパイルした時と、完全なソースでコンパイルした時ではロードされるクラスが違う、とか。 //////////////Test.java//////////////// public class Test{ public static void main(String[]args){ System.out.println(new StringBuffer("Test")); } } //////////////StringBuffer.java//////////////// public class StringBuffer { String a; public StringBuffer(String a){ this.a=a; } public String toString(){ return a.toUpperCase(); } } ////////////////////////////// 例えばこんなん。Test.javaだけでコンパイルした場合とStringBuffer.java付きでコンパイルした場合では動作が違う。
26 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 15:12:40 ] >>24 そりゃするに越したことはない ある程度規模の大きなものを作る事と 色んなクラスの使用を経験しておくのがいいと思う
27 名前:デフォルトの名無しさん [2007/07/28(土) 15:56:22 ] javaでエディタ作ろうと思っているんだけど、 TextArea内に行数を表示させる箇所を作るのって不可能ですよね。 今考えてるのは、文章入力用のTextAreaとそれに対応するように 行数表示用で編集不可のTextAreaを並べておこうと思っているんだけど。 もし、swing使ったり他の方法でこれが実現できるようなら教えてもらえないでしょうか。
28 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 16:07:41 ] >27 TextAreaの中に書くことは無理 独自にComponentを作成するか、JTableなどと組み合わせれば可能
29 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 17:10:54 ] >>25 うーん、自分の環境はそれは考えにくいと思うんだけど。。
30 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 20:32:42 ] for(int idx = 0 ; idx < 32; idx++) { if (i<<idx < 0) { System.out.print("1 "); } else { System.out.print("0 "); } } ↑はint型の変数iのビット列を表示するやつなんですけど、 これのbyte型バージョンを作ろうとしたらうまく動きません (for文の条件のところを idx < 8 に変更し、iをbyte型のbに変更) なぜでしょうか?
31 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 20:47:42 ] インターフェースを渡して、それを実装したクラスを返すプログラムを作りたいんですが。 (今はとりあえずから実装)、可能でしょうか? public class Hoge{ public static Class<? extends T> createClass(Class<T> c){ if(c.isInterface()){ なんらかの手段を使ってメソッドを空実装したクラスをreturn; }else return null; } } public interface Hello{ String sayHello(); } public class Hogehoge{ public void main(String[] args){ Hoge.createClass(Hello.class<Hello>); } }
32 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 21:19:28 ] >>30 たぶん、シフト演算でされる単項数値昇格を忘れてるんだと思う。 シフト演算のオペランドの型が byte、short、char なら シフト演算する前に暗黙のうちに int 型に変換される。
33 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 21:25:33 ] >>32 単項数値昇格ですか。初めて聞きました。 これから調べてみます どうもありがとうございました。
34 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 21:31:33 ] >>31 可能。でも、そこのサンプルなんか変じゃね?
35 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 23:04:28 ] このスレで見つけたJUnitとかいうツール使ってみたんだけど、これって戻り値がない場合は使えないの?
36 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 23:28:20 ] >35 お前には使えなそうだ
37 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 23:47:17 ] >>26 そういうことをやろうかと考えていたのですが、 具体的にはどんなことをすればよいのでしょうか?
38 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 23:59:15 ] >>29 考えにくい、じゃなくて実際に確かめようぜ。大した手間じゃないだろ。 うまく行かない時ってのは大抵自分の思い違いが原因でな(だからゴムのアヒルに話すのが有効なデバッグになる)。 すぐにわかる事を調べずに、思いこみでコードいじってる内は若葉マーク取れないよ?
39 名前:デフォルトの名無しさん mailto:sage [2007/07/28(土) 23:59:16 ] >>37 アルゴリズムは知識レベルでも十分だと思う ソート スタック キュー リスト マップ ハッシュ これらは既にJavaがAPI化しているからJavadocでも読んで理解してればいい どっちかっていうと、学校や会社であまり詳しく教えてくれないデザインパターンを勉強した方が為になる。 Java デザインパターン でぐぐれ
40 名前:デフォルトの名無しさん mailto:sage [2007/07/29(日) 00:07:17 ] >>38 レスありがd。 一応jarの中身を見たけど、別のjarファイル内にあるクラスファイルとは重複してなかったんだ。 実行時にどのjarファイルを読んでクラスの情報を取得したかについてはデバッガで調べて正しかった。 そのクラスがimport宣言しているクラスが実はJavaのバージョンによっては対象外だったりしてたのかも。。
41 名前:名無しさん@そうだ選挙に行こう mailto:sage [2007/07/29(日) 03:21:32 ] >jarの中身を見たけど、別のjarファイル内にあるクラスファイルとは重複してなかったんだ。 >実行時にどのjarファイルを読んでクラスの情報を取得したかについてはデバッガで調べて正しかった。 複数のjarがあり、ソースのあるjarは別のjarのクラスを利用しているわけか(後付けすんなよ…)。 で、調べたのはそれだけ?同じパッケージ内のクラスは? >import宣言しているクラスが実はJavaのバージョンによっては対象外 無ければコンパイル時に見つからないと出るし、複数あってもコンパイル時にどれか分らないって出ると思うけど。 つーかそもそもどこまで分ってるんだ? 1.キャスト変換エラーが出る場所が分っている。 2.キャスト変換エラーが出るインスタンスが分っている。 3.キャスト変換エラーが出るインスタンスの本来あるべきクラスが分っている。 4.キャスト変換エラーが出るインスタンスがいつ、どこで作成されるか分っている。 5.キャスト変換エラーが出るインスタンスの実際のクラスが分っている。 6.上記3.と5.は異なっている事が分っている。 #一応ソースとかコンパイル→jar固め手順が誤って無いって前提で話してるけど、そのへんは大丈夫だろうか
42 名前:名無しさん@そうだ選挙に行こう mailto:sage [2007/07/29(日) 03:40:42 ] >>39 Java デザインパターン でぐぐってみる サンクス デザインパターンでオススメの参考書とかってある?
43 名前:名無しさん@そうだ選挙に行こう mailto:sage [2007/07/29(日) 03:47:36 ] >42 CollectionとかSwingの実装 本だと結城本が入門用で定番 個人的にはリファクタリングによるデザインパターン入門とかってやつがオススメ
44 名前:名無しさん@そうだ選挙に行こう mailto:sage [2007/07/29(日) 03:55:56 ] >>43 なるほど 明日本屋行って買ってくる 遅い時間にありがとう
45 名前:名無しさん@そうだ選挙に行こう mailto:sage [2007/07/29(日) 15:36:09 ] FileDialogで選択したファイルのパスとファイル名をTextFieldにsetTextで入れて そのTextField内の文字列を初期値にFileを作りたいのですがうまくいきません。 そのFileでhashCodeとgetNameを行うためにはどうすればいいんでしょうか?
46 名前:デフォルトの名無しさん mailto:sage [2007/07/29(日) 15:39:46 ] >>41 詳細に説明してくれて、感謝感激雨あられです。 >つーかそもそもどこまで分ってるんだ? もっと詳しくソース追ってみたけど、実はキャスト変換の前のコードでそもそもの問題が見つかってしまって。。 ClassクラスのforName()のnewInstance()の戻り値が、事前にstaticなオブジェクト変数に値が入っていることで、 別のインスタンスが返されるように出来ているっぽい。コンストラクタ上でforNameの引数に渡したクラス名とは 別のオブジェクトを返すように実装されている感じ。 >#一応ソースとかコンパイル→jar固め手順が誤って無いって前提で話してるけど、そのへんは大丈夫だろうか jar固め手順とは? jar -cvf "jarファイル名" "フォルダ1(リコンパイルしたもの)" "フォルダ2(もともとjarに格納されていたもの)" "ファイル(*.propertiesなど)" みたいな感じでjarを作っている。 もしリコンパイルしたソースが他のパッケージ内のクラスを参照しているのであれば, 上記の場合、フォルダ1とフォルダ2は逆かな?パッケージ名は単純にアルファベット順にならべてんだけど。。
47 名前:名無しさん@そうだ選挙に行こう mailto:sage [2007/07/29(日) 16:26:50 ] >>45 うまくいきませんじゃ、分からないのだが? そのような内容では、出来るはずですとしか答えられん・・・。 うまくいかないコードをはってくれ。
48 名前:名無しさん@そうだ選挙に行こう mailto:sage [2007/07/29(日) 16:53:53 ] 書き込んだあとに調べてみたところ tf1.setText(fd.getDirectory()+fd.getFile()); とやってはディレクトリの区切り文字が\になってしまってるのが原因のようでした。 この\を\\に置き換えることってできますかね?
49 名前:名無しさん@そうだ選挙に行こう mailto:sage [2007/07/29(日) 18:32:40 ] JFrameの表示座標ってどうにか変えられないだろうか JButtonに反応して表示するように下はいいけど左上が画面の左上に吸着したような位置にでてしまう
50 名前:名無しさん@そうだ選挙に行こう mailto:sage [2007/07/29(日) 19:27:39 ] public void setLocationRelativeTo(Component c) 引数をnullとすれば画面中央に表示
51 名前:名無しさん@そうだ選挙に行こう mailto:sage [2007/07/29(日) 19:50:10 ] >49,50 setLocationRelativeTo(parentFrame) でね? parentFrameは、JButtonを配置したJFrameな
52 名前:名無しさん@そうだ選挙に行こう mailto:sage [2007/07/29(日) 20:09:04 ] >>49 >>50 setLocationRelativeToでググってみたらsetLocationなんていうのもあるんだな ちょっとこれ使ってやってみる 返答サンクス
53 名前:デフォルトの名無しさん mailto:sage [2007/07/30(月) 12:32:04 ] ファイルの入出力について詰まったので、教えてください。 import java.io.BufferedReader; import java.io.FileReader; import java.io.IOException; public class TextReader { public TextReader(){ try{ String strLine; FileReader in = new FileReader("stage.txt"); BufferedReader reader = new BufferedReader(in); while((strLine = reader.readLine()) != null){ System.out.println(strLine); } reader.close(); }catch(IOException ie){ System.out.println("error"); } } } ↑のようなプログラムで、stage.txtというファイルの中身をコンソール上に表示させたいのですが、エラーになってしまいます。 ちなみにstage.txtというファイルは、このプログラムファイルと同じディレクトリに入れています。 どこがおかしいのかご指摘頂けないでしょうか、お願いします。
54 名前:デフォルトの名無しさん mailto:sage [2007/07/30(月) 12:34:42 ] すいません、書き忘れましたが、 public static void main(String s[]){ TextReader t = new TextReader(); } もTextReader内に入っています。 お願いいたします。
55 名前:デフォルトの名無しさん mailto:sage [2007/07/30(月) 14:34:36 ] >>53 System.out.println("error"); を ie.printStackTrace() に変えて、 どんなエラーなのか調べれば?
56 名前:デフォルトの名無しさん mailto:sage [2007/07/30(月) 14:41:55 ] >>55 レスありがとうございます。 それを試してみたら(指定したファイルが見つかりません)になりました。 同じディレクトリ内にファイルを入れてるんですが・・・。何かファイルの指定法に間違いがあるんでしょうか?
57 名前:デフォルトの名無しさん mailto:sage [2007/07/30(月) 19:07:28 ] 同じディレクトリってどこと同じなんだYO File file = new Filr("stage.txt"); と書いてみて、絶対パス表示してみろ
58 名前:デフォルトの名無しさん mailto:sage [2007/07/30(月) 20:23:24 ] 俺が思うに、綴りが間違ってるんじゃないかな。
59 名前:デフォルトの名無しさん mailto:sage [2007/07/30(月) 20:26:28 ] >>57 うわ・・・なんというミス・・・ありがとうございます。 確かにどこと同じなんだよって話ですね・・・。解決しました。ありがとうございます。
60 名前:デフォルトの名無しさん [2007/07/30(月) 20:37:12 ] 次のようなCSVダウンロードプログラムをLinuxサーバー上で実行し、 Windowsでダウロードした場合、なぜか、Windowsで改行コードがCR/LFになってしまう。 なぜ、LFでなく、CR/LFになるのでしょうか? ブラウザが変換している? response.setHeader(xxxxxx); PrintWriter pw = response.getWriter(); pw.println(XXXX); pw.close();
61 名前:デフォルトの名無しさん mailto:sage [2007/07/30(月) 20:41:52 ] >>60 printlnが出力する改行コードはJVMが動いているシステムにとって自然な改行コードになる。 もし変えたくなければ自分で必要な改行コードを出力する。
62 名前:61 mailto:sage [2007/07/30(月) 20:44:18 ] あ、すまん。勘違い。>>61 は忘れてくれ。
63 名前:デフォルトの名無しさん mailto:sage [2007/07/30(月) 20:51:32 ] >60 どこにCSVファイルがあるか教えてくれ、ただのサーブレットにしか見えない
64 名前:デフォルトの名無しさん mailto:sage [2007/07/30(月) 21:37:00 ] setHeaderでapplication/octet-streamにする
65 名前:19 [2007/07/30(月) 23:08:45 ] どなたか分かりませんか?
66 名前:デフォルトの名無しさん mailto:sage [2007/07/30(月) 23:16:40 ] setLocation / setLocationRelativeTo
67 名前:デフォルトの名無しさん mailto:sage [2007/07/30(月) 23:25:27 ] なんかgdgdだがsetLocationRelativeTo なんてあったのか。 Swingはデカすぎるから困る。
68 名前:デフォルトの名無しさん mailto:sage [2007/07/30(月) 23:28:48 ] SWT/JFaceに比べりゃ・・・ Eclipseで入力補完使いながら、setといれれば直ぐ見つかる程度だろう
69 名前:デフォルトの名無しさん [2007/07/30(月) 23:44:22 ] 質問javamail使ってwebmailみたいのつくりたいんだけど、HTMLメールを どうしようかなって思ってて。 やろうと思ってるのはHTMLタグ(&)だけ抜いて、テキストだけで 実装しようかと思ってるんだけど、HTML抜くライブラリとかってあるの? smtp実装してるのはあるんだけど、popしてメール表示するようなサンプルって あんましないんだよね。。誰かやったことある人おしえてください。 文字コードencodingは次考えます。
70 名前:61 mailto:sage [2007/07/30(月) 23:46:28 ] プログラムのXXXの部分は適当です。カンマ区切りで出力と仮定しています。 なぜ、Linuxなのに、CRがつくのかがわからないです。
71 名前:デフォルトの名無しさん mailto:sage [2007/07/31(火) 00:13:39 ] JMSって何をする目的で使うのでしょうか?
72 名前:質問です [2007/07/31(火) 01:11:55 ] サーブレット間通信について質問です。 あるコンテキスト内で2つのサーブレットが起動しています。 この片方からもう片方のメゾッドを呼び出すことが出来ることを知りました。 書籍には Servlet ServletContext.getServlet(String str) でもう片方のサーブレットを取得できると書いてありますが、 如何せん書籍が古いため、現在このメゾッドはサポートされていないそうです。 同等の機能を実現するためにはどうすればいいのでしょうか?
73 名前:デフォルトの名無しさん mailto:sage [2007/07/31(火) 06:17:50 ] >>61 Servletの設定がそうなっているんじゃない? >>72 相当古い本だな、それ そのメソッドをServletではなく共通で使える普通のクラスにすればいい Servletの何か(パラメータ等)が必要ならば、それを引数に渡せばOK
74 名前:質問です mailto:sage [2007/07/31(火) 09:23:13 BE:42319687-2BP(6)] >>73 回答ありがとうございます。 片方のサーブレットが持つ情報をもう片方がほしければ、 その「普通のクラス」のstaticなクラス変数を介してもらえばいいということでしょうか?
75 名前:デフォルトの名無しさん mailto:sage [2007/07/31(火) 15:45:43 ] 予約後って全部暗記したほうがいいの?
76 名前:デフォルトの名無しさん mailto:sage [2007/07/31(火) 15:48:27 ] うん
77 名前:デフォルトの名無しさん mailto:sage [2007/07/31(火) 16:52:41 ] Math.abs(-10); のメソッドの結果がなんで-10じゃなくて10なんですか?
78 名前:デフォルトの名無しさん mailto:sage [2007/07/31(火) 17:08:02 ] [バージョン]JDK1.5 [内容] java.util.concurrent パッケージの ArrayBlockingQueue と LinkedBlockingQueue は どのように使い分ければ良いのでしょうか。 ttp://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/util/concurrent/ArrayBlockingQueue.html ttp://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/util/concurrent/LinkedBlockingQueue.html 実際にやろうとしていることは、ThreadPoolExecutor 生成でこれらを用い、 ・実行されるスレッド数の上限を決めたい(例えば10) ・上限に達したら、submit された際キューに積まず例外で返したい なのですが、この場合、 ThreadPoolExecutor executor = new ThreadPoolExecutor(10, 10, 0L, TimeUnit.MILLISECONDS, new LinkedBlockingQueue<Runnable>(10)); executor.setRejectedExecutionHandler(new ThreadPoolExecutor.AbortPolicy()); と言った感じで良いものなのでしょうか。 ttp://www-06.ibm.com/jp/developerworks/java/040625/j_j-tiger06164.html を見ると、LinkedBlockingQueue だと取りあえず受けてしまう様にも見えるのですが、 Javadoc の説明からは読み取りきれず悩んでいます。
79 名前:デフォルトの名無しさん mailto:sage [2007/07/31(火) 18:24:09 ] >>77 Math.abs がどんな機能なのか知ってるか? >>78 >どのように使い分ければ Array〜は固定サイズ限定だから、無限にしたければLinked〜を選ぶしかない。 でなければ、別にどっちでも。 >実行されるスレッド数の上限を決めたい(例えば10) >上限に達したら、submit された際キューに積まず例外で返したい SynchronousQueue を使う。 他のキューだと、スレッド数が上限に達しても、さらにキューが一杯になるまでタスクが溜まる。
80 名前:デフォルトの名無しさん mailto:sage [2007/07/31(火) 18:52:16 ] >>77 現役中学生に聞いてみれば?
81 名前:デフォルトの名無しさん mailto:sage [2007/07/31(火) 18:54:22 ] >>80 なんで? Math.absってどういう意味?Mathはなんとなく数学っぽいが。
82 名前:デフォルトの名無しさん mailto:sage [2007/07/31(火) 18:56:44 ] absは阿部さんの略
83 名前:デフォルトの名無しさん mailto:sage [2007/07/31(火) 19:12:25 ] つーかjavadoc嫁よ屑
84 名前:デフォルトの名無しさん mailto:sage [2007/07/31(火) 19:44:07 ] >>82 つまんねぇんだよカス
85 名前:デフォルトの名無しさん mailto:sage [2007/07/31(火) 19:48:11 ] ご、ごめん
86 名前:デフォルトの名無しさん mailto:sage [2007/07/31(火) 19:55:48 ] 質問させていただきます。 ArrayList を Iterator で順序アクセスした場合、この順序はもとのリストの順序と一致しないのでしょうか?
87 名前:デフォルトの名無しさん mailto:sage [2007/07/31(火) 20:30:05 ] 一致する
88 名前:デフォルトの名無しさん mailto:sage [2007/07/31(火) 20:43:36 ] てか順序が一致しないListってあるの? Setと違って並びありきなクラスだと思うんだけど。
89 名前:デフォルトの名無しさん [2007/07/31(火) 21:05:26 ] 一致しないとまずすぎるだろ常考・・・
90 名前:デフォルトの名無しさん mailto:sage [2007/07/31(火) 21:11:38 ] >>88 no
91 名前:デフォルトの名無しさん mailto:sage [2007/07/31(火) 21:13:29 ] セックル中?
92 名前:デフォルトの名無しさん mailto:sage [2007/07/31(火) 21:16:09 ] 回答ありがとうございます。 自分もそう思って、 for (int i=0; i < list.size(); i++) { // list.get(i) を処理 } を for (Object obj: list) { // obj を処理 } のように書き換えたら問題がおきたのです。 他の問題があったのかな。
93 名前:デフォルトの名無しさん mailto:sage [2007/07/31(火) 21:31:13 ] どんな問題が起きたんだよw ClassCastExceptionとかNullPoだったら氏ね
94 名前:デフォルトの名無しさん mailto:sage [2007/07/31(火) 21:39:48 ] >>78 最初にExecutors.newHogeHoge の標準ファクトリメソッドで生成されるものを使うのが推奨されている。 それでダメならばカスタマイズ汁 で、こんな場所で質問しているヤシはマルチスレッドなんかに手を出すべきじゃない
95 名前:デフォルトの名無しさん mailto:sage [2007/07/31(火) 21:46:57 ] こんな場所で質問しているヤシはJavaなんかに手を出すべきじゃない
96 名前:デフォルトの名無しさん mailto:sage [2007/07/31(火) 22:23:16 ] じゃあどの言語がいいんだよ
97 名前:デフォルトの名無しさん mailto:sage [2007/07/31(火) 22:53:34 ] >>96 それをこんな場所で質問しているヤシはプログラムなんかに手を出すべきじゃない
98 名前:デフォルトの名無しさん mailto:sage [2007/07/31(火) 23:09:41 ] じゃあこのスレにいるやつらはなんなんだよw
99 名前:デフォルトの名無しさん [2007/07/31(火) 23:31:39 ] 質問があるんですが,アプレットで文字とかを描画するときに, paintメソッドで,Graphics gとかを引数にとっていると思うのですが, gが良くわかりません. 他のクラスから,アプレットのメソッドを呼び出したりして, アプレットに文字列を描画したいのですが,gのところをどうすればよいかわかりません. どなたか詳しい方教えてください
100 名前:デフォルトの名無しさん mailto:sage [2007/07/31(火) 23:43:30 ] >>99 もしかして、paintを自分から呼び出して描画処理を行おうとしていない? paintには描画したい内容を記述して、 それを呼び出すのはjavaの処理系が再描画すべき時点でやってくれる。 もし自分から描画させたい場合はpaintを直接呼び出さず、 repaintなどの再描画を促すメソッドを呼び出せばいい。 こちらからアクティブに描画する方法もあるが、 初心者のうちはこういうパッシブ描画でがまんしておけ。
101 名前:デフォルトの名無しさん mailto:sage [2007/07/31(火) 23:43:40 ] >>99 gは大事にしてね。 引数渡しするかキャンバスクラスに実装して使い回せばおk
102 名前:デフォルトの名無しさん mailto:sage [2007/08/01(水) 00:16:19 ] >>101 使いまわしたら生きてるか死んでるかの確認と再生成を自力でやらなきゃいけなくない?
103 名前:デフォルトの名無しさん [2007/08/01(水) 00:34:08 ] すみません、自力では限界なので誰か教えてください。 当方、専門学校の選択でJAVAを取った1年生です。 Eclipseを使ってJAVAをやっているのですが import model.product; の行で「インポートされた model は見つかりません。」とエラーが表示され、先に進めず困っています。 このぐらい自力で解決しろ、と思われますが、 検索をかけても解るものがヒットしないのです、どうか宜しくお願いします。 …教諭がソース(コメント、解説無し)のプリントを配布するだけで質問に答えてくれないんです。
104 名前:デフォルトの名無しさん mailto:sage [2007/08/01(水) 00:55:35 ] パッケージを理解しろ。「java パッケージ」でぐぐれ。 srcフォルダの下に、model/product っていうディレクトリはあるのか? 専門学校ってEclipseとかやるんだ。
105 名前:デフォルトの名無しさん mailto:sage [2007/08/01(水) 01:37:05 ] 専門学校でツール使うばあい、ツール教える側が理解してなくてカオスってるときがあるけどな。 それでサポやらされる身にもなってみろ。
106 名前:デフォルトの名無しさん mailto:sage [2007/08/01(水) 01:51:48 ] じゃあやめちまえ
107 名前:デフォルトの名無しさん mailto:sage [2007/08/01(水) 02:26:30 ] >>103 >質問に答えてくれないんです 嘘つくな
108 名前:デフォルトの名無しさん mailto:sage [2007/08/01(水) 02:32:44 ] int test[]={80,43,43,32,84};
109 名前:デフォルトの名無しさん [2007/08/01(水) 02:40:44 ] >>103 どこの学校か教えてくれたら、完全な解説を書きます。
110 名前:103 mailto:sage [2007/08/01(水) 06:19:13 ] >104 回答有難う御座います、srcというフォルダ自体がありません。 Wikipediaでパッケージというものがどういうものか、一応は理解できたつもりです。 プリントの中に package model.Product; と書かれたソースファイルが無いです… >105 多分その通りかと…とても若い人で出欠取ったらどこかへ行ってしまいます。 >106 辞めてもいいのですが単位が… >107 授業中に質問ができなく、職員室に突撃して聞いても「自分で調べろ」の一点張りで… >109 日本工学院です
111 名前:デフォルトの名無しさん mailto:sage [2007/08/01(水) 07:55:06 ] >授業中に質問ができなく、職員室に突撃して聞いても「自分で調べろ」の一点張りで… 質問に答えるとボロが出るからな
112 名前:デフォルトの名無しさん mailto:sage [2007/08/01(水) 11:27:37 ] >>110 model.product なんてクラスが必要なければそんな import 文は単に消しちまうか、 どっかで使われてるなら model パッケージを作って product クラスを適当にでっちあげればいいんでない。
113 名前:デフォルトの名無しさん mailto:sage [2007/08/01(水) 15:00:44 ] >>103 エラーメッセージをググる事を覚えるといいかも。 例えば「インポートされた は見つかりません」 固有部分を抜いて検索してみるのね。
114 名前:デフォルトの名無しさん mailto:sage [2007/08/01(水) 18:11:16 ] 配列のソートがよくわからん。 誰かおせーて。
115 名前:デフォルトの名無しさん mailto:sage [2007/08/01(水) 18:12:34 ] >>114 www.geocities.jp/ky_webid/algorithm/index.html ここら辺の話?
116 名前:デフォルトの名無しさん [2007/08/01(水) 18:43:30 ] >>114 Arrays.sort で出来るよ
117 名前:デフォルトの名無しさん mailto:sage [2007/08/01(水) 19:18:47 ] 専門学校の教師に聞いた話だが、2年制とかになると早めに辞めさせてしまう方が評価が高いらしい 下手に全員が進級すると教室が足りないんだってw
118 名前:デフォルトの名無しさん mailto:sage [2007/08/01(水) 20:07:32 ] >>117 教室と言うか教室の中にある設備機材のほうだなw だから講師が生徒潰しにかかって、それに触発されて生徒間も潰し合いし出して マジで頭おかしくなって精神科・心療内科行く奴が増えて そっち系の知識が豊富になりつつ、潰し合いに生き残った者たちはどんどん専門学校に洗脳されて外でワケワカメな事言いだすんじゃないか。 そもそも、コンピュータ系専門に常駐してる講師なんて業界の底辺から溢れて食ってけないから講師をry それを補うためにたまに外部からプロ呼ぶんだろうが。
119 名前:デフォルトの名無しさん mailto:sage [2007/08/01(水) 21:48:40 ] >>118 まるでヒューマ○みたいな専門学校だなww もっとツールを使わないで一から作る技術を身につけたほうが いいんだろうけど。
120 名前:デフォルトの名無しさん mailto:sage [2007/08/01(水) 22:08:50 ] ツール類の環境を整えてるのが売りなんじゃ? まあ、今は学生書があれば激安で一式そろえれるから今は独学でも勉強が。 仕事で使うような自社ライブラリとかはそもそも入手できないし。 仕事で使う数十万から100万するモデリングツールや動画編集ソフト類も無理だろうし。
121 名前:デフォルトの名無しさん mailto:sage [2007/08/01(水) 23:09:58 ] JMSのことが詳しくのってる本かサイトはありませんかね? できれば日本語希望です。
122 名前:デフォルトの名無しさん mailto:sage [2007/08/01(水) 23:16:50 ] JMSなりActiveMQでぐぐって、最初のリストに出てくるサイトの中に無ければないんじゃね?
123 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 01:38:04 ] struts関連の事ですので、多少スレ違いかも知れませんが ご容赦下さい。 環境:JDK1.5 apache+tomcat struts winXP (+Exlipse3.2 All in One) アクセスログ出力の為、RequestProcessorを拡張する事に なりました。(Actionのexecute発行前後でログを出す) で、今回画面項目のチェック等でvalidationを使用する為、 TilesPluginとTilesRequestProcessorを使用しています。 (参考www.atmarkit.co.jp/fsecurity/rensai/struts03/struts03.html) 上記サイトを参考にし、TilesRequestProcessorをextendsした クラスをstruts-config.xmlのcontroller processorClass に 指定していますが、何の反応も有りません。 (ロジックを通っていない、エラーも特に起きない) ((エラーが起きる様なロジックをわざと用意しても同様)) で、PukiWiki様の説明によると、TilesPlugin使用時には TilesRequestProcessorが自動的に指定される、との事でした ので、ワザとcontroller processorClassに変なクラスを 指定してみたりもしたのですが・・・・やはり何も起きません。 上記の結果、controller processorClass指定時は。 他の設定ファイル(web.xml等)も設定が必要なのでは? 他に設定が無い限り、TilesRequestProcessoの自動指定 が外れないのでは無いか?と疑っているのですが、何か ご存知の方、他に設定が必要でしたらお教え下さい。 お願い致します。
124 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 08:07:54 ] www.atmarkit.co.jp/fsecurity/rensai/struts03/struts01.html www.atmarkit.co.jp/fsecurity/rensai/struts03/struts02.html
125 名前:デフォルトの名無しさん [2007/08/02(木) 11:15:57 ] 統計ライブラリは何を使ってますか フリーのものでお勧めのがあればご紹介ください
126 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 12:17:49 ] setColorでRGB値で色を作ろうとした時に、 色を格納している変数の名前をr,g,bにしていたところ、 hoge.java:18: シンボルを見つけられません。 シンボル: コンストラクタ Color(int,java.awt.Graphics,int) 場所 : java.awt.Color の クラス g.setColor(new Color(r,g,b)); というエラーが出たのですが、これどういうことでしょうか? 変数名をred,green,blueに変えたらコンパイルちゃんと通ったのですが、 引数に禁止されてる変数名とかあるのですか?
127 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 12:33:40 ] >>126 gの型は何のつもりなんすか。int or Graphics?
128 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 12:39:59 ] >>127 あ…Graphics gを引数で受け取ってて、 記憶域の都合で関数外でint r,g,bを宣言してたから 名前が被ってた…orz Javaは昨日からだけどC/C++は2年くらいやってるのに 何をこんな間違いを…orz ちょっと吊って来ます。
129 名前:質問です mailto:sage [2007/08/02(木) 12:47:08 BE:9069034-2BP(6)] java で特定の日時を保存するには何のクラスを使えば適切なのでしょうか?
130 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 12:56:48 ] >>129 君の言ってる保存って何? ファイルに出力する事?
131 名前:質問です mailto:sage [2007/08/02(木) 13:15:19 BE:11335853-2BP(6)] >>129 あ。すいません。 メモリー上で保持することです。JavaPlatform SE 6でお願いします。 Dateかと思ったんですが、ドキュメントをみるとメンバー関数に 推奨されてない的なことが沢山あったので別にあるのかなと思って質問いたしました。
132 名前:質問です mailto:sage [2007/08/02(木) 13:42:15 ] int i; for (int j = 1 ; j <= 9 ; j++){ i = 2 * j; System.out.println("2 × " + j + " = " + i); for文なんですが、出力部分の"+"の意味がわかりません。 どういう意味なんでしょうか?
133 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 13:45:34 ] >>131 yyyy年MM月dd日 hh時mm分ss秒のDateインスタンスを作りたいってことね。 java.util.Calendarを使うこと。例えば今日の日付ならこうなる。 Calendar cal = Calendar.getInstance(); cal.set(2007, 7, 2, 13, 32, 40); // 2007年8月2日 13時32分40秒 Date today = cal.getTime(); Calendar#set()の第二引数は月の指定だが、0スタートなので注意。 詳しくはjavadoc参照。
134 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 13:49:37 ] >>132 System.out.println("aaa"+"bbb"); 表示されるのは「aaabbb」 int x=5; System.out.println("aaa"+"x"); 表示されるのは「aaax」 int x=5; System.out.println("aaa"+x); 表示されるのは「aaa5」
135 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 13:50:26 ] >>132 +は文字列同士の連結の意味 iとかjはintだけど文字列に自動で変換されたあとで連結される たとえばj=3,i=6の場合、 System.out.println("2 × " + j + " = " + i); ↓ System.out.println("2 × " + "3" + " = " + "6"); ↓ System.out.println("2 × 3 = 6"); になる
136 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 13:50:35 ] >>132 なんだ、足し算教えろっていってるのか?
137 名前:デフォルトの名無しさん [2007/08/02(木) 13:51:45 ] >>132 文字同士の連結 文字通りの足し算だね
138 名前:質問です mailto:sage [2007/08/02(木) 13:52:10 BE:31739876-2BP(6)] >>133 おおお、詳しくありがとうございます(ノ∀`) 参考になりました
139 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 13:57:15 ] さすがに千葉工業大学だなw つりもレベル低いや
140 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 20:23:37 ] よくわかったね
141 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 21:20:10 ] よくわかるも何も自己紹介してるじゃん
142 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 21:23:20 ] Be付けて恥さらし(笑)
143 名前:質問です mailto:sage [2007/08/02(木) 21:35:16 BE:7557252-2BP(6)] >>142 ニセ者をニセ物と見抜けないおまいも(略
144 名前:デフォルトの名無しさん mailto:sage [2007/08/02(木) 21:44:49 ] やってることが恥晒しってことだろ
145 名前:デフォルトの名無しさん [2007/08/03(金) 10:03:28 ] JTextAreaで表示するテキストの行間の間隔を変えたいのですが、それっぽい設定が見つかりませんorz どこをいじれば良いのでしょうか・・
146 名前:145 mailto:sage [2007/08/03(金) 12:02:22 ] 自己解決しました。
147 名前:デフォルトの名無しさん [2007/08/03(金) 12:32:27 ] してないです。
148 名前:デフォルトの名無しさん mailto:sage [2007/08/03(金) 13:07:38 ] test
149 名前:デフォルトの名無しさん mailto:sage [2007/08/03(金) 14:09:41 ] メゾッド内で引数に与えられたboolean型の値の変更をするために Boolean型を使おうと思っているのですが、使い方がよくわかりません。 private void _found_error(Boolean error_frag) { error_frag = Boolean.valueOf(true); } public void readFormData() { // 初期値はfalse Boolean error_frag = Boolean.valueOf(false); // 内部でtrueにしているはずなのに _found_error(error_frag); if(error_frag.booleanValue()) { // なぜかここが実行されない } } 何が悪いのか教えてください
150 名前:デフォルトの名無しさん mailto:sage [2007/08/03(金) 14:32:02 ] _found_error の error_frag が指す先を別のオブジェクトに変えても、 readFromData の error_frag が指す先は変わらないから。
151 名前:デフォルトの名無しさん mailto:sage [2007/08/03(金) 14:33:43 ] >>149 Boolean はimmutableなのでインスタンスの状態の変更はできない。 そしてJavaは全て値渡し。 error_frag の参照値がコピーされて _found_error に渡され、 _found_error ではコピーされた参照値をBoolean.valueOf(true) が戻す参照値で上書きする。 その際、readFromData の error_frag は影響を受けない。 解決法としてはインスタンスメソッドなら error_frag をインスタンス変数にする、 それが嫌なら boolean[] やら class MyBoolean{ boolean flag; } を使うなどして インスタンスの状態を変更できるものを使う。
152 名前:デフォルトの名無しさん mailto:sage [2007/08/03(金) 14:38:54 ] 考えてみれば error_frag = Boolean.valueOf(true); ではerror_fragの実体の指す先が変わってしまいますよね、失礼しました。 値を変えたいboolean型をこれらのメゾッドの関数が含まれるクラスのメンバー変数にして 解決することにしました。 どうもありがとうございます。
153 名前:デフォルトの名無しさん mailto:sage [2007/08/03(金) 15:10:46 ] 連絡がありません。いいかげんな対応をされては困ります。あと一週間以内に何も連絡が無い場合、 落札者都合で削除すると同時に悪い評価が付きます。
154 名前:デフォルトの名無しさん mailto:sage [2007/08/03(金) 15:42:52 ] ServerSocket.accept()や、BufferedReader.readLine()のような 入力がある、終わるまで待機するような方法を探しているのですが、スレッドを使って値を
155 名前:デフォルトの名無しさん mailto:sage [2007/08/03(金) 15:45:24 ] 途中で書き込んでしまったorz ServerSocket.accept()や、BufferedReader.readLine()のような 入力がある、終わるまで待機するような方法を探しているのですが、スレッドを使って値を 監視する、以外に方法はないでしょうか?なんかこれだとCPUの無駄遣いのような気がしますし もっと効率のいい方法がないかなと。
156 名前:デフォルトの名無しさん mailto:sage [2007/08/03(金) 16:05:35 ] 何を待ちたいのかわからないが、 自スレッドを Object#wait で寝かせて、他のスレッドから #notify もしくは #notifyAll で起こすことはできる
157 名前:デフォルトの名無しさん mailto:sage [2007/08/03(金) 16:09:32 ] それか、複数のソケットを同時に待ちたいってことなら、Selector を使うと幸せかもしれない。 ぜんぜん違う話なら、もっとくわしく・・・
158 名前:デフォルトの名無しさん mailto:sage [2007/08/03(金) 18:22:06 ] 初期状態の時にJListが描画(表示)されません。 中央の"set"の下らへんをクリックするとJListが初めて描画される感じです。 これを簡単に解決したいんですが、どうしたらいいでしょうか? やはり、上の描画部分はCanvasで下はボタン等のパネルにすべきでしょうか? up.spawn.jp/file/up39072.txt
159 名前:デフォルトの名無しさん mailto:sage [2007/08/03(金) 18:22:51 ] すいません、"set"じゃなくて"m"です。とりあえず中央のボタンの下らへんにJListがあります。
160 名前:デフォルトの名無しさん [2007/08/03(金) 19:00:50 ] thread内でDBにSELECTしたりINERTしたりする時ってデッドロックって起きる? 同じテーブルの同じレコードに同時にINSERTしたりしたら起きるんかな?
161 名前:デフォルトの名無しさん mailto:sage [2007/08/03(金) 20:01:20 ] >>159 まあ、SwingというかAWTから勉強した方が良い。
162 名前:デフォルトの名無しさん mailto:sage [2007/08/03(金) 20:12:21 ] >>158 とりあえず super.paint(g); レイアウトマネージャとか、AWTとSwingを混ぜるなとか、色々あるけど、まぁね。がんばれ。。
163 名前:デフォルトの名無しさん mailto:sage [2007/08/03(金) 20:18:01 ] そもそもprintConponent()な。
164 名前:デフォルトの名無しさん mailto:sage [2007/08/03(金) 20:20:08 ] paintComponentじゃね?
165 名前:デフォルトの名無しさん mailto:sage [2007/08/03(金) 20:25:51 ] >>157 Jinputを使ってgamepadからの入力を受け付けるんですけど Jinputだといわゆるイベント(keyEvent)とかを発行しないんです。 だから現状はいつボタンが押されたか常にスレッドで〜msごとに どのボタンが押されてるかチェックしてるんですが、 もっと効率よくイベント発行するタイミング(ボタンおされた時)を調べるにはどうしたらいいかなと。
166 名前:デフォルトの名無しさん mailto:sage [2007/08/04(土) 00:33:16 ] jinputなんか知りまへん・・・と言いたいが、そのうち自分も使いたくなるかもしれないから調べてみる。 ・・・・・・ だめっぽいね。 一定時間ごとに poll するしかなさそうです。 よく考えたら DirectInput も joyGetPos も自分で取りに行くしかないっけか。。。 結論 → むり
167 名前:デフォルトの名無しさん mailto:sage [2007/08/04(土) 09:28:53 ] ソースコード上に書いたクラスのフィールドやメソッドの順番って、 コンパイル後やHotSpotコンパイラがネイティブコンパイルした後も維持されますか? どのVMならというのではなくて、言語仕様としてどうなのかなと。
168 名前:デフォルトの名無しさん mailto:sage [2007/08/04(土) 10:37:28 ] ソースの字面出現順にメモリにアラインメントされるかってこと? それなんて構造体? javaはレジスタすら動的に配置して定期的にメモリ内容かわってるのに。 ていうか配列すら最適化のために連続しておかれる保証はないのに。
169 名前:デフォルトの名無しさん mailto:sage [2007/08/04(土) 11:24:42 ] >>155 Swingとかでの話か? 1文字入力がある度に、KeyEventListenerで拾って処理するってのが定石 お前さんが思うほど不可はかからない もしくは、フォーカスが外れたタイミングで処理する CUIとかでの話であれば、System.in.read() 等はブロックする筈
170 名前:デフォルトの名無しさん mailto:sage [2007/08/04(土) 11:54:11 ] 自作classの使用方法についての質問です。 次のような構造でDBにアクセスするプログラムを作成しています。 (Console)--[入力取得と出力]--[データ加工]--[DBAHelperImpl implements DataStoreAccessHelper]--(MySQL) 注 [xxx]:自作Javaクラス、(xxx):システム外部を表します [DataStoreAccessHelper]は、情報の取得、情報の保存、取得した情報からオブジェクトを作成、 取得した情報をjava.util.Listで戻す、などのメソッドを宣言したインタフェースです。 [DBAHelperImpl]は、そのインタフェースをMySQL用に実装したクラスです。 ここで、[DBAHelperImpl]を使用する方法について調べたところ、3通りの方法が見つかりました。 (1) DBAHelperImplをnewして使用する (2) DBAHelperImpl内にstaticなインスタンスを作成し、 作成したインスタンスをDataStoreAccessHelperとして戻すメソッドを通じて使用する (3) DBAHelperImplをDataStoreAccessHelperとして作成して戻すクラスを新たに作り、 そのクラス経由で取得、使用する 私は(1)の方法で使用していたのですが、(1)の方法はあまり勧められないとの記述があり、迷っています。 諸兄のご意見をお聞かせください。
171 名前:デフォルトの名無しさん mailto:sage [2007/08/04(土) 12:03:26 ] >>168 > 配列すら最適化のために連続しておかれる保証はない まじでか。まあデカイ配列で落ちられても困るから有りだけど。
172 名前:デフォルトの名無しさん mailto:sage [2007/08/04(土) 12:34:34 ] >>170 (1)の方法で勧められない理由は何か説明できる? 説明できないならば、(1)の方法でも何も問題ない。 (2)は結局はImplがどれかを知らなければならないので(1)と何も変わらない (3)はいわゆるFactoryクラスを作るパターンだが、Implを状況に応じて使い分ける必要がないならばただのオナヌー
173 名前:デフォルトの名無しさん mailto:sage [2007/08/04(土) 12:42:55 ] (2)は後のリファクタリングを意識した冗長設計だな。 シングルトンにしたほうが都合が良いなら、内部でそうすればいいし、 DBAHelperImplに致命的なバグがあり、 工数的に他所のDAOをラップして返した方が都合が良い場合もある。
174 名前:デフォルトの名無しさん mailto:sage [2007/08/04(土) 12:49:43 ] >>167 フィールドは並び替えられているという話を読んだ覚えがある。 char a; int b; char c; みたいなのを順番どおり並べると隙間が出来て無駄なんで int b; char a; char c; に並び替えて隙間を詰める。
175 名前:デフォルトの名無しさん mailto:sage [2007/08/04(土) 13:17:36 ] 低レイヤーの話をするのは無意味。Cじゃないし。
176 名前:デフォルトの名無しさん mailto:sage [2007/08/04(土) 13:23:32 ] >>171 javaの配列が短形でなくて良いのはどうせ最適化されて実行時に都合の良いように再配置され凸凹になるから。 メモリアドレスで言えば番地が連続している訳ではないし、その必要も無い。 配列要素nがあったとして番地的にn+1の要素が隣の番地にあるとは限らない。 だからjavaの配列は順次アクセスが早いとは限らない。
177 名前:デフォルトの名無しさん mailto:sage [2007/08/04(土) 13:27:36 ] まあこのくらいの問題なら自分でアラインするより よっぽどスマートなメモリの使い方する(文字列以外)から気にしたら負け。
178 名前:デフォルトの名無しさん [2007/08/04(土) 14:58:42 ] javaで構造体(みたいなもの)を定義してその中のある要素でソートするにはどうしたらいいですか? たとえば 名前、身長、体重のデータからなる構造体を身長の高い順から表示するようなプログラムを作りたいんですが。
179 名前:デフォルトの名無しさん mailto:sage [2007/08/04(土) 15:30:54 ] compareTo
180 名前:デフォルトの名無しさん [2007/08/04(土) 15:31:04 ] OSのシステム言語を英語にするとコンソールの日本語が文字化けしてしまうのですが システム言語に関係なく日本語を文字化けさせないためには、どのようにすればよいのでしょうか? ロケールなどを設定してもダメでした…
181 名前:デフォルトの名無しさん mailto:sage [2007/08/04(土) 15:32:07 ] 仕様です
182 名前:170 mailto:sage [2007/08/04(土) 15:45:23 ] お答えありがとうございます。 現時点では(1)を否定する理由が思いつかないため、(1)でいこうと思います。 その後いろいろ調べてみました。 (2)を採用する理由は、実装クラスの内部的な変更に強くなる(インタフェースのメソッドのみを使用している限り、利用する側の修正がない)。 (3)を採用する理由は、実装クラスそのものが別のクラスに変更されることに強くなる(データストアがWeb、Fileなどに変わっても使える)。 このように理解したのですが、これで問題ないでしょうか。
183 名前:デフォルトの名無しさん mailto:sage [2007/08/04(土) 17:36:18 ] > (2)を採用する理由は、実装クラスの内部的な変更に強くなる(インタフェースのメソッドのみを使用している限り、利用する側の修正がない)。 > (3)を採用する理由は、実装クラスそのものが別のクラスに変更されることに強くなる(データストアがWeb、Fileなどに変わっても使える)。 (2) と (3) はほとんど同じことだと思うが。 (2) は DBAHelperImpl のメソッドで取得するとはいえ、 実際に何のクラスが返されてるか外からはわからないわけで。 別のクラスにすりかえることはカンタン。
184 名前:デフォルトの名無しさん [2007/08/04(土) 18:04:03 ] どなたかListについて教えていただきたいのですが 例えばArrayListでインスタンスを生成したListの変数があり そのリストには1000個の要素(文字列)が入ってるとします。 もっと具体的に書くと文字列"AAA"と"BBB"と"CCC"が それぞれ100個、400個、500個リストに格納されてるとして (格納されてる文字列の並びは適当) このときリストに格納されている各文字列の存在個数を高速に割り出す方法はありますでしょうか? パフォーマンスを無視すれば配列のサイズ分だけ回せば可能ですが それだと配列のサイズの二乗になってしまうので可変長データでやるにはかなり非現実的ですので
185 名前:デフォルトの名無しさん mailto:sage [2007/08/04(土) 18:14:53 ] >>184 ソートしてからなら1次でしょ。 StringはComparable<String>を実装してますよん。
186 名前:デフォルトの名無しさん mailto:sage [2007/08/04(土) 18:17:15 ] コピーしてマージソートしてから1週舐めるなら 文字列の種類が少ない場合に遅くなるかもしれんけどね。
187 名前:デフォルトの名無しさん mailto:sage [2007/08/04(土) 18:22:50 ] ハッシュマップで数えるとか。 for (String s : list) { if (hashmap.containsKey(s)) { hashmap.put(s, map.get(s) + 1); } else { hashmap.put(s, 1); } }
188 名前:デフォルトの名無しさん mailto:sage [2007/08/04(土) 18:26:02 ] TreeSetじゃだめなん?
189 名前:デフォルトの名無しさん mailto:sage [2007/08/04(土) 18:27:08 ] あーSetはだめだった。
190 名前:デフォルトの名無しさん mailto:sage [2007/08/04(土) 18:40:40 ] >>187 の方法でやったことあるけど十分早かったような
191 名前:デフォルトの名無しさん [2007/08/04(土) 18:41:43 ] いま軽くコレクションクラスでソートしてみたら恐ろしく簡単にソートできたので >>185 様の案で行くことにしました。ありがとうございました。
192 名前:デフォルトの名無しさん mailto:sage [2007/08/04(土) 18:52:16 ] ソートする必要なければ TreeMap/TreeSet よりか HashMap/HashSet のが速いよ Tree の利点はキーが常にソート順を維持されてるところ Hash は順序不定
193 名前:デフォルトの名無しさん mailto:sage [2007/08/04(土) 18:58:05 ] それじゃ187様の方法で行きます。ありがとうございました
194 名前:デフォルトの名無しさん mailto:sage [2007/08/04(土) 19:12:46 ] ところでListの配列をHashMapに変換または簡単に作成する方法ある?
195 名前:デフォルトの名無しさん mailto:sage [2007/08/04(土) 19:32:16 ] キーはいかがなさいますの?
196 名前:デフォルトの名無しさん mailto:sage [2007/08/04(土) 19:44:35 ] やっぱソートして比較することにした
197 名前:デフォルトの名無しさん mailto:sage [2007/08/04(土) 19:50:02 ] Stringのマイクロベンチマークは、String.equalsが落とし穴になるよな。 例えば定数をコンソールやテキストから入力するなら、s1 == s2 で true になることは無い。 静的にデータを持つならnew String(CONST_STR)みたいにしとくことが必要になる。 こういう正しいテストデータ作成用のライブラリってない?
198 名前:デフォルトの名無しさん mailto:sage [2007/08/04(土) 19:53:25 ] >>197 何がやりたいか分からん
199 名前:デフォルトの名無しさん mailto:sage [2007/08/04(土) 19:54:20 ] マイクロベンチマークがしたい。
200 名前:デフォルトの名無しさん mailto:sage [2007/08/04(土) 20:01:55 ] >>180 コンソール側のページコードでどうにかならない?
201 名前:デフォルトの名無しさん mailto:sage [2007/08/04(土) 20:02:07 ] >new String(CONST_STR)みたいにしとくことが必要 ここがわからない。 >正しいテストデータ ここもわからない。
202 名前:デフォルトの名無しさん mailto:sage [2007/08/04(土) 20:04:55 ] >>201 > ここがわからない。 >> 例えば定数をコンソールやテキストから入力するなら、s1 == s2 で true になることは無い。 言語仕様がわからないなら介入しなくていいから。
203 名前:デフォルトの名無しさん mailto:sage [2007/08/04(土) 20:05:37 ] equalsつかえよ
204 名前:デフォルトの名無しさん mailto:sage [2007/08/04(土) 20:08:27 ] 迷惑だからキミは絡まないで。
205 名前:デフォルトの名無しさん mailto:sage [2007/08/04(土) 20:08:54 ] とりあえず>>197 はアホ
206 名前:デフォルトの名無しさん mailto:sage [2007/08/04(土) 20:10:20 ] String.equalsの仕様を知らない馬鹿がなんか邪魔してくる・・・
207 名前:デフォルトの名無しさん mailto:sage [2007/08/04(土) 20:43:25 ] オブジェクトが一致する場合と一致しない場合で、equals が true になる場合の計算コストが違うことをいってるわけ? トーシロの俺には何がなんだか(´・ω・`)
208 名前:197 mailto:sage [2007/08/04(土) 20:46:30 ] 事故解決しますた
209 名前:208 mailto:sage [2007/08/04(土) 20:48:48 ] 誤爆です><
210 名前:デフォルトの名無しさん mailto:sage [2007/08/04(土) 20:57:44 ] /ニYニヽ /( ゚ )( ゚ )ヽ /::::⌒`´⌒::::\ でっていうwwwwwwww | ,-)___(-、| | l |-┬-| l | \ `ー'´ /
211 名前:デフォルトの名無しさん mailto:sage [2007/08/04(土) 21:55:52 ] 存在個数なら、ListなめてMapにカウント突っ込んでいけばいいんじゃないの?
212 名前:デフォルトの名無しさん mailto:sage [2007/08/04(土) 22:36:53 ] パフォーマンスの問題は、実際にパフォーマンス上の問題が起きてボトルネックが発見できた場合に対処すればいい。 机上の空論でのパフォーマンス対処ほど無駄なものはない
213 名前:デフォルトの名無しさん mailto:sage [2007/08/04(土) 22:40:59 ] /i /{/'⌒'} }}Y/ / ,r-、ヽ, / ノ、|、ヾ_,,ノ ノ ノ{ ヾ {^')) }フ/ / _/ \ヽ、 彡'`、、 'ー' ノ //",,゙ """ / ヽ 理 議 そ ヽ-、ミ‐-、、 、,r=‐'¬ー=、、,-‐'_ ヽ、 /ノ / 解 論 の ミ/ ~  ̄ノ /\ /彡 "" |/ で し な / ,' u ∪ ! ヽ | i、゙ー''"彡 /| き て め 、、∪ / ノ / _,,,...-‐‐ニ=,ノ,,/ ヽ、,,_ \ ,イ / | な い 方 ニ、=!, l_. レr=-ニ二、,,,.-'" ー、==-ヽ'"/ / ヽ い る を 、(・,)>ノ⌒ ∠,(・,)_く ゙` ヽ゚ノ`ー=、_ /// ∠ の こ  ̄/""゙ ヽ ̄ ̄ \ヽ  ̄ ̄ // ノ か と u 〈 、 u (ヽ //  ̄ノ ? も ヽ -' lj >、 // /  ̄ヽ、 /ヽー‐ 、 /'"´ 'i // / ∨ヽ/ ^゙"⌒ヾ、 ,i| ,"__} // / / ー- - ヽ_人`'′ // / / / i'゙' /-─‐‐''/_/_ 、 _/-‐ヽ、___,,,, -‐‐  ̄ ー-、、,,__,-‐'//ノゝノ ノ ヽ\
214 名前:デフォルトの名無しさん mailto:sage [2007/08/04(土) 22:45:30 ] >問題が起きてボトルネックが発見できた場合に対処すればいい どこの腐れ初心者ですか? あ、ここは初心者スレか。悪かった >机上の空論でのパフォーマンス対処ほど無駄なものはない 何千件とデータ回す場合を考えたら目に見えて明らかなんだが頭大丈夫かお前?
215 名前:デフォルトの名無しさん mailto:sage [2007/08/04(土) 23:00:33 ] それは凄い動体視力
216 名前:デフォルトの名無しさん mailto:sage [2007/08/04(土) 23:20:25 ] >>214 マジレスしとけば、数千件程度でパフォーマンスに影響出るって何時の世代のマシンだよw 数千回DBアクセスでもすんの? 数千回IOでもすんの?
217 名前:デフォルトの名無しさん mailto:sage [2007/08/04(土) 23:24:49 ] じゃあ数百万件に変更な。これでいいか?
218 名前:デフォルトの名無しさん [2007/08/04(土) 23:27:47 ] >>217 素直にDB使え
219 名前:デフォルトの名無しさん mailto:sage [2007/08/04(土) 23:36:24 ] >>217 そりゃアルゴリズムか設計に問題あるだろ
220 名前:デフォルトの名無しさん mailto:sage [2007/08/04(土) 23:42:42 ] >184だが、Listに文字列を突っ込む時にMapにカウントしておく 適当に書いたのでコンパイルは通らないと思うがこんな感じだ class StringList { List<String> list; Map<String, Integer> counter; public int add(String str) { Integer count = counter.get(str); if(count == null) { count = new Integer(0); counter.put(str, count); } count++; list.add(str); return count; } } 最初から数えておけばいいってこと
221 名前:デフォルトの名無しさん mailto:sage [2007/08/04(土) 23:57:17 ] 最初からカウントしてたら誰も質問しねぇわなww オナニーコードもほどほどにな
222 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 00:09:22 ] プッ
223 名前:デフォルトの名無しさん [2007/08/05(日) 00:34:48 ] longやintといったプリミティブ型の数値をbyte配列に変換するにはどうしたらいいでしょうか? longの値をbyte[8]の配列に入れたいのです。 何か方法がありましたらぜひお教えください。
224 名前:デフォルトの名無しさん [2007/08/05(日) 00:38:27 ] くそ天皇 くそ天皇 くそ天皇 くそ天皇 いい加減死ねっつってんだろ屑ニートくそ天皇が 相変わらず病的な粘着っぷりだな屑ニートくそ天皇が 毎日毎日毎日粘着出来て良いでちゅねくそ天皇 くそ天皇さっさと死にやがれゴミが 東京に在住している精神病珍米糞ニートくそ天皇君の末路 さっさと精神病院逝くか首吊って逝くか選べや糞天皇が 早く死ねよ糞ニート天皇が 粘着精神病屑ニート天皇君は自らニートくそ天皇であると公言しました さっさと死ねやくそ天皇が 早く死ねっつってんだろ屑ニートくそ天皇が お前みたいなゴミクズ天皇は息してるだけで空気が汚れるからさっさと死ねや とっと死に晒せや糞ニート天皇が
225 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 00:40:17 ] どういうふうに変換したいのよ。 どういうふうでもいいなら、これでどう↓ long x = 0; byte[] b = new byte[8]; new DataOutputStream(new ByteArrayOutputStream(b)).writeLong(x);
226 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 00:42:33 ] >>223 long l = 1000; byte b = (byte) l; という形でダウンキャストを行う そうすれば、上位ビットを無視するので、最下位のバイトが格納される。 上位バイトの取得は、ビットシフトを使えばOK
227 名前:デフォルトの名無しさん [2007/08/05(日) 00:42:42 ] くそ天皇 くそ天皇 くそ天皇 くそ天皇 いい加減死ねっつってんだろ屑ニートくそ天皇が 相変わらず病的な粘着っぷりだな屑ニートくそ天皇が 毎日毎日毎日粘着出来て良いでちゅねくそ天皇 くそ天皇さっさと死にやがれゴミが 東京に在住している精神病珍米糞ニートくそ天皇君の末路 さっさと精神病院逝くか首吊って逝くか選べや糞天皇が 早く死ねよ糞ニート天皇が 粘着精神病屑ニート天皇君は自らニートくそ天皇であると公言しました さっさと死ねやくそ天皇が 早く死ねっつってんだろ屑ニートくそ天皇が お前みたいなゴミクズ天皇は息してるだけで空気が汚れるからさっさと死ねや とっと死に晒せや糞ニート天皇が
228 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 00:42:51 ] byte[] binary = new byte[8]; ByteBuffer buff = ByteBuffer.wrap(binary); buff.put(longValue) もっといい方法が在るかもしれん。 あとJava内部のバイト配列はビッグエンディアンのはずだから気をつけること。
229 名前:デフォルトの名無しさん [2007/08/05(日) 01:01:41 ] くそ天皇 くそ天皇 くそ天皇 くそ天皇 いい加減死ねっつってんだろ屑ニートくそ天皇が 相変わらず病的な粘着っぷりだな屑ニートくそ天皇が 毎日毎日毎日粘着出来て良いでちゅねくそ天皇 くそ天皇さっさと死にやがれゴミが 東京に在住している精神病珍米糞ニートくそ天皇君の末路 さっさと精神病院逝くか首吊って逝くか選べや糞天皇が 早く死ねよ糞ニート天皇が 粘着精神病屑ニート天皇君は自らニートくそ天皇であると公言しました さっさと死ねやくそ天皇が 早く死ねっつってんだろ屑ニートくそ天皇が お前みたいなゴミクズ天皇は息してるだけで空気が汚れるからさっさと死ねや とっと死に晒せや糞ニート天皇が
230 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 01:07:06 ] 初心者じゃないんだけど、axisとかlog4jとか使ってるフリーのJavaライブラリを 複数使ってるとjarの中にあるクラスがバージョン違いで実行エラーになるんだけど どうしたらいいんだろう。 実行中にロードされたクラスファイル全部を見直して、モジュールの競合を解決してくれたり 何がいけないのかを判断してくれるツールないかなー?
231 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 01:12:54 ] >>230 ・競合ライブラリを最新のものに統一する。動かない部分は自前で修正 ・それかクラスローダを分ける
232 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 01:14:47 ] >>231 クラスローダを分けるとClassクラスとかでインスタンス生成するとき面倒じゃない? 競合ライブラリを最新のものにして、古いメソッドや仕様変更したAPI使ってたら、アウトだし。
233 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 01:18:44 ] 初心者じゃないって前振りはいったいなんだったのだろうか。
234 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 01:21:31 ] class A<T> { List<T> list = new ArrayList<T>; public List<T> getList() { return list; } } みたいにクラスにリストを持たせたとき、 A<Hoge> a = new A<Hoge>(); に対して a.getList.add(hoge1); とか a.getList.remove(hoge2); って出来ないの?やってみたところできてないっぽいんだけど
235 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 01:26:58 ] できるでしょ。 >a.getList.add(hoge1); a.getList().add(hoge1);
236 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 01:29:07 ] uho-勘違いしていました お恥ずかしい(-_-) >>235 回答ありがとうございました
237 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 02:33:58 ] 複数のスレッドから操作されるフィールドcountに volatlieを付けるとする。どの程度保障されるもの? while (count < 0) { } public void setCount() { this.count = count; }
238 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 02:35:06 ] 仮引数書き忘れた。。。
239 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 02:44:20 ] そんな意味不明なコード片じゃ何が言いたいのかわからん。 count++; みたいなコードは、volatile であってもアトミックにならない。他のスレッドが割り込む可能性がある。 つまり count++; をするスレッドが複数あったらだめ。 書き込むスレッドがひとつだけの場合は複数のスレッドから読んでも大丈夫。 ・・・ていう話? それとも volatile の正確な定義が知りたいのん?
240 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 02:45:56 ] Java の volatile はいい加減な実装になってる可能性がある、 って話を見たことがあるんだけど、今でもそうなの?
241 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 02:55:30 ] 可能性の話をされてもなぁ。 1.4 以前と 5.0 以降で volatile の仕様が変わったという話はある。 少なくとも 5.0 以降は仕様どおり実装されてんじゃない? Sun の VM では。 でなきゃ、java.util.concurrent.* あたりが今ごろ異常動作しまくりのはず。 詳しい話はこのへんでもどうぞ↓ www-06.ibm.com/jp/developerworks/java/040416/j_j-jtp02244.html www-06.ibm.com/jp/developerworks/java/040514/j_j-jtp03304.html www-06.ibm.com/jp/developerworks/java/library/j-jtp06197.shtml
242 名前:223 mailto:sage [2007/08/05(日) 03:25:44 ] >>225 ,226,228 回答ありがとうございます。 勉強になりました。 昔ならったコボルでは long l=0x0123456789abcdefL; byte[] b=new byte[8]; b=l; で、lをbに代入すると [01][23][45][67][89][ab][cd][ef] こんな感じにカパッと当てはまったなー、javaではどうやればいいんだろうと思ったしだいです。 ビッグエンディアンには注意します。
243 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 04:02:50 ] Java内部がビッグエンディアンというか、 Data*StreamやデフォルトのByteBufferがそう補正してるってのが正しい?
244 名前:デフォルトの名無しさん [2007/08/05(日) 04:09:43 ] 正しくない。 というか意味がわからん
245 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 04:40:07 ] 意味が分からないなら書くな。てかJavaDocに載ってる。
246 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 05:17:10 ] 最近byteとintの単項数値昇格ネタ増えたな。 俺自身バイト指向でデータ扱うことが減ったのですっかり忘れてた。 "& 0xFF"で下位bitのみとれって話だよね。
247 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 09:05:18 ] Jakarta CommomsのHttpClientについてのいいページない? ググったけど、情報量が足りないページばかり。
248 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 09:22:41 ] >>247 情報量って。。。本家にいくらでもあるだろ
249 名前:デフォルトの名無しさん [2007/08/05(日) 09:27:21 ] ファイルの入出力をしているのですが、 もしプログラムと同じディレクトリに入出力用ファイルあれば、 そのファイルから中身を取り出し・加工して再びそのファイルに書き出す。 もし無ければ、新しいファイルを作成して、そこに書き出す。 という用に行いたいのですがどの様にしたら良いでしょうか? 教えてください。
250 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 09:50:44 ] >>249 どのJAVAの入門書でもサンプルコードが載ってるだろ ググれば山ほどあるだろ
251 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 11:27:43 ] >>242 時代の流れだな Javaでバイトを意識してデータを扱うケースは稀だし、知らない技術者も多い
252 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 13:02:22 ] String型変数に入っている(2バイト)文字の文字列を 漢字、ひらがな、カタカナ、その他記号などといった種類別に分割するということを 「プログラミング言語Javaに関する質問スレです。」 ↓ 「プログラミング」「言語」「Java」「に」「関」「する」「質問」「スレ」「です」「。」 Javaで(効率よく)やるにはどのようにしたらよいでしょうか? (というか、文字種別をどうやって判断したらよいでしょうか?) 文字コードによる問題などもありますか?
253 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 13:07:50 ] ひらがなとカタカナは順序どおり並んでるらしいからif thenでやるのが簡単っぽいけど
254 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 13:10:03 ] 漢字・ひらがななら3バイトだと思うのは置いといて、 自然言語解析するか単純にテキストそう舐めして用意しといた単語リストと照らすか。 日本語はRPNなのでry 言い出したら切りがないな。
255 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 13:12:39 ] UFT-16なんだから、全部2バイトだろ
256 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 13:14:09 ] volatlieの件だけど、1.5ならいけそうです。 ありがとう、検証してみます。 1〜400のスレッドから操作を受けてるみたい
257 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 13:36:33 ] >>256 1.5ならば、AtomicIntegerの使用を検討してみたら? アトミックな操作が簡単に出来る ただ、そもそもスレッド周りの勉強をした上でスレッドに手を出した方がいい
258 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 13:39:45 ] >>252 効率よくやる方法はかなり難しいのではないか? 英語のように単語間がスペースで区切られているなら楽だろうが・・・ ぱっと思いつくのは、カタカナ・ひらがな・半角英数(といくつかの記号)は正規表現かなにかで定義 漢字で抽出するのは難しすぎるので「その他」で我慢する 後は、頭から崩して連結していくしかないと思う 下手に文字コードを数値で表現した所で、バグは増えても実行性能は大してかわらなそ
259 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 13:40:16 ] スレッドに手を出さなきゃスレッドの勉強なんぞできないだろ このスレの自称中級者どもはうざいのばっかだな・・・
260 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 13:51:02 ] お前は新しい技術をコピペでもして使ってから勉強するのか? 動けばいいという低レベルなマの典型だな
261 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 13:56:40 ] お前のコードはバグだらけなんだろうな。 普通は模範的なコードを見て覚えるもんだ。
262 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 13:58:18 ] 模範的なコードを意味も含めて理解することが勉強ではないのか?w
263 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 13:59:59 ] >>262 お前自身が何も理解してなさそうだな。この流れをみるに。
264 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 14:02:00 ] >260の頭が悪いということは解った
265 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 14:02:53 ] 初学者がvolatileって単語にたどり着いてる時点でGoサインはでてるだろ いじって覚える絶好のころあいだと思うのだが違うのか?
266 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 14:27:56 ] 別の人がさわらないプログラムだからと言って、クラス変数を全てpublicにしたら怒られそうですが。 public class Hogegege { private String name__; public String getName() { return new String(name__); } } っていうように、クラス変数を要求されたときに 新たに生成したものを返して絶対に変更できないようにした方がいいんでしょうか? それとも単に return name__; でOK?
267 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 14:32:10 ] String は元から絶対に変更できないから単に return でOK。 変更できるようなオブジェクト (普通の配列とか) は clone した方がいいこともある。
268 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 14:40:46 ] StringやIntegerなどは不変クラスと呼ばれる値オブジェクトとして理想的な構造を持ってる。 例えばOSごとの改行コードを返すクラスがあるとして、 それがchar[]で返されるものなら、それは return clCode.clone(); とかすべき。 コレクションならCollections.unmodifiable系メソッドでラップするのもよし。
269 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 14:50:07 ] 定数にコレクションを使うときに下のようにすることもある。 public static final Set<String> SUPPORTED_LANGUAGE; static { Set<String> set = new LinkedHashSet<String>(); set.add("ja"); set.add("en"); SUPPORTED_LANGUAGE = Collections.unmodifiableSet(set).; }
270 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 14:52:08 ] 要求された側が何をしたいかにもよる 要求された側も何をさせてOKかを考える その上で生で公開させてもいいし、防御的にコピーを返してもいい 結局は要求次第だが、なるべくは防御的にするのがセオリー Stringに関しては>267,268の説明の通り たが、char[]をコピーするか否かは要件次第なので、一概にコピーするべきとは言えない
271 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 15:41:35 ] 変なのが騒いでるが だれか満を持してネタ投下した>>255 に突っ込んでやれよw UTF系は固定長じゃないぞ。
272 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 16:15:11 ] UTF-32は固定長だが、UTFじゃなかったのか。
273 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 17:10:30 ] UTF-32は21bitになったUnicode3.1の全コードを単一のbit長で表現するために 後から作られたから可変長にする必要がないだけだよ。 アレが特殊。21bit範囲内はUCS-4と互換性を取るって目的もあるし。 可変長より固定長の方が扱いやすいからbitの無駄使いより扱いやすさを優先した符号化方式。 UTFは元来可変長で表すもの。
274 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 17:13:49 ] サロゲートがそもそも後付けだろ
275 名前:132 mailto:sage [2007/08/05(日) 17:31:38 ] 連結って意味だったんですね^^; 謎が解けましたorz ありがとうございました。
276 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 17:48:43 ] サロゲートが後付けって言うかUnicode作り出した段階で すでに16bitじゃ足りないのは分かってたけどそれに対処したのが遅れただけ。 実装側の互換性の問題とかがあったから。
277 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 18:02:43 ] StringBuffer key = new StringBuffer(); Random random = new Random(タネ); for(int index = 0;index < 20;index ++) { key.append((char)('A' + random.nextInt() % 26)); } ランダムなAからZまでの文字を20個追加したいのですが、 変な文字列が連結されます。何がいけないのでしょうか? おしえてください。
278 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 18:08:47 ] >>277 nextInt()は32ビット乱数のはずだから負数も取った気がした。 0と自然数だけ欲しければnextInt(26)ってやれば0〜25をとるよ。
279 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 18:10:52 ] >>277 出来ました!どうもありがとうございます。
280 名前:デフォルトの名無しさん [2007/08/05(日) 18:13:04 ] >>277 random.nextInt() でマイナスも含まれるから。 試しにrandom.nextInt() だけ出力してみるといい random.nextInt() にはオーバーロードメソッドで、0からnまでの乱数を返すrandom.nextInt(n) がある random.nextInt(26) で試せば期待した結果になると思われ
281 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 18:23:18 ] アンカーミスった >>278 >>280 思い通りの動作が出来ました、どうもありがとうございますm(_ _)m
282 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 19:52:27 ] >>276 サロゲートペアはUnicode誕生から5年後に導入されたんだが。 適当なこと書かないでおくれよw
283 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 21:45:02 ] 小生、Eclipseを使って開発しているのですが 本日「BufferUnderflowException」なるものが発生しました。 ググってみたところ「相対「get」操作がソースバッファのリミットに達したときスローされる、チェックされない例外です。」 との記述があったのですがよく意味がわかりませんでした。 ここでいうソースバッファのリミットとはコンパイラーのメモリのことを指しているのでしょうか? もしメモリ関連のサイズのことを指しているのでしたらどこで設定できるのかどなたか教えていただけないでしょうか? ちなみにEclipseの設定→Java→インストール済みのJREに指定しているのは最新のJRE1.6.0です。
284 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 21:53:47 ] いや。 java.nio.ByteBufferあたりのクラスのget系メソッドでサイズをオーバーして読み込んでしまった意味。 配列で範囲外のインデックスを使ったっていうのに近い。 単にプログラミングミス。
285 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 22:04:45 ] >>283 相対操作はpositionが読み込んだ値のバイト数分先に進むんだよ。 あと何バイト読み込めるかはremainingで確認できる。 構造体チックに各メンバ変数の並びを仮定して使うなら、0, 4, 8みたく プリミティブごとのバイト数を足して絶対アクセスすればいい。
286 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 22:10:18 ] プログラムミスだなんて・・・・そんな・・・ 実績のある会社が提供してる有料のライブラリーに含まれるメソッドを使ってたんだけど 使い方がわるかったのかなぁ・・・あーもう嫌ぽ
287 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 22:20:12 ] すいません、javaである処理を実行すると コンソールの初めあたりに以下のようなエラーメッセージが出て VM?ごと処理落ちしてしまいます。 しかもこれは必ずは発生するというわけではなくて不定期に出てしまいます。 不定期ですが処理を繰り返しているとすぐ発生する感じです。 JREのランタイムも最新のものを指定いるのですが相変わらず発生します。 どなたかわかる方がいらっしゃいましたら教えてください 「An unexpected error has been detected by Java Runtime Environment」
288 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 22:29:50 ] エラーログ嫁
289 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 22:39:56 ] 申し訳ありません。エラーログ?を読んでもさっぱりわかりませんでした。 通常のログとは違ってこの処理落ちの場合にのみ生成されるログをのことだと思いますが なんか「Thread」「Process」「System」といった感じにわけられて情報を ダンプしているような感じに見受けられましたがエラー原因となるような記述は 書かれているのかいないのかサパーリでした。なにか読み方があるのでしたら教えてください
290 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 23:03:08 ] forum.java.sun.com/thread.jspa?threadID=777177 こういう感じのやつか? 最初のほうの#がついた行をうpしてみ
291 名前:デフォルトの名無しさん mailto:sage [2007/08/05(日) 23:27:01 ] あぁそれですわ。でもログは職場のマスィーンにあるので今うpできんのです申し訳ないです
292 名前:デフォルトの名無しさん [2007/08/06(月) 00:13:57 ] >>286 ソースコード読んでみろ 実績のある会社ならばソースコードくらい提供できる 出来ないとか抜かすならば金払う必要なし 逆コンパイルしてバグ見つけて訴訟もおk
293 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 00:42:55 ] >>287 それってJavaからネイティブモジュール読み込んでます?*.dllファイルとか? それだともしかしたら、PCの相性が悪いだけかもしれません。 自分もJNIを用いたプログラムでブルースクリーン出した事がある。しかも不定期。。
294 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 01:06:59 ] ネイティブ使用ならVM引数にXcheck:jniをつけてみる しかし>>287 のよーな現象に陥ったことがない為役にたつかはわかんない。
295 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 01:15:05 ] >>286 まぁその会社のサポート窓口に訊いてみれば? 使い方の問題にせよバグにせよ、なんらかの返答はあるでしょ。
296 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 01:16:58 ] JDI でオブジェクト生成を監視するのってどうすれば良いとおもう?
297 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 03:02:37 ] >>282 お前は日本語理解しような。 16bitじゃ足りないのは初期段階から分かってたけど実装側を無視できなかったから"Unicode誕生から5年後に導入された"んだろうが。 だいたいjavaなら普段は拡張面無視してるからUTF-16で16bit単位の可変長だろうが。 固定長なのはUCS-2ですよw
298 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 08:10:39 ] UCS-2 UCS-4 っていうのは文字集合であってエンコーディングじゃないんでは?
299 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 12:16:16 ] >>252 単純にやりたいなら、java.text.BreakIterator#getWordInstance() 本格的にやりたいなら、形態素解析が必要。
300 名前:デフォルトの名無しさん [2007/08/06(月) 18:37:52 ] //Sample1 AAAAA * BBBBB //Sample2 XXXXX YYYYY ZZZZZ という中身のSample1.txtとうファイルを読み込んで *の部分にSample2.txtというファイルの中身を書き加えて Sample3.txtというファイルに書き込むとすればどうやって記述すればよいのか 教えてください。 //Sample3 AAAAA XXXXX YYYYY ZZZZZ BBBBB
301 名前:デフォルトの名無しさん [2007/08/06(月) 18:41:13 ] >>300 1. Sample1.txtを読み込む 2. Sample2.txtを読み込む 3. Sample3.txt に Sample1.txt と Sample2.txt の内容を書き込む
302 名前:デフォルトの名無しさん mailto:sage [2007/08/06(月) 18:46:53 ] Sample1.txtを少しずつ読む *かどうか調べる *ならSample2.txtの内容をSample3.txtに書く *でないなら今まで読んだSample1.txtの内容をSample3.txtに書く Sample1.txtの終わりまで繰り返す
303 名前:デフォルトの名無しさん [2007/08/06(月) 19:30:00 ] >>301 >>302 ありがとうございます やってみます
304 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 01:38:48 ] あの、関数の引数にfinalは付けるべきでしょうか。 関数内では値を変えることがないし変わって欲しくない場合、 finalを付けた方がいいとは思うんですが、 全てに付けているとパラメータの部分が長くなってしまい見づらいといえば見づらいです。 常識的にはどうするべきなんでしょうか。
305 名前:デフォルトの名無しさん [2007/08/07(火) 01:49:10 ] >>304 限りなく好みかもしれない場所の1つだな finalにした所でオブジェクトの内部は変更される可能性はある 引数に対して再代入する事自体を禁止し、FindBugsアタリでチェックしておけば不要とも言える (逆に言えば、メソッド内で引数への再代入を防止する為にfinalを付ける、だがw) 個人的には不要派
306 名前:デフォルトの名無しさん [2007/08/07(火) 01:50:10 ] final付ける場合と付けない場合もあるし、 つけなくてはエラーになるときがある。 べつに無理につける必要はないと思うのだが....
307 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 01:52:40 ] >>304 プロジェクトで決められてたら、それに従えばいい。そうでなければ好きにすれば良い。 経験的には手作業で final 付けてると、そのうち嫌気がさして止める。
308 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 02:06:45 ] 一番最初にやるHelloWorldなんですけどテキストに書いて それをコンパイルしようとしたんですけど 「javacは内部コマンドまたは外部コマンド、操作可能なプログラム またはバッチファイルとして認識されていません」となってしまいます。 どうしたらコンパイルできるようになりますか?
309 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 02:08:35 ] 環境変数でググれ
310 名前:デフォルトの名無しさん [2007/08/07(火) 02:10:14 ] >>306 final付けなくてはエラーになると本気で思っているならば勉強不足 それは匿名クラスなどに参照を渡しているからだろう
311 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 02:10:26 ] 環境変数PATHを設定する
312 名前:308 mailto:sage [2007/08/07(火) 02:23:25 ] とりあえずみんなが指摘してくれた通り環境変数見てみたんだけど多分あってると思う。 ;C:\Program Files\Java\jdk1,5,0\binをpathに加えればいいんだよね?
313 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 02:23:54 ] JDBCでのデータベース接続ができなくて困っています。以下のように作業を進めました。 postgres@debian$ createdb hellodb ------Connector.java------ package db; import java.sql.Connection; import java.sql.SQLException; import java.sql.DriverManager; public final class Connector { private static Connection conn; static { try { Class.forName("org.postgresql.Driver"); } catch (ClassNotFoundException ex) { throw new InternalError(ex.getMessage()); } } private Connector() { } public static Connection open() throws SQLException { return DriverManager.getConnection("jdbc:postgresql://debian/hellodb", "postgres", ""); } }
314 名前:308 mailto:sage [2007/08/07(火) 02:26:07 ] やっぱり駄目だ・・・誰か助けてくれ
315 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 02:27:05 ] カンマとピリオド再確認
316 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 02:33:38 ] あと、本当に 1.5.0 かどうかも。 実は 1.6.0 をインストールしてましたとか。
317 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 02:34:29 ] ------ConnectorTest.java------ package db; public class ConnectorTest { public static void main(String[] args) { System.out.println(Connector.open()); } } postgres@debian$ java -cp .:/usr/share/java/postgresql.jar db.ConnectorTest ------エラーメッセージ------ org.postgresql.util.PSQLException: Connection refused. Check that the hostname and port are correct and that the postmaster is accepting TCP/IP connections. db名、ユーザ名、パスワード名は大丈夫だと思うんですが・・・。
318 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 02:50:20 ] >>312 > ;C:\Program Files\Java\jdk1,5,0\binをpathに加えればいいんだよね? を加えちゃいかん ;"C:\Program Files\Java\jdk1,5,0\bin" 空白文字の扱いを知らんのか
319 名前:318 mailto:sage [2007/08/07(火) 02:52:26 ] しかもピリオドでなくてカンマやんw ;"C:\Program Files\Java\jdk1.5.0\bin"
320 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 02:53:01 ] >>312 pathに加えた手順を説明してみて
321 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 03:01:01 ] java的にはfinalな引数を導入したのは内部クラスから参照するためって事を知ってる前提で話してるんだよね? 人に聞くくらいなら内部クラスない場合は好み程度、と考えておけば良いんじゃない? 自分からfinal付ける明白な理由もなさそうだし。
322 名前:308 mailto:sage [2007/08/07(火) 03:04:37 ] 駄目だ・・・何でできないんだ?とりあえず315さんにいわれたようにカンマとピリオドはおk そして318さんに言われたとおりに;"C:\Program Files\Java\jdk1.5.0\binってPathのあとに つけて今にいたりました>>320
323 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 03:08:53 ] PATHをマイコンピュータのプロパティから変更してるなら、 プロパティをOK押して閉じてからコマンドプロンプトをいったん閉じて開きなおす。
324 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 03:10:35 ] そもそもC:\Program Files\Java\jdk1.5.0\binってフォルダの中にjavac.exeがあるのかね?
325 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 03:13:11 ] >>322 ちなみにうちの環境だと C:\Program Files (x86)\Java\jdk1.5.0_01\bin にjavac.exeはある
326 名前:308 mailto:sage [2007/08/07(火) 03:24:33 ] なんか頭がもうパニックだ・・・とりあえず本に書いてある通りに書くと class Examplel { public static void main(String args[]) { System.out.println("This is the output from Examplel"); } } をかいてそれをファイル名はExamplel.javaにして保存。実行するためにコマンド開いてjavac Examplel.java入力するらしい。 もう俺にはお手上げです。
327 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 03:28:25 ] >>326 それは関係無い コマンドプロンプトから "C:\Program Files\Java\jdk1.5.0\bin\javac.exe" -version って入れて Enter 押して結果を教えなさい
328 名前:308 mailto:sage [2007/08/07(火) 03:31:03 ] 指定されたパスが見つかりませんたって出ました
329 名前:デフォルトの名無しさん [2007/08/07(火) 03:31:06 ] ClassPath通してる?
330 名前:308 mailto:sage [2007/08/07(火) 03:33:52 ] よくわからない
331 名前:デフォルトの名無しさん [2007/08/07(火) 03:33:54 ] C:\Program Files\Java\jdk1.5.0\libの中の jarファイルにクラスパス通してないんじゃないの?
332 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 03:34:39 ] >>328 マイコンピュータ開いてCドライブ開いて・・・って辿っていってjavac.exeのあるフォルダ確認して。 Windowsの種類やJDKのバージョンによってこのフォルダのパスは変わるから。
333 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 03:35:11 ] よく釣りに付き合ってますねー 肝心なとこスルーして答えてないしメチャクチャ釣り臭いんですけど
334 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 03:36:37 ] >>333 は教えることもスルーすることもできないゴミ
335 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 03:36:45 ] >>328 ってことは、原因は 『C:\Program Files\Java\jdk1.5.0 に Java SDK をインストールしていない』 ってことになるんだけど、 [1] ダウンロードした SDK の確認(JDK と JRE と間違えてないか) [2] インストール場所の確認 をお願い
336 名前:デフォルトの名無しさん [2007/08/07(火) 03:36:45 ] 釣りだべ
337 名前:308 mailto:sage [2007/08/07(火) 03:45:11 ] ごめん釣りじゃなくて本当にわかんないんだよ・・・喧嘩しないでくれ >>332 よくわからない調べ方が。>>335 も調べ方がわからない。本当にすまん。初心者なんだ。
338 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 03:45:46 ] >>337 次の各問いに○か×で答えよ 1.C:\はあるか 2.C:\Program Filesはあるか 3.C:\Program Files\Javaはあるか 4.C:\Program Files\Java\jdk1.5.0はあるか 5.C:\Program Files\Java\jdk1.5.0\binはあるか 6.C:\Program Files\Java\jdk1.5.0\bin\javac.exeはあるか
339 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 03:51:11 ] もうjavac.exeをハードディスクの中で検索したら?
340 名前:308 mailto:sage [2007/08/07(火) 03:55:34 ] 1○ 2○ すまんもうこれ以上わからん・・・
341 名前:308 mailto:sage [2007/08/07(火) 03:56:15 ] >>339 ごめん。どうすればいいですか?
342 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 03:56:28 ] 実はJDKをインストールしていませんでしたというオチ?
343 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 03:57:58 ] >>340 じゃあJDKをインストールしてないんじゃないの? これはPCに元から入ってるものじゃないよ どこからダウンロードした? そもそもダウンロードすらしてない?
344 名前:308 mailto:sage [2007/08/07(火) 03:58:09 ] いや本についてる奴インストールしたと思う。
345 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 03:58:13 ] >>341 たぶんね、まじめな話パソコンに慣れてからのほうが良いと思うんだ。 門前払いする気は無いんだけど、PC の知識はどうしても必要になるから、今のままだと今後さらに悩むことになる。 とりあえず寝れ。寝て起きてまた考えろ。
346 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 03:59:20 ] >>341 HDD内のファイル検索すらしたことが無いのか? プログラミングはかなり時期尚早だよ。
347 名前:308 mailto:sage [2007/08/07(火) 04:01:15 ] >>345 なんかみんなの話聞いてたら確かに自分は早すぎるなと思ったわ・・・_| ̄|○ とりあえず今日はもう一回インストールしてみて寝ます。ありがとうございました。
348 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 04:03:34 ] >>347 インストールの途中で出てくる説明はよく読んでね 特にインストール先のフォルダを指定するところがあるだろうからそこはメモしておくといい
349 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 04:03:45 ] >>347 今みたいに、Java を勉強する過程で PC についての知識を深めるという荒業もある じっくりやれば良いと思うぜー
350 名前:308 mailto:sage [2007/08/07(火) 04:16:29 ] >>349 >>348 ありがとうございます。まだ基本的な知識が抜けているので自分で勉強しながらROMしようと思います。 質問できるレベルに達したらまた顔をだそうと思います。
351 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 04:23:37 ] >>304 引数につけた final はメソッドを使う側からは見えないので、 完全にメソッドの実装側の都合となるためそれほど重要でない。 >全てに付けているとパラメータの部分が長くなってしまい見づらいといえば見づらいです。 ここ重要。使い捨てでない限り、ソースコードは人が読む文書。しかも、唯一完全な文書。 意図せず誤ってパラメータへの代入を防ぐメリットとのトレードオフだが、 それが一目で分からないような複雑なメソッドはむしろリファクタリングの対象と思われ。 不要派が多いんじゃないかな。自分も不要派
352 名前:351 mailto:sage [2007/08/07(火) 04:42:09 ] 補足。 引数に final をつけることにより、 ソースコードの読み手にその意図を伝える役割があるが、 そもそも、引数に代入を行うこと自体が混乱を招くことなので 通常やらない(むしろ、そのようなコードはリファクタリング対象)。 したがって、この意味でも、引数に final をつける意義は薄れている というのが、不要派のおいらの個人的意見
353 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 07:35:11 ] C++でもconstを引数に使うのはconst char *のようなケースだけだものね。
354 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 07:44:14 ] いやC++のconst参照渡しは中身を書き換えないところまで保障するから別だとおもうが……
355 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 08:09:04 ] char * const s といった使い方はまずしないということだろ。 javaでfinalにした場合はこの意味だから。
356 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 09:32:08 ] >>352 引数に代入行うと混乱するぐらい長いメソッド自体の方をリファクタリング対象にした方が良いような。 短いメソッドなら引数に代入されても大して混乱しないし。
357 名前:デフォルトの名無しさん [2007/08/07(火) 09:52:57 ] >>356 長いメソッド云々の前に引数に代入すんな、って話だと思う どっちも糞コードなのは間違いないが、長いメソッドは可読性が低いだけ、引数に再代入するってのはバグと言ってもいいだろう
358 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 10:04:10 ] Javaにもいい加減constとfriendクラスが欲しいです
359 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 10:16:01 ] >>357 なんで引数に代入しただけでバグになるんだ…… 変更前の引数の値を期待してるところが残ってるのに、引数変更しちゃうと バグの元になるってんならわからなくもないけど、短いメソッドなら修正容易だし。
360 名前:デフォルトの名無しさん [2007/08/07(火) 10:17:14 ] www.vipper.net/vip299169.jpg この中で削除して良い物は在りますか?
361 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 10:25:39 ] >>360 JRE が一つでもあればいいのなら、赤線の枠内は全部削除して良い。 J2RE5 が一つはあった方が良いなら、赤線の枠内は J2SE Runtime Environment 5.0 update11 残して全部削除。
362 名前:デフォルトの名無しさん [2007/08/07(火) 10:37:28 ] >>359 限りなくバグに近いだろう、例外の握りつぶしとかと同じレベル 極端な話、引数は自然にfinalでもいいだろうと思う
363 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 10:39:32 ] ついでに、6 の Update 2 があるんだから、 6 の Update 1 も削除していいんじゃない?
364 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 10:40:02 ] 理由も無しに「バグに近い」とか言われても。夏だなぁ、としか。
365 名前:デフォルトの名無しさん [2007/08/07(火) 10:50:36 ] 理由も解らないなんて夏だな
366 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 10:50:39 ] >>362 にとってはバグなんだろ そっとしといてやれ
367 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 10:59:07 ] どっちでもいいんだけど、そもそもバグの定義ってなんだ?
368 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 12:25:51 ] 質問よろしいでしょうか。 ある文字列をキーに検索を行うプログラムを作っています。 その文字列のキーをワイルドカード(一文字マッチは"?"で行います)でも使用できるようにしたいと思い、文字列を末尾から"?"に置換するメソッドを作りました。 String value = "AAAAA"; int len = value.length(); for (int i = 0; i < len; i++) { String s = exec(value, len, i); // 検索処理 } public String exec(String _s, int _len, int _i) throws Exception { StringBuffer sb = null; try { sb = new StringBuffer(_s.substring(0, _len - _i)); while (sb.length() < _len) { sb.append("?"); } return sb.toString(); } catch(Exception e) { throw e; } }
369 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 12:26:05 ] 自分の思った通りにならなくて駄々をこねる状態にさせるもの
370 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 12:27:55 ] これでAAAAA, AAAA?, AAA??, AA???, A????という文字列から検索を行えますが、 このメソッドを以下のような文字列を返すメソッドにしたいと思います。 パラメータが"ABC"なら、(2 ** 文字列長)回のループで以下の文字列を順番に返す。 1回目:ABC 2回目:AB? 3回目:A?C 4回目:A?? 5回目:?BC 6回目:?B? 7回目:??C 8回目:??? どなたかご教示頂けないでしょうか。
371 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 12:35:51 ] >>370 32文字以下に限るけど、 2^n 回ループで、iが媒介変数だとして、 「iのmビット目が立っていたらm文字目を?に置き換える」という処理を n回やればいいんでは。
372 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 13:12:42 ] buildSearchKey とかが良いと思うんだ
373 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 13:23:56 ] >>370 import java.math.BigInteger; import java.util.*; public class A implements Iterable<String> { private String s; public A(String s) { this.s = s; } public Iterator<String> iterator() { return new B(); } private class B implements Iterator<String> { private BigInteger i = BigInteger.ZERO; private final BigInteger m = BigInteger.valueOf(2).pow(s.length()); private final int len = s.length(); public boolean hasNext() { return i.compareTo(m) < 0; } public String next() { if (i.compareTo(m) >= 0) throw new NoSuchElementException(); StringBuilder sb = new StringBuilder(s); for (int j = 0; j < len; j++) if (i.testBit(j)) sb.setCharAt(len - j - 1, '?'); i = i.add(BigInteger.ONE); return sb.toString(); } public void remove() { throw new UnsupportedOperationException(); } } }
374 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 13:24:37 ] 使い方はこんな感じで import java.util.*; public class C { public static void main(String[] args) { Iterator<String> iterator = new A("ABCD").iterator(); while (iterator.hasNext()) { String s = iterator.next(); System.out.println(s);//本当はsを使って検索処理 } } }
375 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 13:28:05 ] 簡単に書くならこうでもいい for (String s : new A("ABCD")) System.out.println(s);
376 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 14:18:24 ] 引数への再代入は否定せんが仮引数名から (変数の役割が)意味が変わる再代入は反対だな。アレは書いた奴にしか読めん。 friend欲しいのは設計が悪い。 constはjavaでは無意味。
377 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 14:34:18 ] constっぽいものはJSR-308のサンプルにある @Readonlyが追加されたら近い事が出来るようになるかも?
378 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 14:44:21 ] >@Readonlyが追加されたら近い事が出来るようになるかも? generics組み合わせたりすると型名がやたら長くなるのはいただけないけど、 コーディングミスを考えるとやむを得ないか……
379 名前:368, 370 mailto:sage [2007/08/07(火) 18:02:05 ] >ご回答下さった各位様 ありがとうございます。 少々違った形での実装となりそうですが、無事に進められそうです。 // 検索キーの桁数を考慮しないと酷い性能に……orz
380 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 18:09:40 ] なんかよくわからんが、元の検索キーから正規表現を構築してそれで検索した方が簡単じゃない?
381 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 19:42:29 ] 集計やイテレータを担う変数など、変化することが前提であるもの以外は、 引数を含むローカル変数は基本的に再代入禁止にした方がよいし、そうすることが可能。 外科手術に例えると、高度な手術は可能な限り無菌状態を保つことで初めて可能になる と、どこかのお偉いさんが言ってたヨ また、このリファクタリングは、他のリファクタリングを行う際の前処理にもなる場合もある。 例えば、ローカル変数の内容をメソッドから取り出すようにリファクタリングする際、 内容がメソッドの場所によって変わってたら困る。
382 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 20:34:27 ] 明示的にコンストラクターを起動している間、インスタンス・フィールド name は参照できません このエラーはどういうことでしょうか? 調べてもわからなかったです。すみません。
383 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 20:49:06 ] スーパークラスのコンストラクタが終わるまでのあいだ this は使えない。 例えば class A { A(int x){} } class B extends A { int x = 10; B() { super( this.x ); // ← これ } }
384 名前:デフォルトの名無しさん [2007/08/07(火) 21:34:25 ] 「世界でいちばん簡単」なe本なのに… 50ページ目のコンパイルで躓いてます。 javacがなんかおかしいみたい。何故だろう?
385 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 21:35:20 ] そんな本もってないからわからない。 くわしく
386 名前:デフォルトの名無しさん [2007/08/07(火) 21:40:22 ] 最初の「プログラミングしてみる」 という項目で //MyJava class MyJava{ public static void main(String args[]) { System.out.println("My Java Program"); } } と、テキストで打ちました。 で、コンパイルするんですが
387 名前:デフォルトの名無しさん [2007/08/07(火) 21:45:49 ] コマンドプロンプトで 「cd c:\MyJava」 「dir」 「javac MyJava.java」 と打つと 「'javac'は、内部コマンドまたは外部コマンド、操作可能な プログラムまたはバッチファイルとして認識されていません」 と出てしまうのです。
388 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 21:52:13 ] JDK をインストールしているかどうか、 インストールしているならそのインストール先を確認して、 そのインストール先の bin フォルダを環境変数 PATH に追加する。 ・・・その手の設定方法って本に載ってない?
389 名前:デフォルトの名無しさん [2007/08/07(火) 21:54:41 ] >>388 様、ありがとうございます。 最初に、JDKのインストールと、PATHの設定が載ってました。 それは本の通りに進んでいたのですが…
390 名前:デフォルトの名無しさん [2007/08/07(火) 21:56:13 ] 質問させて下さい。 int型のデータ「0xC01A」からString型のデータ"\uC01A"に 変換したいのですが、どのようなやり方がありますでしょうか?
391 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 21:59:19 ] >>389 コマンドプロンプトで PATH って打って、 JDK の bin フォルダがちゃんと追加されているかどうか確認する。 エクスプローラーでマイコンピュータから C: → Program Files → ... ってたどっていって、 本当にそのフォルダが存在していて中に javac があるかどうか確認する。
392 名前:デフォルトの名無しさん [2007/08/07(火) 22:00:02 ] >>391 様、ありがとうございます。 早速やってみます。
393 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 22:03:02 ] >>390 int x = 0xc01a; String s = "" + (char)x; ""+ ってのがなんかイヤだったら、面倒いけど String s = new String(new char[]{ (char)x });
394 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 22:04:27 ] >>389 ttp://www.shuwasystem.co.jp/books/7980/0533-9/0533-9.html 正誤表出ているが、パスの設定を1.4のデフォルトでやったんだろう
395 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 22:21:49 ] >>390 String str = Integer.toString(0xC01A);
396 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 22:24:52 ] すまん、間違えた String str = Character.toString((char)0xC01A); だな
397 名前:デフォルトの名無しさん [2007/08/07(火) 22:27:56 ] >>391 様 C:\MyJava>path PATH=C:WINDOWS\system32;C:WINDOWS;C:\WINDOWS\system32\Wbem;C: \Program Files\pcbNavi\bin;C:\Program Files\Fujitsu\sa\dll; c:\j2sdk_1.4.1_01\bin と表示されました。 C: → Program Files →Java→の中にはjavacは無く、 C: → j2sdk1.4.1 01 →bin→javacとありました。 何か間違ったのでしょうか? >>394 様、ありがとうございます。 1.4.1 01を選んでダウンロードしたのですが…自信ないです。
398 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 22:31:06 ] アンダーバーの有無をよく確認してみて。 PATH の中の j2sdk_1.4.1_01 実は j2sdk1.4.1_01 が正しいんじゃない?
399 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 22:32:41 ] >>397 c:\j2sdk_1.4.1_01\bin\javac -version ってコマンドプロンプトで打ち込んでみて
400 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 22:35:39 ] どうでもいいが、pathに設定してもろくな事ないと思うが・・・
401 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 22:39:51 ] >>390 new String(new int[] { 0xC01A }, 0, 1)
402 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 22:40:39 ] >>390 String s = "\\u"+ String.format("%x", 0xC01A).toUpperCase();
403 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 22:43:43 ] それなんか違うような・・・ ところで toUpperCase するなら %X でいいんじゃない?
404 名前:デフォルトの名無しさん [2007/08/07(火) 22:52:02 ] >>398 様、ありがとうございます。 j2sdk1.4.1_01 では通りませんでした。 >>399 様、やってみます。
405 名前:デフォルトの名無しさん [2007/08/07(火) 22:53:54 ] >>399 様、「指定されたパスが見つかりません」となりました。
406 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 22:57:53 ] >>397 には javac のあるフォルダ名が j2sdk1.4.1 01 って書いてあるけど、1.4.1 と 01 の間は空白? そうだったら PATH もそのように 一字一句同じ名前を入れてください
407 名前:デフォルトの名無しさん [2007/08/07(火) 23:01:41 ] >>406 様、すみません。_ありました。ここでの打ち間違いでした。
408 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 23:07:13 ] じゃあ、 >>397 の PATH には ...fujitsu\sa\dll; と c:\j2sdk... の間に改行が入ってるように見えるけど、 本当に改行やら無駄な空白が入っているのなら、取り除いてみてください。
409 名前:デフォルトの名無しさん [2007/08/07(火) 23:18:09 ] >>408 様、ありがとうございます。 もう一度やってみます。
410 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 23:25:49 ] >>405 エスパーしてみる DドライブにJDK入っているとかじゃない? エクスプローラーからjavac.exeを選んで、コマンドプロンプトにドラック&ドロップしてみてくれ そこで表示されたパスをここにココにコピる
411 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 23:27:34 ] >>397 c:\j2sdk_1.4.1_01\bin 志村、sdkの後ろに_入ってるぞ キーボードで入力するんじゃなくて、パスはコピー&ペースト汁
412 名前:デフォルトの名無しさん mailto:sage [2007/08/07(火) 23:53:39 ] >>409 エクスプローラでアドレスバーを表示するようにしてないの?
413 名前:デフォルトの名無しさん [2007/08/08(水) 01:05:36 ] 皆様、ありがとうございました。 アンインストールしてもう一回始めからやり直してました。 そのおかげか、ソースコードを書き直したお陰か(本の文書の方では 『//MyJava』となってましたが、実際の画面を写した写真では『//MyJava.java』と) PATHの方も、本を見るのではなく、>>411 様の通りにコピペをしました。 何とか前進できました。
414 名前:デフォルトの名無しさん mailto:sage [2007/08/08(水) 01:09:45 ] まずはWindowsの使い方から始めるべきだな
415 名前:デフォルトの名無しさん mailto:sage [2007/08/08(水) 01:16:57 ] >>413 そんな違いよく見つけたね でもコメントの違いはプログラムの動作に影響しない
416 名前:デフォルトの名無しさん [2007/08/08(水) 01:17:41 ] >>414 様、ありがとうございます。 頑張ります。 PC自体初心者なのに、訓練学校に入ってしまい今、毎日が勉強です。 今年中にブロンズとSJC-Aを取得するように言われていて… 努力しかないですね。
417 名前:デフォルトの名無しさん mailto:sage [2007/08/08(水) 01:17:42 ] 最近はコマンドプロンプトもbatもいらないからな
418 名前:デフォルトの名無しさん mailto:sage [2007/08/08(水) 01:54:40 ] >>384 かわいそうだが、その本は地雷だから。 きみはもうしばらくしたら 本の通りにやったのですがエラーが出てしまいます。 精度が落ちている可能性 検出値: double 期待値: float a = 2.0; エラー 1個 という質問をするであろう。 pc11.2ch.net/test/read.cgi/tech/1180419689/354-364
419 名前:デフォルトの名無しさん mailto:sage [2007/08/08(水) 07:12:47 ] 独習が良いと聞き買ったが分厚いので持ち運びに不便であまり読まないwwwwwww