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 あたりで。
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にした場合はこの意味だから。