- 1 名前:デフォルトの名無しさん mailto:sage [2013/03/23(土) 11:43:57.99 ]
- プログラミング言語Javaに関する質問スレです。
JavaScript, Ajaxの質問は、ここでは受け付けていません。 Web製作管理 pc11.2ch.net/hp/ Webプログラミング pc11.2ch.net/php/ をご利用下さい。 よくある質問 ・「コマンドまたはファイル名が違います」 「'javac' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。」 「Exception in thread "main" java.lang.NoClassDefFoundError: 」 (p)ttp://www.wikiroom.com/java/?path,classpath ・String に == は使うな。equals() を使え。 ・「\12288 は不正な文字です。」 文字リテラル以外で全角スペースは使えません。半角スペースに。 ・その他の質問→「APIのjavadoc見ろ」 前スレッド ★★Java質問・相談スレッド160★★ toro.2ch.net/test/read.cgi/tech/1361516065/
- 2 名前:デフォルトの名無しさん [2013/03/23(土) 18:42:22.38 ]
- < `∀´>ニダー
- 3 名前:デフォルトの名無しさん mailto:sage [2013/03/24(日) 03:19:47.47 ]
- Eclipse Community Forums: CDT ≫ Redirect Input and Output
www.eclipse.org/forums/index.php/m/697301/ ここ見るとリダイレクトできるとか書いてあるが 引数の設定のとこに <hoge.txt とか >hoge.txt を書けとか 試してないから本当に出来るかは知らんけど
- 4 名前:デフォルトの名無しさん mailto:sage [2013/03/24(日) 03:22:36.02 ]
- >>3
CDTって書いてあるけどjavaでもいけんのか?
- 5 名前:デフォルトの名無しさん mailto:sage [2013/03/24(日) 03:25:10.64 ]
- toro.2ch.net/test/read.cgi/tech/1361516065/995
これつかって試してみればええねん
- 6 名前:デフォルトの名無しさん mailto:sage [2013/03/24(日) 04:38:29.96 ]
- Eclipseというのを入れてみたが糞重すぎてワロタ
ネットブックに入れるのは流石に無理かw NetBeansってのはどうなんだろか
- 7 名前:デフォルトの名無しさん mailto:sage [2013/03/24(日) 05:07:00.49 ]
- >>4
できないよ
- 8 名前:デフォルトの名無しさん mailto:sage [2013/03/24(日) 07:14:46.17 ]
- 前スレで気になったんだけど
for(;;) ってどういう意味ですか?こういう特殊な書き方は名称を知らないとなかなかggってもヒットしなくて困りました
- 9 名前:デフォルトの名無しさん mailto:sage [2013/03/24(日) 07:26:15.69 ]
- for文で、ループの継続条件が省略された場合は、常にループを継続
for(;;) {...} は while(true) {...} と同じ
- 10 名前:デフォルトの名無しさん mailto:sage [2013/03/24(日) 07:30:50.42 ]
- >>9
どうもです ちなみにforで書く場合とwhileで書く場合とでは何か違ってくるのですか?何かを意識した書き方とかあるのかな
- 11 名前:デフォルトの名無しさん mailto:sage [2013/03/24(日) 08:08:22.10 ]
- それを話し始めると不毛な論争に突入する的なもの
ちなみに俺は while(true) 派
- 12 名前:デフォルトの名無しさん mailto:sage [2013/03/24(日) 08:58:50.79 ]
- SoundAPIについて質問なのですが、ShotMessage.NOTE_ONを送信して1秒音を鳴らしたい場合、どのように書くのが普通ですか?
例えば receiver.send(new ShortMessage(ShortMessage.NOTE_ON, 0, 60, 120), -1); Thread.sleep(1000); receiver.send(new ShortMessage(ShortMessage.NOTE_ON, 0, 60, 0), -1); のように、ドの音をベロシティ120で送信し、Threadを1秒sleepさせ、その後ベロシティ0で再度送信する書き方をネットで見つけたのですが、このような書き方が普通なのですか? これじゃ音はならないにせよドの音がベロシティ0で鳴り続けているような気がします・・・。 「何秒間鳴らす」をしたい場合、精度と処理速度を考えるとどのように書くべきなのでしょうか
- 13 名前:デフォルトの名無しさん mailto:sage [2013/03/24(日) 10:51:59.22 ]
- 0HzなPCM音もヴェロシティゼロなMIDI音も、音圧ゼロと同じ事だと思うんだが
- 14 名前:デフォルトの名無しさん mailto:sage [2013/03/24(日) 10:57:25.75 ]
- >>13
音が鳴らないという点で同じであって他は違うんじゃ?
- 15 名前:デフォルトの名無しさん mailto:sage [2013/03/24(日) 11:04:15.73 ]
- AC'97チップやHD Audioチップにバックグラウンドで音波データ流し込んでいる
ソフトシンセか何かがVM内かドライバ内にいるんだろうが、気に病むことはない。 それでも心配なら外付けMIDI音源買おう。
- 16 名前:デフォルトの名無しさん mailto:sage [2013/03/24(日) 11:18:28.16 ]
- >>12
ベロシティゼロのノートオンはノートオフと同じ扱いと聞いた覚えがあるけれど 気になるならノートオフを送ればいいんじゃない 精度とかは送るタイミングを自分でうまいこと調整するしかない
- 17 名前:デフォルトの名無しさん mailto:sage [2013/03/24(日) 11:21:01.83 ]
- >>16
了解しました
- 18 名前:デフォルトの名無しさん mailto:sage [2013/03/24(日) 12:48:55.31 ]
- JAVAは、本買ってさらっとしか勉強しなかったんですが。
あらためて質問さして下さい。 以下のようなソース public class Test01 { public static void main(String[] args) { byte b1 = 1; byte b2 = 2; コンパイルエラー // byte b3 = b1 *b2; byte b3 = (byte) (b1 * b2); System.out.print(b3); }} で、b1*b2がint型で返すという事ですが となるとJAVAのメモリーレイアウトは、4バイトで char,boolean,byte,shortは、それぞれ4バイトの領域をメモリー上にもっている と思って良いですか? どなたか、ご教示を。
- 19 名前:デフォルトの名無しさん mailto:sage [2013/03/24(日) 12:50:20.31 ]
- 違う。演算が4バイトに昇格されて行われる場合があるだけ。
- 20 名前:デフォルトの名無しさん mailto:sage [2013/03/24(日) 13:22:31.73 ]
- 馬鹿だけど自信満々
- 21 名前:デフォルトの名無しさん mailto:sage [2013/03/24(日) 15:29:26.32 ]
- >>6
javacとed使ってろ。
- 22 名前:デフォルトの名無しさん mailto:sage [2013/03/24(日) 17:12:40.06 ]
- >>10
1兆回ループ回したらwhile(true)のが0.13秒早かった
- 23 名前:デフォルトの名無しさん mailto:sage [2013/03/24(日) 18:54:58.20 ]
- >>10
for自体がwhileのよくあるパターンを構文化しただけじゃないの。そのパターンに当てはまらない無限ループはwhileの方が読み易いと思う。
- 24 名前:デフォルトの名無しさん mailto:sage [2013/03/24(日) 19:01:41.33 ]
- for文は配列専用
while文はList専用 と使い分けている
- 25 名前:デフォルトの名無しさん [2013/03/24(日) 19:11:19.30 ]
- その使い分けの意図はよく解らない。
- 26 名前:デフォルトの名無しさん mailto:sage [2013/03/24(日) 19:19:11.51 ]
- 昔から配列操作といえばfor文だったから
初期化子が中にあるというのが ただしfor(:)の場合は例外
- 27 名前:デフォルトの名無しさん mailto:sage [2013/03/24(日) 19:20:50.20 ]
- 反復回数が一定の処理ならfor文のほうがパッと見でソースが分かりやすい
反復子?って奴の変化が単調ならfor文、ループ内の処理次第で変わるならwhile
- 28 名前:デフォルトの名無しさん mailto:sage [2013/03/24(日) 19:21:27.25 ]
- >>24
iteratorの糖衣構文はforでしか使えないよなぁ。
- 29 名前:デフォルトの名無しさん mailto:sage [2013/03/24(日) 19:36:11.65 ]
- くだらんこといってないでruby勉強しろ
- 30 名前:デフォルトの名無しさん mailto:sage [2013/03/24(日) 19:46:00.45 ]
- はいはいrubyruby
- 31 名前:デフォルトの名無しさん [2013/03/24(日) 19:56:55.80 ]
- forを使った方が反復子のスコープが小さいというのはある。
Iretator<String> i = list.iterator(); while(i.hasNext()){...} と for(Iretator<String> i = list.iterator(); i.haxNext();) {...} ではiのスコープがループの外に出ないのでforの方が良いという場合はある。
- 32 名前:デフォルトの名無しさん mailto:sage [2013/03/24(日) 20:11:55.74 ]
- 馬鹿には無理
- 33 名前:デフォルトの名無しさん mailto:sage [2013/03/24(日) 20:47:35.57 ]
- >>31
java6からだっけ、foreach使えるようになったらイテレータとか使わなくなった
- 34 名前:デフォルトの名無しさん [2013/03/24(日) 22:09:54.96 ]
- remove使う場合など反復子そのものに用事があるときはforの糖衣構文ではなく
whileとか使う必要がある。
- 35 名前:デフォルトの名無しさん mailto:sage [2013/03/24(日) 22:44:52.40 ]
- ループ条件に定数式使っただけで警告をもりもり吐く
お節介な「品質向上システム」とかがあってだな・・・
- 36 名前:デフォルトの名無しさん mailto:sage [2013/03/24(日) 23:36:08.36 ]
- >>31
独習JavaだかEssential Javaだかにそんなことが載っていたような気がする
- 37 名前:デフォルトの名無しさん mailto:sage [2013/03/25(月) 02:01:09.61 ]
- Iteratorや糖衣構文のfor-eachは使うには便利だが、
自前で実装するとなると面倒臭い。 hasNext()でカーソル進めて、 next()でカーソルが指すオブジェクトを取得。 の方がずっと楽なのに、なんであんな仕様なんだ?
- 38 名前:デフォルトの名無しさん mailto:sage [2013/03/25(月) 02:03:27.80 ]
- Iteratorパターンってもともとそういうもんでしょ
わざとクラスを分割しているんだと
- 39 名前:デフォルトの名無しさん mailto:sage [2013/03/25(月) 02:09:55.64 ]
- ListIteratorつかって
List#get(nextIndex())
- 40 名前:デフォルトの名無しさん mailto:sage [2013/03/25(月) 02:55:26.55 ]
- >>39
配列や線形リストのIteratorなら自作でも割と簡単。 hasNext()で次のデータがあるか調べる(内部状態は変化しない)、 next()でデータを返す+カーソルを進める(データを返しつつ、内部状態も変化させる、だがremove()のために返したデータは記憶しておく) っていうJavaのIteratorの仕様だと、 例えば、親ディレクトリを指定して、サブディレクトリを含む全ファイルを1つずつ返すIterator なんてのを作るのがクソ面倒臭いのよ。
- 41 名前:デフォルトの名無しさん [2013/03/25(月) 06:44:21.10 ]
- あまり難しい話は禁止ね
やめなさい
- 42 名前:デフォルトの名無しさん mailto:sage [2013/03/25(月) 08:33:44.98 ]
- >>40
そもそも、Genericsの仕様が難儀だからなあ Genericsを意識しなかったら簡単につくたりして
- 43 名前:デフォルトの名無しさん mailto:sage [2013/03/25(月) 09:05:16.73 ]
- ArrayListのlistiteratorかiteratorでremoveがunsupportedで驚いた覚えが。
LinkedListを使えば良かったけど。
- 44 名前:デフォルトの名無しさん mailto:sage [2013/03/25(月) 13:53:11.13 ]
- >>40
commonsかどっかに、子Iteratorを連結するIterator実装があったよ
|

|