★★Java質問・相談スレッド136★★
レス数が1000を超えています。これ以上書き込みはできません。
0001デフォルトの名無しさん
2010/02/07(日) 20:10:19JavaScript, Ajaxの質問は、ここでは受け付けていません。
Web製作管理 ttp://pc11.2ch.net/hp/
Webプログラミング ttp://pc11.2ch.net/php/
をご利用下さい。
よくある質問
・「コマンドまたはファイル名が違います」
「'javac' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。」
「Exception in thread "main" java.lang.NoClassDefFoundError: 」
ttp://www.wikiroom.com/java/?path,classpath
・String に == は使うな。equals() を使え。
・「\12288 は不正な文字です。」
文字リテラル以外で全角スペースは使えません。半角スペースに。
・その他の質問→「APIのjavadoc見ろ」
前スレッド
★★Java質問・相談スレッド135★★
http://pc12.2ch.net/test/read.cgi/tech/1262525781/
次スレは>>950あたりで。
過去ログ、関連スレッド、よくある質問とその回答など、
質問をする前に、貴方が見なければならないサイトについての情報は、
下のwikiのページにまとめてあります。
ttp://www.wikiroom.com/java/
0002デフォルトの名無しさん
2010/02/07(日) 20:10:27■ AWT と Swing は --
Java低速GUI Swing 9
http://pc12.2ch.net/test/read.cgi/tech/1261232019/
■ SWT は --
Java 高速GUI SWT 3
http://pc12.2ch.net/test/read.cgi/tech/1164877399/
■ NTT DoCoMo の iモード携帯電話用 Java (iアプリ) は --
iモード携帯電話用Java(iアプリ) Part20
http://pc12.2ch.net/test/read.cgi/tech/1253532993/
■ DoCoMo 以外は --
CLDC+MIDP+携帯電話用Javaスレッド part 9
ttp://pc12.2ch.net/test/read.cgi/tech/1249357352/
■ 課題・宿題は --
★★ Java の宿題ここで答えます Part 68 ★★
http://pc12.2ch.net/test/read.cgi/tech/1248012902/
■ NetBeansに関する雑談は --
NetBeans Part5【Java/C++/Ruby/Python/PHP】
http://pc12.2ch.net/test/read.cgi/tech/1247926906/
■ Eclipseに関する雑談は --
Eclipse統合M28【Java/C++/Ruby/Python/Perl】
http://pc12.2ch.net/test/read.cgi/tech/1247051216/
0003デフォルトの名無しさん
2010/02/07(日) 20:10:32■ J2SE 5.0 (1.5.0)
ttp://java.sun.com/j2se/1.5.0/ja/
■ Java SE 6
ttp://java.sun.com/javase/ja/6/
**** 実行環境だけが必要の場合は ****
■ Java ソフトウェアのダウンロード
ttp://www.java.com/ja
0004デフォルトの名無しさん
2010/02/07(日) 21:15:100005デフォルトの名無しさん
2010/02/07(日) 21:21:170006デフォルトの名無しさん
2010/02/07(日) 21:28:250007デフォルトの名無しさん
2010/02/07(日) 22:03:09_. -─── -.、
_.イ . : : : : : : : : : : : : \
/ . : : : : : : : : : : : : : : : : \
/ ./ : : : /: : : : : : : : : : : : : : : : ヽ
/. : / . : : :/: :/: : : : : : : : : : : : : : : : :',
/. . :/.: : : : :/_..ム:l . : :|: __|ヽ: : :| : : : ハ
/ : : __.イ: : : : .:/: :ノ ヘ : : : :ト、: | ̄\!: : : : :.!
__ レ´ /| : : : : :{_厶=ミ 人:. : :|_ィ=x、/|: : : : :.|
_// ヽ | | : : : : イfて:::カ \:| fて: カヽ|: : : : :.|
/´| (_/l } | |: :{\{ 弋z_ソ 弋_zノ !/): :,'
. /´| ! |二二|ト、 | l /vヘ」 , /ノ: : :/
〈 | {_ソ ̄f⌒ー} \{ ヘ、 _ _ /:/|/
ヽ ヽ_) \丿 个:: 、 _. イ〃 >>1乙です
|〈\ノ ー‐r' ___ .>┤>- < レ'´
/|:::\__ィ:::| _/ ̄�Y:::::::::`ー ´::::::ノ ├-- .、
/ ヽ:::::`ー─ ´:!∨ �Y::::::::::::::::::::::/| \::::::::\__
. 〈 ー──< } �Y ::::::::::::: /:::| /::::::::::::�W ヽ ツモ
. ________ ____________________ __
│一│ │ │一│ |二│三│四|伍|六│七|八|九|九│九| |七|
│萬│ │ │萬│ |萬│萬│萬│萬|萬|萬|萬│萬|萬|萬| |萬|
.  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄  ̄ ̄
0008前スレ997
2010/02/07(日) 23:08:45コンストラクタが既に生成されたオブジェクト(割り当てられたメモリ)に対して初期化処理を行うことには変わらない。
あと、997は998と全く矛盾していないんだけど、一体何を主張したかったんだろうか。
「メモリの割り当てにnew演算子が必須」とはどこにも書いていないのに。
0009デフォルトの名無しさん
2010/02/07(日) 23:39:360010デフォルトの名無しさん
2010/02/08(月) 00:13:170011デフォルトの名無しさん
2010/02/08(月) 00:16:30javaで3Dゲームを作って、市場に投売りにしてやろうと思いjavaを勉強して、初心者用の本を一冊読みきりました。
本当に基本的なことしか学んでいませんが、java3Dに入っていくためにどこにこれから向かうべきでしょうか?
サイトを見ても、基本から抜け出した後は平原の様にどうしていいか分からず・・・
方向性を決めるためのアドバイスのようなものを、出来ればお願いします。
0012デフォルトの名無しさん
2010/02/08(月) 00:17:400013デフォルトの名無しさん
2010/02/08(月) 00:35:470014デフォルトの名無しさん
2010/02/08(月) 00:38:59擬似3Dを表現することが出来て、必要な処理は出来ると思います(まだ試していませんが・・・)
javaを教科書一冊で進めているので、教科書を買うか、すぐにでもjava3Dをダウンロードしてコードを作るべきかどうかを考えています。
0015デフォルトの名無しさん
2010/02/08(月) 00:53:510016デフォルトの名無しさん
2010/02/08(月) 01:01:39必要な本は後から立ち読みでもしてから選べばいい。
0017デフォルトの名無しさん
2010/02/08(月) 01:12:19たとえば
class MyClass {
int k=0;
void setValue(int v) {
this.k=v;
}
void print() {
System.out.println("k="+this.k);
}
void addprint(int ad) {
this.k+=ad;
this.print();
}
}
みたいな感じ
0018デフォルトの名無しさん
2010/02/08(月) 01:16:01これはsetterのローカル変数と名前が被る時の予防になる。
例) this.field = field;
getterやメソッド呼び出しは特に拘らない。
0019デフォルトの名無しさん
2010/02/08(月) 01:38:02東へ42歩だった
0020デフォルトの名無しさん
2010/02/08(月) 02:00:54風呂の中で考えていました。
そしてjava3dをインストールする方法、自分でGraphicsクラスを立体用に改造する方法を考えていることに気がつきました。
もうちょっとだけGraphicsクラスを使用してみたら、java3Dに移ろうと思います。
<<12さん、<<16さん、レス有難うございました。
必ず、有効活用してみます。
0021デフォルトの名無しさん
2010/02/08(月) 02:10:42とくに問題はない。
>>18 にあるように付ける必要があるケースがあるので、
一貫性を持たせて常に付けると言うのは悪くない。
タイプ量が増えて面倒ではあるけど。
0022デフォルトの名無しさん
2010/02/08(月) 02:25:05落とし穴に落ちたぞ
0023デフォルトの名無しさん
2010/02/08(月) 02:50:500024デフォルトの名無しさん
2010/02/08(月) 02:55:260025デフォルトの名無しさん
2010/02/08(月) 08:32:51for(int x =0;x<=1000;x++)
{
double a1 = Math.pow(2,2*x);
double a = Math.sqrt(a1);
double b1 = Math.pow(2,x);
double b3 = a1-b1;
double b2 = Math.sqrt(b3);
double ans = a-b2;
if(x%100==0)System.out.println(x + "回目の試行の解は" + ans + "です。");
}
このfor文で書いても結果が
100回目の試行の解は0.0です。
200回目の試行の解は0.0です。
300回目の試行の解は0.0です。
400回目の試行の解は0.0です。
500回目の試行の解は0.0です。
600回目の試行の解はNaNです。
700回目の試行の解はNaNです。
800回目の試行の解はNaNです。
900回目の試行の解はNaNです。
1000回目の試行の解はNaNです。
としか出ず困っています。おかしい箇所を指摘していただけないでしょうか?
0026デフォルトの名無しさん
2010/02/08(月) 08:59:55doubleは有限の有効桁数しか持たない。
xが大きくなるとaやb2の大きさに比べて両者の差が相対的に小さくなり精度が悪化する。
精々x=50くらいで十分収束するからx=50までについて100ずつでなく1ずつ表示してみろ。
傾向を見るだけならx=10くらいまで出せば何に収束するかすぐ分かる。
数値計算は反復回数をむやみに増やせばいいってものではない。
使用している式の性質とコンピュータ内での表現を踏まえたうえで計算する必要がある。
0027デフォルトの名無しさん
2010/02/08(月) 09:18:32Math.pow(2,2*x)をx=1000まで計算すればその結果は無限大になる。
0028デフォルトの名無しさん
2010/02/08(月) 09:53:13ついでに、x=500までが0でそれ以降がNaNになるのは、
xが100から500では有効桁が有限なのでaもb2も同じになってその差が0になり、
x=600以降は2^2xがdoubleの範囲を超えて無限大になるのでaもb2も無限大になりその差はNaNになるから。
0029デフォルトの名無しさん
2010/02/08(月) 10:01:36003025
2010/02/08(月) 10:20:22doubleの桁の範囲を超えていたんですね・・・初歩的なミスでお恥ずかしい限りです
丁寧な解説までつけていただき本当にありがとうございましたm(_ _)m
0031デフォルトの名無しさん
2010/02/08(月) 10:22:25>>923
なるほど!port0指定でbindすればよかったのか・・・
>>929>>931
実際はクラスタリングされてるサーバで、LoaclIPとVirtualIP持ってます。
NICが6枚だか8枚刺さってるサーバです。
自系がパッケージActiveになった時、自動connectだとVIPを優先して取ってしまうので、
ActiveだろうとOfflineだろうとLocalIPで固定したかったんです。
そのテストに、開発PCでNIC2枚刺してIP(というかNIC)選べるようにしてました。
>>932
神!!
これがしたかったんです。
なるほど、connect()とbind()でInetSocketAddressを別にすればよかったのか・・・
見てみたらごく普通ですが、思いつきませんでした。
うまくいってます。
助かりました、ありがつおです!
0032デフォルトの名無しさん
2010/02/08(月) 11:03:13全てPOSTリクエストに強引に変えて、
tomcatではservletのdoPostが問題なく呼ばれたのは確認しました。
public String getMethod() {
return "POST";
}
分けあってServletにはPOSTで渡さないといけないという仕様があって、
こんなことをしております。
GETでPOSTにを呼び出す改修をしてもらえれば一番いいのですが、
政治的判断で止められています。
アプリが問題なく動作してますが、破たんするような落とし穴はあるでしょうか?
0033デフォルトの名無しさん
2010/02/08(月) 11:36:540034デフォルトの名無しさん
2010/02/08(月) 11:45:12問題ないよ
0035デフォルトの名無しさん
2010/02/08(月) 13:24:36問題あるよ
0036デフォルトの名無しさん
2010/02/08(月) 13:27:56その心は?
0037デフォルトの名無しさん
2010/02/08(月) 13:32:12これに一票!
問題あればfinalになってるはず。
なので言われる覚えはないってこと
0038デフォルトの名無しさん
2010/02/08(月) 13:47:15リクエストが全く帰ってこなかった場合のタイムアウトってどうなるのでしょうか?
タイムアウトなんてなく永遠に待つ?
タイムアウトはある。その値はシステムによる?
0039デフォルトの名無しさん
2010/02/08(月) 13:51:340040デフォルトの名無しさん
2010/02/08(月) 17:10:49リクエストの Content-Type や Content-Length を見ている奴がいるかもしれない。
やるならちゃんと POST 仕様を満たすようにやれ。
0041デフォルトの名無しさん
2010/02/08(月) 17:20:11なんとなく知ってる単語を並べてみただけの人
0042デフォルトの名無しさん
2010/02/08(月) 17:24:540043デフォルトの名無しさん
2010/02/08(月) 17:33:140044デフォルトの名無しさん
2010/02/08(月) 17:35:01RFC読むだけで
0045デフォルトの名無しさん
2010/02/08(月) 17:54:550046デフォルトの名無しさん
2010/02/08(月) 18:02:39で表示されるフォントにIPAフォントを追加するには、どのに設定すればよいのですか?
ちなみにwinodws環境です。
0047デフォルトの名無しさん
2010/02/08(月) 18:14:34CakePHPは便利だよ。
とりあえずプログラミングレスでCRUDはできる。
0048287
2010/02/08(月) 18:15:28すいません。
0049デフォルトの名無しさん
2010/02/08(月) 18:36:490050デフォルトの名無しさん
2010/02/08(月) 18:38:330051デフォルトの名無しさん
2010/02/08(月) 19:37:56これはどうやって見るんですか?
0052デフォルトの名無しさん
2010/02/08(月) 21:48:30javaと質問で検索した所、このスレが引っかかりましたので質問させてください
当方XPのESETスマートセキュリティでJAVA6のバージョン18なのですが一部のペイントチャットに入ろうとすると
そのまま接続されずにページが見つかりません、と表示されます
他の方は入室できているのでサーバーが立っていないというのは無いと思うのですが
何か原因や対処法についてアドバイスがいただけたら幸いです
スレ違いでしたら申し訳ありません、スルーしてください
0053デフォルトの名無しさん
2010/02/08(月) 21:53:270054デフォルトの名無しさん
2010/02/08(月) 22:03:43参考までに、
http://msyk.net/keio/JavaBook/ch12.html
このサイトのサンプルプログラムを
コンパイルしてみました。
しかしコンパイルはできるのですが、実行ができません。
何が原因なのでしょうか。
無知で申し訳ありません。解決法をよろしくおねがいします
0055デフォルトの名無しさん
2010/02/08(月) 22:20:57どうやって実行しようとしたのかと、
その時出力されたエラーメッセージなどは?
0056デフォルトの名無しさん
2010/02/08(月) 22:29:370057デフォルトの名無しさん
2010/02/08(月) 22:32:49すみませんでした、もう一度捜しなおしてみます
0059デフォルトの名無しさん
2010/02/08(月) 22:39:12コマンドプロンプトで
java DentakuFrame
と入力したところ、なんかいっぱいエラー出ました…
今実行できる環境じゃないんでその時のエラーは書き出せないです…
0060デフォルトの名無しさん
2010/02/08(月) 22:42:24>package dentaku;
>public class DentakuFrame extends JFrame {
ここを自分の環境に合わせたか?
0061デフォルトの名無しさん
2010/02/08(月) 22:43:14上のpackage Dentaku;
を消したところ、
Exception in thread "main" java.lang.NoClassDefFoundError
が出たような気がします…
0062デフォルトの名無しさん
2010/02/08(月) 22:46:08すみませんpackageがそもそも分からないです…
自分の環境に合わせるとは?
0063デフォルトの名無しさん
2010/02/08(月) 22:58:56パッケージってのは簡単に言うとフォルダの事だよ
>package dentaku;
このクラスは、dentakuってフォルダに属していますよ〜って宣言してる
1.IDEでプロジェクトを作る(名前はなんでもいい。例:HogeHoge)
2.パッケージを作る(パッケージの名前は「dentaku」)
3.クラスを作る(クラスの名前は「DentakuFrame」)
4.コピペする
0064デフォルトの名無しさん
2010/02/08(月) 23:12:53そういう事JAVAでできるでしょうか?VCだとメモリマップドファイルというのがあるのですが、
JAVAはどうでしょうか?解決方法をご教授願います。
0065デフォルトの名無しさん
2010/02/08(月) 23:18:02つまり、リンク先で図示されていることをやればいいのでしょうか?
packageを使わずに作ることは可能でしょうか…?
0066デフォルトの名無しさん
2010/02/08(月) 23:23:15に追加で
例えばこのサンプルだと
http://www.geocities.jp/s2412502/layoutsample.html
packageを使わずに済みますが、
Exception in thread "main" java.lang.NoClassDefFoundError:
が出てしまいます。
このエラーを解消するにはどうしたらよいでしょう?
0067デフォルトの名無しさん
2010/02/08(月) 23:37:07>java.lang.NoClassDefFoundError (クラスパスに必要な設定が無い場合のエラー)
IDEをインストールした時に環境変数の設定をしないとダメなんだけど、
その設定をした?(俺は自動でやってくれるlinuxを使ってるから、やったことないけど)
コピペをして動かすことも重要だけど、ある程度文法を知らないと挫折するよ
0068デフォルトの名無しさん
2010/02/09(火) 01:58:450069デフォルトの名無しさん
2010/02/09(火) 02:03:220070デフォルトの名無しさん
2010/02/09(火) 02:21:04long x = 0x0123456789abcdefL;
byte[] y = new byte[8];
java.nio.ByteBuffer.wrap(y).putLong(x);
for (byte b : y) System.out.printf("%02x ", b);
バイトオーダーを変えたいならorderで変更
0071デフォルトの名無しさん
2010/02/09(火) 03:07:55メンバ変数が多くて読めない
みんなどうやって読んでるのか不思議
0072デフォルトの名無しさん
2010/02/09(火) 10:53:09なぜメモリマップドファイル?
ファイルである必要がなければPipedOutputStream/PipedInputStream
どうしてもメモリマップドファイルがいいならMappedByteBuffer
0073デフォルトの名無しさん
2010/02/09(火) 10:55:21ソケット通信がいいよ
0074デフォルトの名無しさん
2010/02/09(火) 11:29:24nioいらんだろ
0075デフォルトの名無しさん
2010/02/09(火) 11:32:43初めまして、JAVAを勉強中で今現在は例外処理あたりを学習中です。
JAVAと並行してeclipseも学ぼうとして、インストール→日本語化までは無事に完了し、
早速↓を参考に[hello world]の文字列を出力するプログラムを作ろうとしました。
http://www.atmarkit.co.jp/fjava/rensai3/eclipsejava02/eclipse02_2.html
しかしバージョンが違うためかメニューが変わっており、代わりにver3.5で近い選択肢の
実行→実行→Javaアプリケーションを試してみたのですが、
[エディターにはメイン型が含まれていません]
とメッセージが出力され、コンパイルできません。
しかしeclipseのエディター上にはちゃんとmainメソッドもあり、DOS画面からのjavacなら
ちゃんとコンパイルされました。
eclipseでコンパイルするためには他にどのようなことをすればいいのか、どうかご教示を
お願いします。
訂正
一行目に[質問内容]という一文を追加
0078デフォルトの名無しさん
2010/02/09(火) 14:42:26Project Explorer で .java ファイルを右クリック → Run As → Java Application
でどうかな
007978
2010/02/09(火) 14:44:39○ Package Explorer
でした
どっちでもいいけど
アドバイスありがとうございます。
おそらく同じ手順の
パッケージエクスプローラーでjavaファイルを右クリック→実行→JAVAアプリケーション
で試してみました。残念ながらダメでした。
またアイコン○に右向き△のクリックも同様にダメです。
0081デフォルトの名無しさん
2010/02/09(火) 14:56:360082デフォルトの名無しさん
2010/02/09(火) 14:56:400083デフォルトの名無しさん
2010/02/09(火) 15:03:10main が無いだけでコンパイルできないってありえないので、
信用できないんだよなぁ
「実行」のことを「コンパイル」とか名前つけて呼んでるんじゃないのかなぁ
以下にコメントを除いたソースを貼り付けます。
-----------------------------------------------------------
public class Print {
public static void main(String[] args) {
System.out.println("hello world");
}
}
-----------------------------------------------------------
>>81
誤字もありません。入ってます。
>>82
空欄でした。
御指摘ありがとうございます。
eclipseでコンパイルと実行は別物なのでしょうか?
コンパイルというメニューがないので、てっきり実行=コンパイル→実行をするものだと
考えていました。
実行してみましたが、やはりダメでした。
当面、色々といじくったり検索してみてもダメだったら、再インストールしてみようと思います。
0087デフォルトの名無しさん
2010/02/09(火) 15:24:24(Package Explorer 上では非表示なので他の手段で確認してください)
何らかの理由でコンパイル出来てないとか .class ファイルが生成されてないとか・・・
Java プロジェクトじゃないとか、デフォルトパッケージ以外のところに .java ファイルを置いてるとか、
.class ファイルが出力されるはずのフォルダが書き込み禁止に・・・なってるわけないとは思うけど
0088デフォルトの名無しさん
2010/02/09(火) 16:42:120089デフォルトの名無しさん
2010/02/09(火) 19:15:16糞壁でも来てんのか
0090デフォルトの名無しさん
2010/02/09(火) 22:43:57DataLine.Info info = new DataLine.Info(SourceDataLine.class, format);
こんな一文を見つけたのですが、インタフェースであるSourceDataLineに.classがついているというのはどういう文法なのでしょうか
DataLine.Infoのコンストラクタはドキュメントによると
DataLine.Info(Class<?> lineClass, AudioFormat format)
こうなっています
0091デフォルトの名無しさん
2010/02/09(火) 22:52:28<クラス/インターフェース名>.class というのはそのクラス/インター
フェースの Class オブジェクトを示す。
009290
2010/02/09(火) 22:56:02回答ありがとうございます
009390
2010/02/09(火) 23:21:17SoundSample1.class.getResourceAsStream("voice.wav")
こんな一部分で、これはClassクラスのgetResourceAsStreamメソッドを使っているようなのですが、
「クラス名.メソッド」というのは文法がおかしいのではないかと思っていて混乱しています
staticならそれもありだと記憶しているのですがstaticでもないようです
回答よろしくお願いします
0094デフォルトの名無しさん
2010/02/09(火) 23:26:140095デフォルトの名無しさん
2010/02/10(水) 00:10:28ttp://itpro.nikkeibp.co.jp/article/COLUMN/20060508/237029/
で解説されているような、「非ブロックモード」の通信をしたい場合には
SocketChannelクラスしか選択肢がありませんか?
(Socketクラスでは非ブロックモードの通信できませんか?)
0096デフォルトの名無しさん
2010/02/10(水) 00:19:00非ブロックではないけどスレッドを延々と入力待ち状態にしたくないだけなら
Socket#setSoTimeout() でタイムアウトを設定。
0097デフォルトの名無しさん
2010/02/10(水) 00:21:44Class<?> clazz = SoundSamle1.class;
InputStream in = clazz.getResourceAsStream("voice.wav");
分解すればこれと同じ。<クラス名>.class ってのは Class.forName("SoundSample1");
の省略表記のようなものだから。
0098デフォルトの名無しさん
2010/02/10(水) 00:24:25>>96 早速どうも。明日検討してみます。
0099デフォルトの名無しさん
2010/02/10(水) 00:40:23linux上で出力するとバーコード画像の縞々の下についている文字が消えてしまいます。
何か設定が必要なのでしょうか?
ちなみにBarbece、Barcode4jどちらでも起こるようです。
0100デフォルトの名無しさん
2010/02/10(水) 00:53:36嘘をおしえるな。
getResourceAsStreamはインスタンスメソッドだ。
クラスリテラルはそのクラスのClassインスタンスを返す。
だからSoundSample1.classの戻り値の型はClass<? extends SoundSample1>になる。
Class<? extends SoundSample1>インスタンスなのでClassクラスのインスタンスメソッドを使える。
関連してgetClass()はそのClassクラスのインスタンスを返すが実体はイレイジャ(ジェネリックのパラメタが消去されたObject型)なのでコンパイラにはObject型とみなされる。
SoundSample1.class.getResourceAsStream("voice.wav")はSoundSample1.classをロードしたクラスローダーの権限でgetResourceAsStream()を呼ぶ。
だから場合によっては特権コードで実行する必要がある。
0101デフォルトの名無しさん
2010/02/10(水) 01:10:220102デフォルトの名無しさん
2010/02/10(水) 01:11:040103デフォルトの名無しさん
2010/02/10(水) 01:19:45010490
2010/02/10(水) 01:31:41回答ありがとうございます
>>100
とても参考になりました。混乱の原因はクラスリテラルというものを知らなかったことでした
classメソッドがあるのかとか、クラスは変数に入れられるのかとかずっと考えていました
助かりました。
0105デフォルトの名無しさん
2010/02/10(水) 01:45:09余談だが、プリミティブにもクラスリテラルがあったりする。
int.class とか void.class とかも正しい式だったり。
0106デフォルトの名無しさん
2010/02/10(水) 03:27:42何でそんなことで得意げになってんだか分からない。
0107デフォルトの名無しさん
2010/02/10(水) 03:39:51論破されちゃうのってそんなに悔しの?(笑)
無事、コンパイルできるようになりました。ご意見を下さった皆様、本当にありがとうございます。
自分が誰かと勘違いされているようなので、先にそちらを。
おそらく名前欄にある『[―{}@{}@{}-]』がコテと思われたのだと思いますが、これを書き込んだ時は
名前欄は空欄で書き込んでいます。確証はありませんが、自分がp2から書き込んでいることが起因で
起きている現象だと思います。
・結果までの経緯
最初のeclipseを削除し、再度解凍。今度は日本語化せずそのまま。されど同症状。
次にエクリプス日本語化のサイトにある日本語セットをダウンロード、解凍。されど同症状。
ここまでが先日。今日はなんとなく今まで同じワークスペース、ファイル(Print)を使っていることが
悪いのではないかと思い立ち、削除。新規に↑とは別のプロジェクト、クラスを作成。無事コンパイル。
エラーになっていた最初のPrintクラスも何故か(当然?)コンパイル。
原因は不明ですが、>87様が仰っていたようにファイル/フォルダから何らかの理由が起きていたようです。
0109デフォルトの名無しさん
2010/02/10(水) 13:08:030110デフォルトの名無しさん
2010/02/10(水) 13:10:550111デフォルトの名無しさん
2010/02/10(水) 13:15:140112デフォルトの名無しさん
2010/02/10(水) 14:15:51html5担いでjavascript駆逐しようぜ
【sockets】HTML5を使って作る高度なウェブアプリ【3D】
http://pc12.2ch.net/test/read.cgi/tech/1264815216/l50
【WHATWG】HTML5 Part2【W3C HTML WG】
http://pc11.2ch.net/test/read.cgi/hp/1254235548/l50
【Flash】AdobeのCTOがFlash擁護 「HTML5があればFlashは不要」論に反論(10/02 /03)
http://pc11.2ch.net/test/read.cgi/pcnews/1265197079/l50
0113デフォルトの名無しさん
2010/02/10(水) 14:24:47String s[]を初期化するときは、
String s[] = null;
で大丈夫ですかね?
0114デフォルトの名無しさん
2010/02/10(水) 14:33:39HTML5 が従来の HTML と違うのは、定義を DOM でやっているところ。
Java や Javascript など、プログラミング言語にべったりです。
0115デフォルトの名無しさん
2010/02/10(水) 14:43:060116デフォルトの名無しさん
2010/02/10(水) 14:43:45それはnullで初期化している。
String s[] = new String[5];
でも初期化
String s[] = {"い", "ろ", "は"};
でも初期化
あと
String s[]
は
String[] s
と書くことをお勧めする
0117デフォルトの名無しさん
2010/02/10(水) 15:26:160118113
2010/02/10(水) 15:33:05ありがとうございます。
0119デフォルトの名無しさん
2010/02/10(水) 15:39:09String型の変数strを宣言
String[] s;
配列型(String)の変数sを宣言
型 変数名
という規則にのっとると、
こっちの方が統一感があるから。
0120デフォルトの名無しさん
2010/02/10(水) 16:00:17はC/C++から来た人向けの代替手段で非推奨
0121デフォルトの名無しさん
2010/02/10(水) 16:02:13web.xmlの設定だけで、*.vbsを404のNotFoundにさせることはできるでしょうか?
0122デフォルトの名無しさん
2010/02/10(水) 16:27:42えっ
javascript+html5 vs. flash
じゃないの?
0123デフォルトの名無しさん
2010/02/10(水) 16:48:27ま、社会のカスには難しすぎる問題なのかもね。
0124デフォルトの名無しさん
2010/02/10(水) 17:30:490125デフォルトの名無しさん
2010/02/10(水) 17:51:50同じじゃない。
String str;
System.out.println(str);
だとコンパイラではじかれる。
クラスのプロパティは暗黙的に初期化してくれてるだけ。
0126デフォルトの名無しさん
2010/02/10(水) 18:13:48/*.vbs を存在しないサーブレットに割り当てる (500 になるかも知れんが)。
0127デフォルトの名無しさん
2010/02/11(木) 18:49:06インポートで*を使うデメリットは何かありますか?
0128デフォルトの名無しさん
2010/02/11(木) 18:59:05java.util.Timerを使いたくても単にTimerと書いたらjavax.swing.Timerになってしまうので
いちいちjava.util.Timerと書かなければならない
0129デフォルトの名無しさん
2010/02/11(木) 19:07:21サンクス
ということは、まとめてインポートしても、コンパイルが遅くなると言った事にはならないのですか?
0130デフォルトの名無しさん
2010/02/11(木) 19:10:56BufferedReader in;
String str;
public void run(){
try{
while(true){
while( !( (str=in.readLine).equals("END") ) )//"END"を確認するまで受信し続ける
receive.add(Integer.parseInt(str)); //受信した文字列をint型に変えて可変長配列に追加
if( receive.get(0)==100){//初めに受信した数をチェック
操作1; System.out.println("debug:received 100");
}else{
操作2; System.out.println("debug:received other");
}
}
}catch(IOException e){}
}
スレッドにデータを受信させて、一番初めに受けとったデータ内容をチェックして
処理を行うというプログラムを作ろうとしています。
プログラムを実行してみるとデータの受信はできているのですがなぜか
debugプリントが表示されずif文を実行してくれません。
どうしたらif文を実行してくれるようになりますか。どなたかわかる方お願いします。
0131デフォルトの名無しさん
2010/02/11(木) 19:12:21JVM 仕様の詳細は知らんがクラスファイル覗いててそう動くように思ったが。
0132デフォルトの名無しさん
2010/02/11(木) 19:17:100133デフォルトの名無しさん
2010/02/11(木) 19:17:55"END"が来てないんじゃないの?
>>131
それはない。
0134デフォルトの名無しさん
2010/02/11(木) 19:30:106でコンパイルしたの見てもねぇや。
0135デフォルトの名無しさん
2010/02/11(木) 19:37:39ArrayListに入れるためにIntegerにボクシングするのは無駄だよ
ApacheのArrayIntListを使え
>while(true) { while( !( (str=in.readLine).equals("END") ) )
普通に考えて、while(true)はいらないと思うんだけど
>while((str = in.readLine) != null && str.equals("END"))
の方が安全じゃないですかね
本当に受信しているのか?
>receive.add(Integer.parseInt(str)); //受信した文字列をint型に変えて可変長配列に追加
ここの次あたりに、System.out.println(str);といれみたのか?
0136デフォルトの名無しさん
2010/02/11(木) 19:37:53ない。昔からコンパイル時に解決しとるよ。
0137デフォルトの名無しさん
2010/02/11(木) 19:55:09>>133 もう片方のプログラムも確認してみてたのですがちゃんと送れていました。
>>135 135さんのおっしゃるとおりwhile文を変えてdebugしてみたところ
受信はしているようでした。ただやはり次のif文に処理が移動して
くれませんでした。
>ArrayListに入れるためにIntegerにボクシングするのは無駄だよ
ApacheのArrayIntListを使え
ということなのですが、ググッてみてもよくわかりませんでした。
よかったらご教授願えますかm(__)m
0138デフォルトの名無しさん
2010/02/11(木) 20:00:24パフォーマンス的に問題がないなら無視してよし。
0139デフォルトの名無しさん
2010/02/11(木) 21:10:06【Commons紹介】ArrayIntListの速度
ttp://blog.mwsoft.jp/article/30817623.html
ひとまず、test.txtみたいなのを作ってテストしてみては
http://codepad.org/
ここにでもソースをさらしてみたら
0140デフォルトの名無しさん
2010/02/11(木) 21:12:39ありませんでした。
あと、
while((str = in.readLine()) != null && str.equals("END"))//"END"を確認するまで受信し続ける
receive.add(Integer.parseInt(str));
System.out.println(str);
だとstrが表示されるのですが、
while((str = in.readLine()) != null && str.equals("END")){
receive.add(Integer.parseInt(str));
System.out.println(str);
}
のようにwhile文を{}でくくって受信するたびに文字列を表示しようとすると
なにも表示されません。
また、このwhile文以降のif文にも処理が移行しません。
どうしたら解決するでしょうか。
0141デフォルトの名無しさん
2010/02/11(木) 21:17:39考えれば解決しますよ。
0142デフォルトの名無しさん
2010/02/11(木) 21:19:50>receive.add(Integer.parseInt(str));
>System.out.println(str);
上はこうのように解釈されます
while((str = in.readLine()) != null && str.equals("END")) {
receive.add(Integer.parseInt(str));
}
System.out.println(str);
0143デフォルトの名無しさん
2010/02/11(木) 21:27:00>>141 はい、それはわかるのですが、なぜwhile文の外に出すと表示されて
while文の中に入れると何も表示されないのでしょうか。
0144デフォルトの名無しさん
2010/02/11(木) 21:27:29客観的に説明できる理由はないな。勘違いか何かそういったあんたしか知り得ない事だろう。
0145デフォルトの名無しさん
2010/02/11(木) 21:27:55200万ループもさせてどちらも1秒未満のコストであることには変わりなく、
パフォーマンスもたった3倍ほどしか違わないのか。
0146デフォルトの名無しさん
2010/02/11(木) 21:32:56while((str = in.readLine()) != null && !str.equals("END"))
0147デフォルトの名無しさん
2010/02/11(木) 21:37:27答えてくださったみなさんありがとうございました!!!!
0148デフォルトの名無しさん
2010/02/11(木) 21:38:270149デフォルトの名無しさん
2010/02/11(木) 23:57:21テストの仕方が悪いな。
テスト対象のリストが使われてないことがVMにばれたら
実行時の最適化で何もしないことになる。
最適化が効かないようなごく短い時間でのアプリケーションの動作が必要ならば、
外部ライブラリを使っているなら
そのクラスロードにかかる時間も考慮に入れなきゃだめだろ。
ボクシングについては、ある程度の小さいな値なら
新しいオブジェクトは生成しないことが言語仕様で決まっていたはず。
(これはこれで間抜けなのだが)
0150デフォルトの名無しさん
2010/02/12(金) 00:08:25response.setCharacterEncoding("Windows-31J");
この2つの違いはなんでしょうか
0151デフォルトの名無しさん
2010/02/12(金) 00:12:21下がエンコードで外に対して何の文字セットで出力するか。だと思う。
0152デフォルトの名無しさん
2010/02/12(金) 00:31:25それに対して返ってきた応答がresponseで何の文字セットを使っているかかもしれんぞ。
0153デフォルトの名無しさん
2010/02/12(金) 03:17:16可読性。
0154デフォルトの名無しさん
2010/02/12(金) 08:42:330155デフォルトの名無しさん
2010/02/12(金) 08:55:390156デフォルトの名無しさん
2010/02/12(金) 09:30:190157デフォルトの名無しさん
2010/02/12(金) 11:19:460158デフォルトの名無しさん
2010/02/12(金) 11:37:28In[1] := Epidemic[n_, p_] :=
Module[{choices = {{1, 0}, {0, 1}, {-1, 0}, {0, -1}},
reject, pickAndChoose, select, newpers},
reject = {};
pickAndChoose :=
(select = #[[2, Random[Integer, {1, Length[#[[2]]]}]]];
If[Random[] <= p,
newPers =
Complement[Union[Map[Function[y, y + select],
choices], #[[2]]],
{select}, #[[1]], reject];
{Join[#[[1]], {select}], newPers},
reject = Join[reject, {select}];
{#[[1]], Comple, ent[#[[2]], {select}]}]) &;
FixedPoint[pickAndChoose, {{{0, 0}}, choices}, n,
SameTest -> (#2[[2]] == {} ||
Length[#2[[1]]] == n &)][[1]]
]
上を実行すると
SetDelayed::write : In[1]のタグInはProtectedです.
と、エラーが出るんですけど、どうしたら解決しますか?
初心者でヘルプを見てもよくわからなくて・・・わかる方いましたら教えてください。
0159デフォルトの名無しさん
2010/02/12(金) 11:43:19http://pc12.2ch.net/test/read.cgi/tech/1100761346/
0160デフォルトの名無しさん
2010/02/12(金) 11:44:51そちらで再度質問してみます。
わざわざありがとうございました
0161デフォルトの名無しさん
2010/02/12(金) 14:15:16以下のようにオーバーフローでエラーになります。
回避する方法はあるのでしょうか?
java.lang.StackOverflowError
at java.io.ObjectInputStream$PeekInputStream.read(Unknown Source)
at java.io.ObjectInputStream$PeekInputStream.readFully(Unknown Source)
at java.io.ObjectInputStream$BlockDataInputStream.readInt(Unknown Source)
at java.io.ObjectInputStream.readHandle(Unknown Source)
at java.io.ObjectInputStream.readClassDesc(Unknown Source)
以下100スタック程あります。
JREのバグっすか?
要領制限ありましたっけ?
0162デフォルトの名無しさん
2010/02/12(金) 15:48:05場合による
0163デフォルトの名無しさん
2010/02/12(金) 15:49:18データとコード晒せ
0164デフォルトの名無しさん
2010/02/12(金) 16:58:53あんた何様っすか?
0165デフォルトの名無しさん
2010/02/12(金) 17:00:21あんたも何様っすか?
0166デフォルトの名無しさん
2010/02/12(金) 17:00:580167デフォルトの名無しさん
2010/02/12(金) 17:05:490168デフォルトの名無しさん
2010/02/12(金) 17:20:010169デフォルトの名無しさん
2010/02/12(金) 17:29:10おーい、茶々入れんでくれ〜
で、なんとなくわかったことは、単純にシリアライズの問題っぽい。
DocumentBuilderFactory dbfactory = DocumentBuilderFactory.newInstance();
DocumentBuilder builder = dbfactory.newDocumentBuilder();
doc = builder.parse(in);
docをシリアライズすると、↓辺の間で再起してる。
at java.io.ObjectOutputStream.writeObject0(Unknown Source)
at java.io.ObjectOutputStream.defaultWriteFields(Unknown Source)
at java.io.ObjectOutputStream.writeSerialData(Unknown Source)
at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source)
at java.io.ObjectOutputStream.writeObject0(Unknown Source)
at java.io.ObjectOutputStream.defaultWriteFields(Unknown Source)
at java.io.ObjectOutputStream.writeSerialData(Unknown Source)
at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source)
at java.io.ObjectOutputStream.writeObject0(Unknown Source)
at java.io.ObjectOutputStream.defaultWriteFields(Unknown Source)
データ階層は深くないけど、エントリがいっぱいあって、
次のエントリに行くときにたぶん再起しているっぽい。
xmlだからそうしてんだろうけどあんまりだよ!
0170デフォルトの名無しさん
2010/02/12(金) 17:35:03回答者だけど?
0171デフォルトの名無しさん
2010/02/12(金) 17:37:47http://java.sun.com/javase/ja/6/docs/ja/platform/serialization/spec/serial-arch.html#4176
0172デフォルトの名無しさん
2010/02/12(金) 17:39:02RMI関係なくて、シリアライズしただけで問題起きるってこと?
0173デフォルトの名無しさん
2010/02/12(金) 17:41:30一般的じゃないのかな?
0174デフォルトの名無しさん
2010/02/12(金) 18:34:32スタック増やせば?
0175デフォルトの名無しさん
2010/02/12(金) 20:16:020176デフォルトの名無しさん
2010/02/12(金) 20:17:49ぜんぜん回答になってねぇなw
一言居士カコイイ! 的中学生か
0177デフォルトの名無しさん
2010/02/12(金) 20:24:01だいたい DOM がシリアライズ可能なんて保証はどこにもない。
出来たとしても (経験上大概大丈夫だが) 相手側の XML 実装系が変わったらもうだめぽ。
やるなら DOM じゃなくて文字列で送れ (シリアライズの64k文字制限ってまだあるんだっけ?)。
0178デフォルトの名無しさん
2010/02/12(金) 22:15:58ファイルの読み込みに少し時間が掛かる程度で別スレッドにしたりロード中の
コンポーネント状態管理するの面倒なんだが。
0179デフォルトの名無しさん
2010/02/12(金) 22:38:080180デフォルトの名無しさん
2010/02/12(金) 22:44:540181デフォルトの名無しさん
2010/02/12(金) 23:09:18状況分からないのに回答出来ないじゃん。
0182デフォルトの名無しさん
2010/02/12(金) 23:10:59イベントディスパッチループってどういうのをイメージしてるの?
別スレッドにしたくなければEDTで処理すれば良いと思うけど。
0183デフォルトの名無しさん
2010/02/13(土) 00:09:51どうなの?
0184デフォルトの名無しさん
2010/02/13(土) 04:17:46昔 Sun に何とか言われてバンドルでしか配布してなかったと思うけど、あれもう関係ないでしょ。
0185デフォルトの名無しさん
2010/02/13(土) 09:42:05ここのIBM DevelopmentPackage_for_Eclipse_Win32のibm_sdk60に含まれてなかったっけ?
メモに残してたんだけど確かじゃない。
0186デフォルトの名無しさん
2010/02/13(土) 09:52:10ttp://java.sun.com/javase/ja/6/docs/ja/technotes/guides/serialization/relnotes.html
に64K を超える文字列を直列化できる (1.3 以降)って書いてあるので問題ないんじゃなかろうか
0187デフォルトの名無しさん
2010/02/13(土) 21:46:56例えば、
String str = "あいうえお\\nかきくけこ"; を
"あいうえお\nかきくけこ" に変換したいです。
0188デフォルトの名無しさん
2010/02/13(土) 21:59:08javaを用いたホームページをつくれという抽象的な課題でとりあえず簡単にできそうなの実装してみたいと思ってるのですが、何をしていいのかわからないのですぐできそうなものがありましたら教えてください。
今は時計を表示させただけです。
0189デフォルトの名無しさん
2010/02/13(土) 22:01:09str = str.replaceAll("\\n", "\n");
0190デフォルトの名無しさん
2010/02/13(土) 22:02:58str = str.replace("\\\\", "\\");
0191デフォルトの名無しさん
2010/02/13(土) 22:04:40str = str.replace("\\n", "\n");
0192デフォルトの名無しさん
2010/02/13(土) 22:07:14トリップ解析
0193デフォルトの名無しさん
2010/02/13(土) 22:09:20宿題スレにでも行けよ。
JDKにJavaDBってのが付いてくるから、
それで掲示板でもつくってみろ。
0194デフォルトの名無しさん
2010/02/13(土) 22:17:01だせえ
0195デフォルトの名無しさん
2010/02/13(土) 22:23:250196デフォルトの名無しさん
2010/02/13(土) 22:23:50さんくす
宿題スレいってくる
0197デフォルトの名無しさん
2010/02/13(土) 23:44:04未入力、半角スペースのみ、全角スペースのみなら処理が走らない
とやりたいのですが下記の文法で全角スペースだけうまく認識してくれません
if ( str.matches("|[] +|[ ]+") ){
return;
}
うまく全角スペースも弾いてくれる書き方をご教授願います
0198デフォルトの名無しさん
2010/02/13(土) 23:47:56改行やタブまで含めるなら "[¥¥s ]*"
0199デフォルトの名無しさん
2010/02/13(土) 23:58:06これ以上の最適解は無い
あるなら出すべき、無理だろうけど
0200デフォルトの名無しさん
2010/02/14(日) 00:00:120201デフォルトの名無しさん
2010/02/14(日) 00:19:51環境を聞いたらJava1.4でした…。
この先バージョン上げるつもりも無いらしい。
自分としてはせめて1.5以降のJavaで開発したかったんですが、
今でも1.4以前のバージョン使ってるサービスはよくあることなんですか?
0202デフォルトの名無しさん
2010/02/14(日) 00:20:440203デフォルトの名無しさん
2010/02/14(日) 00:23:090204デフォルトの名無しさん
2010/02/14(日) 00:29:58転職したら?
自社コードをJUnitでテストしてたら以降テストも余裕だろ。
0205デフォルトの名無しさん
2010/02/14(日) 00:30:49おまえは正規雇用のパートだ。
2006 年くらいまでの開発は 1.4 でやってるところもあったから、システムの減価償却期間
考えたらまだ 1.4 で動いているところはあるだろう。
0206デフォルトの名無しさん
2010/02/14(日) 00:34:57でもそれを採用してくれなかったら従うしかないだろ
それがサラリーマンだろ
0207デフォルトの名無しさん
2010/02/14(日) 00:37:480208デフォルトの名無しさん
2010/02/14(日) 00:37:531.4なんて全然珍しくないだろ。
バージョンアップする理由が無いなら余計な仕事を増やす必要も無い。
0209デフォルトの名無しさん
2010/02/14(日) 00:39:01やっぱりレベル上げは強い敵を倒したほうが良いですね。
0210デフォルトの名無しさん
2010/02/14(日) 00:39:190211デフォルトの名無しさん
2010/02/14(日) 00:41:540212デフォルトの名無しさん
2010/02/14(日) 00:42:290213デフォルトの名無しさん
2010/02/14(日) 00:45:470214デフォルトの名無しさん
2010/02/14(日) 00:47:480215デフォルトの名無しさん
2010/02/14(日) 00:49:000216デフォルトの名無しさん
2010/02/14(日) 04:08:10クラスOpqにインポートした場合
import abc.Yxz;
public class Opq {
クラスOpqではYxzの全てを利用出来るというでしょうか?
0217デフォルトの名無しさん
2010/02/14(日) 04:11:130218デフォルトの名無しさん
2010/02/14(日) 04:12:42>Yxzの全て
何が言いたいかわからん
0219デフォルトの名無しさん
2010/02/14(日) 04:15:14ありがとうございます
0220デフォルトの名無しさん
2010/02/14(日) 05:27:32うむ。
0221デフォルトの名無しさん
2010/02/14(日) 08:39:41勝手に返事するなw
0222デフォルトの名無しさん
2010/02/14(日) 18:19:37だれか・・・
0223デフォルトの名無しさん
2010/02/14(日) 18:23:250224デフォルトの名無しさん
2010/02/14(日) 18:31:500225デフォルトの名無しさん
2010/02/14(日) 19:23:37重複しちゃイカンという領域のデータを順に読んで、チェック変数のそれに対応
したビットを立てて行くことで、重複した数字をチェック。
・・・宿題だったら宿題スレ行け。かもしれん。
0226デフォルトの名無しさん
2010/02/14(日) 20:05:210227デフォルトの名無しさん
2010/02/15(月) 06:01:21内部処理だけ?
0228デフォルトの名無しさん
2010/02/15(月) 06:08:20書けば好きなデザインと挙動で作る事も出来る。
ただ半透明ウィンドウだとか丸形ウィンドウを出したいというのはお茶濁し程度の事
しかできないが。
0229デフォルトの名無しさん
2010/02/15(月) 06:27:340230デフォルトの名無しさん
2010/02/15(月) 07:10:50http://v2c.s50.xrea.com/
0231デフォルトの名無しさん
2010/02/15(月) 07:23:280232デフォルトの名無しさん
2010/02/15(月) 07:26:29業務アプリ臭が強すぎて使う気失せたわ。
0233デフォルトの名無しさん
2010/02/15(月) 07:32:290234デフォルトの名無しさん
2010/02/15(月) 07:36:330235デフォルトの名無しさん
2010/02/15(月) 15:19:29濁し程度ではないがまともに使える環境が少ない。
0236デフォルトの名無しさん
2010/02/15(月) 17:24:35ちょっと前までstrutsかと思っていたら、.netの失敗プロジェクトから
開放されてjavaに戻ってきたら、strutsもlog4jもほとんど更新されてない・・・。
一体この�T、2年で何が起きた??
0237デフォルトの名無しさん
2010/02/15(月) 17:29:22MIDIファイルを再生しながら、鳴っている音を再生と同時に「ドレミ」と表示させるようなものを作ろうと思っています。
MIDIを再生させるまではできていて、こんな感じになっています↓
Sequencer-Transmitter------Receiver-Synthesizer
/
Sequence (in Stream)
・SequenceはMIDIファイルのストリームを持っている
・SequencerはSynthesizerにMIDIメッセージを送っている
・Synthesizerは音を鳴らしている
多分こんな仕組みなのだと思っていて、SequencerーSynthesizer間に流れているMIDIメッセージを見ることができれば完成すると思うのです。
SequencerにはaddXxxEventListenerが二つあるのですが、コントロールイベントとメタイベントしか取得できないようです。。
何か方法はないでしょうか。
0238デフォルトの名無しさん
2010/02/15(月) 17:40:270239デフォルトの名無しさん
2010/02/15(月) 18:12:54何も起きなかった。
0240デフォルトの名無しさん
2010/02/15(月) 18:36:49Receiverのsendメソッドをオーバーライドして、MidiEventを見れる様に手を加えた物をSynthesizerに持たせる感じでしょうか。
なんかできそうな気がしてきました。回答ありがとうございます
0241デフォルトの名無しさん
2010/02/15(月) 18:47:58strutsは知らないけど、log4jは開発終了、確か開発者だか設計者が抜けたんだっけ?
Logbackとslf4jあたりに移行しましょう。
0242デフォルトの名無しさん
2010/02/15(月) 19:10:180243デフォルトの名無しさん
2010/02/15(月) 23:07:46直近で一番でかいのが Oracle の買収だよ。
log4j は、まぁログ機能なんてあれより進化は必要ないだろ。せいぜい誰が使うか分からない
Appender の種類増やす程度じゃないの。まぁ可変引数使った String.format() 書式くらい
対応しろよとは思うが。標準 Logging API の件でブチ切れたメインのおっさんが抜けて
事実上 1.2 で開発中止状態 (1.3 はポシャった)。
Struts も息長いなー。フレームワークである以上おいそれと設計替えられないのは分かるけど
ベースは JDK 1.1 時代の設計だろ。あんなバグだらけで素人がでっち上げたような設計
すぐ置き換わるかと思って見てたが、糞でも何でもデファクト取れば後付で MVC だ何だと
後付で囃してくれるもんなんだと感心したよ。
Logging API の件も Struts の件も、モノ作りって何なんだろうなと考えさせられた
おっさんでした。
0244デフォルトの名無しさん
2010/02/15(月) 23:18:54ITの世界って恐ろしい
0245デフォルトの名無しさん
2010/02/16(火) 01:27:120246デフォルトの名無しさん
2010/02/16(火) 01:53:330247デフォルトの名無しさん
2010/02/16(火) 01:55:33>>242 + flash
0248デフォルトの名無しさん
2010/02/16(火) 04:05:14大規模なWebをPHPやらRubyやらで作るのか?
主流というか棲み分けがはっきりし出したんじゃね。
掲示板をJavaで作る必要ないよねと。
0249デフォルトの名無しさん
2010/02/16(火) 04:36:57cのプログラミングでは、visualC使ってました。これは特に理由もなく、とっつきやすそうだったからというだけの理由です。(特に不自由を感じているというわけでもありませんが。)
そこでjavaを始めるにあたり、まず開発環境の構築から考えたいと思いました。
調べれば色々でてきますが、皆さんはどのようにされてますでしょうか?
0250デフォルトの名無しさん
2010/02/16(火) 04:43:590251デフォルトの名無しさん
2010/02/16(火) 05:18:01みてJDKダウンロード
http://www.db.is.kyushu-u.ac.jp/rinkou/javaintro/eclipse.html
みてeclipseダウンロード
SVNはとりあえずはいらん。
0252デフォルトの名無しさん
2010/02/16(火) 06:49:30eclipseならjdkもいらないんじゃなかったっけ。
0253デフォルトの名無しさん
2010/02/16(火) 07:10:31その期間だとまさにjavafxだと思うんだが、英語読めないだろ?
英語読めないと日本だとどこにも情報はないよ。
日本のIT記事ってのはほとんど素の翻訳か英語記事の偏見的な解説だし。
0254デフォルトの名無しさん
2010/02/16(火) 07:16:02で、偏見の具体例は?
0255デフォルトの名無しさん
2010/02/16(火) 07:26:01うんうんそうだね。
で、君はどこのシステムで Java FX 開発したんだい?
0256デフォルトの名無しさん
2010/02/16(火) 07:30:27英語だとjdk1.6 desktop+scriptingの目玉なんだけどね…オリンピックのサイトとかもjavafxだけどそれを知ってる日本人開発者は少ない。
0257デフォルトの名無しさん
2010/02/16(火) 07:31:190258デフォルトの名無しさん
2010/02/16(火) 07:31:390259デフォルトの名無しさん
2010/02/16(火) 07:38:180260デフォルトの名無しさん
2010/02/16(火) 07:41:42すっぱい葡萄ですね、分かります
0261デフォルトの名無しさん
2010/02/16(火) 07:45:13未だにまともな日本語の文献ないよな。Eclipseの基幹技術でもあるのにね。
0262デフォルトの名無しさん
2010/02/16(火) 07:49:47現場から見りゃ単に仕掛けたけど流行りませんでしたという代物。
0263デフォルトの名無しさん
2010/02/16(火) 07:50:320264デフォルトの名無しさん
2010/02/16(火) 07:54:470265デフォルトの名無しさん
2010/02/16(火) 07:55:57http://www.vancouver2010.com/olympic-medals/geo-view/
0266デフォルトの名無しさん
2010/02/16(火) 07:59:23残ってんじゃないの。ぶっちゃけ ○dobe あたりで見たようなという印象しかなかった。
>>263-264 はそんな氷河期世代かw
0267デフォルトの名無しさん
2010/02/16(火) 08:03:51Mac OS X で Chrome だと実行不能 (The application uses Java, but Java is not supported
by your system. Use a computer with another operating system to view this applicaiton.)
FireFox だと「アクセスを要求しています」の警告ダイアログが出て固まった。
やる気ねーなー。
0268デフォルトの名無しさん
2010/02/16(火) 08:10:480269デフォルトの名無しさん
2010/02/16(火) 08:12:02(日本語圏で)バズってるかどうかだけが判断基準とか、ずいぶんと浅薄な技術観をお持ちですね^^;;;
0270デフォルトの名無しさん
2010/02/16(火) 08:15:33自分のPCのショボさを責任転嫁ですか?
とりあえず英語の警告文になんて書いてあるか読んでみ。
0271デフォルトの名無しさん
2010/02/16(火) 08:17:21だからおまえがどこの開発で携わったか出してみ?
英語のサイトで調べて実際に手動かしてこれは流行らんと思ったって話。
おまえは記事読んだところでお花畑になって終わっただけだろ。
0272デフォルトの名無しさん
2010/02/16(火) 08:24:330273デフォルトの名無しさん
2010/02/16(火) 08:26:370274デフォルトの名無しさん
2010/02/16(火) 08:28:00最近そういうバズワ〜ドって流行ってるんですか?
0275デフォルトの名無しさん
2010/02/16(火) 08:30:26えっ?!asahi.co.jpですよ?
当然現場現場してますし〜
0276デフォルトの名無しさん
2010/02/16(火) 08:30:550277デフォルトの名無しさん
2010/02/16(火) 08:32:04おまえ Eclipse スレで暴れてるバカだろ
0278デフォルトの名無しさん
2010/02/16(火) 08:39:26黄色い昭和臭がプンプンして臭うんだよね(><)
0279デフォルトの名無しさん
2010/02/16(火) 08:43:590280デフォルトの名無しさん
2010/02/16(火) 08:44:36>>911
お前はテレビや新聞が偏向報道をしている事実もしらんのか?
客観的に記事内容を把握できる点だ。
アカヒ新聞とか毎日変態新聞とか日刊ヒュンダイとかしか読んでない奴は
ずっとそういったメディアに騙され続けて民主党や社民党や共産党や公明党に
投票しちゃうわけだ。
そして既存メディア自体が、広告主からおもったほど広告の効果が得られないとして撤退されて痛い目にあっているという事実。
ネットの影響で広告収入も減ってしまったという事実。
そんな調子だからやつらは必死なわけだ。
0281デフォルトの名無しさん
2010/02/16(火) 08:47:200282デフォルトの名無しさん
2010/02/16(火) 09:30:53>>241
他、>>236の回答ありがと〜!
何も起きなかったから、すたれたのか・・・。
それにしても、業務系のWebアプリをクラスタしたり、ダウンタイムなしでとか言われたら
Java以外って選択肢になるの?
この1、2年のブランクでJava仕事できなくなってるかも・・・困ったな。
0283デフォルトの名無しさん
2010/02/16(火) 09:35:400284デフォルトの名無しさん
2010/02/16(火) 09:37:560285デフォルトの名無しさん
2010/02/16(火) 09:38:04小泉純一郎の経済政策は正しかったのだが。
あのグローバル資本主義を否定している輩は
社会主義者とか共産主義者とか
赤 い 旗 を 振 り 回 し て い る 連 中 だ
0286デフォルトの名無しさん
2010/02/16(火) 10:08:280287デフォルトの名無しさん
2010/02/16(火) 10:08:58金額、納期とかにもよるだろ。
そもそもクラスタってどのレベルだ?
セッションごとクラスタしたいのか、
ただの負荷分散でいいのか。
裏っかわの業務ロジックの量にもよるし。
ふつーのECサイト程度なら、
PHPでもRubyでもいいんじゃね?
オンライントレードとか重たい処理が絡むなら、
Javaにしとけばいいんじゃね?
0288デフォルトの名無しさん
2010/02/16(火) 10:24:09金融系多かったので、Java以外って選択肢が思い浮かばないです。
今だとPHPとかRubyも金融系で使われてるのかな?
浦島太郎になった気分。
少ない経験だけど、どとねと使って負荷高い仕事受けるのは自殺行為
だというのだけはわかったから、Javaでちゃんと設計から製造までしたいです。
0289デフォルトの名無しさん
2010/02/16(火) 10:45:19じゃあJavaでやればいいと思うよ。
少なくとも日本じゃPHPやRubyで金融系なんてめったにないだろ。
別にJavaがすたれたわけじゃなく、
わざわざJavaで作らなくてもよかったのをJavaで作らなくなっただけ。
PHP、Rubyのスペシャリストたくさん抱えてますとか、
他に要因なければJavaでやって誰も文句言わないだろ。
0290デフォルトの名無しさん
2010/02/16(火) 10:51:400291デフォルトの名無しさん
2010/02/16(火) 10:52:470292デフォルトの名無しさん
2010/02/16(火) 11:16:360293デフォルトの名無しさん
2010/02/16(火) 12:27:55小泉純一郎(笑)
0294デフォルトの名無しさん
2010/02/16(火) 12:29:18といってもMSとしては.netがLinuxで動いていいこと、
一つもないからなー。
エクセルやらワードやらがLinuxで動きますってなった時に、
OSのシェアどれだけ食われるか恐れてるんじゃないか?
0295デフォルトの名無しさん
2010/02/16(火) 12:36:490296デフォルトの名無しさん
2010/02/16(火) 12:54:43SQLServer や IIS (名前変わってたっけ?) で営業切り込めるんだし。
ただ単価やっすい Linux 客取れる程度じゃ開発費の割に合わんというだけ。
0297デフォルトの名無しさん
2010/02/16(火) 13:00:50逆だ逆。
MSににしてみたらWindowsServerを売るための、
SQLServerであり.netだと。
0298デフォルトの名無しさん
2010/02/16(火) 13:05:28やはり純正がいい。だからlinuxで動く必要なんて無い。
0299デフォルトの名無しさん
2010/02/16(火) 13:07:02金融系っていったらJava!だと思ってたので、Strutsやらlog4jやら更新されてないのが
気になっただけです。
PHPでもRubyでも.netでもお客がそれでやれって言われたらやるしかないし。
けど、1、2年前の感覚だとPHPやRubyでクリティカルな業務やっていいの?っていう漠と
した不安があっただけです。
にしても、.netだけは日本のわがままなお客さん相手では使えないと思うけどなぁ・・・。
機能どうこうと言うより、お客さんの要求を満たそうとすると.netの便利機能を使わないように
設計しないと・・・と思った。
.netが完全に使い物にならないならまだいいんだけど、やろうと思えばやれちゃうからね〜・・・。
0300デフォルトの名無しさん
2010/02/16(火) 13:11:23それはダメだわ。あほすぎる。
0301デフォルトの名無しさん
2010/02/16(火) 13:12:38だから「Web は Linux でも .NET が動きますのでバックエンドはぜひ WinServer で」 という
提案ができるじゃん。そういう段階侵食できる基盤がないから囲い込みしか手がないんだよ。
0302デフォルトの名無しさん
2010/02/16(火) 13:14:510303デフォルトの名無しさん
2010/02/16(火) 13:19:02保守的なお客さん都合でJavaが採用されるだけ。
少し前までは考えられなかった食べログのようなマンモスサイトでも普通にRailsが使われるようになったし
そのうち金融系にも動的言語が入ってくると思うよ。
0304デフォルトの名無しさん
2010/02/16(火) 13:21:17Rubyはこれからだな
0305デフォルトの名無しさん
2010/02/16(火) 13:23:25何十年も延々と下取りに出され、そのあいだずっと保守するんだよ。
食べログみたいな一代で終わるところとは考え方が違って当然。
0306デフォルトの名無しさん
2010/02/16(火) 13:26:440307デフォルトの名無しさん
2010/02/16(火) 13:28:10今じゃ誰もやりたくない糞溜だけど。
0308デフォルトの名無しさん
2010/02/16(火) 13:30:250309デフォルトの名無しさん
2010/02/16(火) 13:38:060310デフォルトの名無しさん
2010/02/16(火) 13:41:100311デフォルトの名無しさん
2010/02/16(火) 13:43:170312デフォルトの名無しさん
2010/02/16(火) 13:51:17でも、COBOL→JavaほどJava→Rubyに差がないから、
Rubyに乗り換えることに魅力を感じない。
言うと大規模システムをRubyで作るメリットがない。
あと、eclipseが強力すぎる。
Rubyにもeclipseくらい便利なものが出てくればあるいは。
0313デフォルトの名無しさん
2010/02/16(火) 13:54:12まぁ自分はrubyを生で使うからdebianでvimだけど
0314デフォルトの名無しさん
2010/02/16(火) 13:59:26eclipseについては、
生産性というより保守性かもしれん。
リファクタ機能やら参照検索やら。
他人が作ったソースでもeclipseがあれば、
なんとなく追えるし。
0315デフォルトの名無しさん
2010/02/16(火) 14:35:430316デフォルトの名無しさん
2010/02/16(火) 14:42:53レスポンスが高速でないと話にならんよな>生産性
2,3文字入力&補完、程度のことはコンマ何秒でできて欲しい
0317デフォルトの名無しさん
2010/02/16(火) 14:47:400318デフォルトの名無しさん
2010/02/16(火) 14:48:140319デフォルトの名無しさん
2010/02/16(火) 14:52:070320デフォルトの名無しさん
2010/02/16(火) 15:13:140321デフォルトの名無しさん
2010/02/16(火) 17:56:580322デフォルトの名無しさん
2010/02/16(火) 18:03:37失敗したこと自体、気付けません
クラスパスの設定ミスとかがあった時、どのクラスが見つからないのか判別できません
これは何かの設定でかえれるのでしょうか?
Eclipseからbuild.xmlを右クリックして実行しています
0323デフォルトの名無しさん
2010/02/16(火) 18:05:480324デフォルトの名無しさん
2010/02/16(火) 18:36:31eclipseのコンソールにantの実行結果が出ないってこと?
なんで失敗したってわかるの?
コマンドプロンプトから実行したらどうなるの?
0325322
2010/02/16(火) 18:47:12javacタスクのコンパイル結果をcompiledと言うディレクトリに入れているのですが、
build.xmlの最初でこのディレクトリは毎回削除するようにしているので、
ビルドが成功しているなら*.classファイル群がコンパイル結果として入り、失敗していれば空なわけです
具体的には今回新しいライブラリを追加したのですが、
クラスパスの設定が間違っているのかコンパイル結果が出てきません。
新しいライブラリが不要な以前のコードに戻すとコンパイル結果が入ります。
eclipseのコンソールには、
[javac] Compiling 3 source files to DIRECTORY_PATH
と言う一行が最後の出力となって出ています。
それ以外は
Buildfile:
などの通常のantの出力です。
要するに、javacタスクの内部で発生したエラーについて報告が無いんですよね
antスクリプトとしてのエラーなら、例えばcopyタスクで指定したファイルが存在しなかったりするとかはちゃんとエラーが出るのですが。
0326デフォルトの名無しさん
2010/02/16(火) 19:33:08サブクラスから元のスーパークラスを知る事は簡単ですが、
スーパークラスからサブクラスを知る事はできるのでしょうか?
0327デフォルトの名無しさん
2010/02/16(火) 19:38:48ふつーにやればふつーに出力されるはず
http://www.jajakarta.org/ant/ant-1.6.1/docs/ja/manual/CoreTasks/javac.html
みてオプション追加してみたら?
verboseとかfailonerrorとか
あとは、antの実行時の引数に
-vオプション(verbose)渡してみるとか。
0328デフォルトの名無しさん
2010/02/16(火) 19:38:56phpとかrubyで作ったのはいいが、冗長か出来ずに糞高いロードバランサ機材に金つぎ込む羽目に成るだけじゃ?
0329デフォルトの名無しさん
2010/02/16(火) 19:45:57もうちょっと具体的に何がしたいのか。
A extends B
のときに、
BでAという名前が取得したいとか、
BでAのメソッドを使いたいとか。
0330デフォルトの名無しさん
2010/02/16(火) 19:53:52[DMZ]webサーバ(apache)→[内部]APサーバ(weblogic)→[内部]DBサーバ(oracle)
ってやるけど、
RubyやらPHPってどうしてんの?
weblogicのところがapacheになって、
そこにアプリケーションおくの?
0331デフォルトの名無しさん
2010/02/16(火) 20:08:35BでAという名前を取得したいのです
名前さえ解ればforNameとかで結構どうとでもできるので
0332デフォルトの名無しさん
2010/02/16(火) 20:17:47よくわからん。
これじゃだめなのか?
public class Test2 {
public static void main(String[] args) {
new A().print();
}
}
class A extends B {
}
class B {
public void print() {
System.out.println(this.getClass().getName());
}
}
0333デフォルトの名無しさん
2010/02/16(火) 20:21:36何がしたいんだw
0334326
2010/02/16(火) 20:28:01ごめんなさい、そういう意味ではないです
特定のクラスのみサブクラスを取得できるのではなく、
すべてのクラスでサブクラスを取得出来るような方法が知りたいのです
例えばAbstractListからArrayListやVectorなど、既存クラスにも適用したいと考えています
0335デフォルトの名無しさん
2010/02/16(火) 20:32:440336デフォルトの名無しさん
2010/02/16(火) 20:37:30jarファイルの中を覗いていけば、Class.forNameとか使いまくってやれん事もない。たぶん。
しかし、ここらへんはクラスローダの制約ってのもあるので、厳密に網羅するのは無理やね。
0337デフォルトの名無しさん
2010/02/16(火) 21:00:01ぱっと調べてこんなんあった。
http://yajiblog.blog101.fc2.com/blog-entry-30.html
これClassのリストにしてるから、
そっからsuperクラスを手繰って整理すればいけるんじゃない?
ただ、クラスローダは実装依存だから
>>336の言うとおり厳密にとれるかは知らん。
0338デフォルトの名無しさん
2010/02/16(火) 21:00:20設計がおかしいんじゃないの
0339デフォルトの名無しさん
2010/02/16(火) 21:01:550340デフォルトの名無しさん
2010/02/16(火) 21:07:470341デフォルトの名無しさん
2010/02/16(火) 21:52:420342デフォルトの名無しさん
2010/02/16(火) 22:02:160343187
2010/02/16(火) 22:23:11>>190
だいぶ遅れてしまいましたが、ありがとうございます。
それだと、
\n の他にも \rなど全ての特殊文字を置換しないといけなくて、
それをどうにか一括でできないかなと思ったのですが、
上手い方法はなさそうですね。
0344デフォルトの名無しさん
2010/02/17(水) 01:02:190345デフォルトの名無しさん
2010/02/17(水) 01:22:380346デフォルトの名無しさん
2010/02/17(水) 01:27:47>>344 ほれ
533 名前: デフォルトの名無しさん [sage] 投稿日: 2010/01/24(日) 17:52:46
>>528
u18で翻訳完了してないみたいだね。
直リンでもうしわけないが↓からu10ベースの日本語訳が落とせると思う
https://cds.sun.com/is-bin/INTERSHOP.enfinity/WFS/CDS-CDS_Developer-Site/en_US/-/USD/ViewProductDetail-Start?ProductRef=jdk-6u10-docs-oth-JPR@CDS-CDS_Developer
0347デフォルトの名無しさん
2010/02/17(水) 01:54:29ありがとうございます
5のドキュメント使ってました^^;
0348デフォルトの名無しさん
2010/02/17(水) 04:41:09取得してint型の変数aにいれたいのですが、どうも上手くいきません。
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
public class test extends Applet{
int a;
TextField tf;
public void init(){
setBackground(Color.white);
tf = new TextField("1",3);
a = Integer.valueOf(tf.getText()).intValue();
}
public void paint(Graphics g){
//このクラスでaを使う
}
}
コンパイルはできるのですが、テキストフィールドが表示されませんでした。
まだjavaは始めたばかりで調べながら切り貼りで作ってるのでおかしなとこがあると思いますが、よろしくお願いします。
0349デフォルトの名無しさん
2010/02/17(水) 05:32:360350デフォルトの名無しさん
2010/02/17(水) 05:43:210351デフォルトの名無しさん
2010/02/17(水) 07:25:16前述した部分だけがポイントですので問題ありません。
あまりたくさん貼ってもスレ汚しだと思いますので。
0352デフォルトの名無しさん
2010/02/17(水) 07:28:390353デフォルトの名無しさん
2010/02/17(水) 07:35:16まだjavaは始めたばかりで........
0354デフォルトの名無しさん
2010/02/17(水) 08:00:340355デフォルトの名無しさん
2010/02/17(水) 08:46:230356348
2010/02/17(水) 09:09:39以下のように修正してテキストフィールドの値を変更してエンターを押してaの値を変えたいのですが、イベント処理の使い方が間違ってるらしく反映されません。
public class test extends Applet implements ActionListener{
int a;
TextField tf;
public void init(){
setBackground(Color.white);
tf = new TextField("1",3);
tf.addActionListener(this);
add(tf);
}
public void actionPerformed(ActionEvent e) {
a = Integer.valueOf(tf.getText()).intValue();
}
public void paint(Graphics g){
//ここでaを使う
}
}
また、表示部分のコードとはどの部分のことでしょうか?
0357デフォルトの名無しさん
2010/02/17(水) 09:25:390358デフォルトの名無しさん
2010/02/17(水) 09:55:510359デフォルトの名無しさん
2010/02/17(水) 10:05:01actionPerformedで
repaint() を呼ぶ。
詳しくは
http://java.sun.com/products/jfc/tsc/articles/painting/index.html
0360デフォルトの名無しさん
2010/02/17(水) 10:23:58Set<Entry> entries = map.entrySet();
out.print("<br>すべてのパラメータ");
for(Entry entry : entries){
out.print("<br>");
out.print(entry.getKey());
out.print(":");
out.print(entry.getValue());
}
出力がおかしくなるんですが、なぜなんでしょうか。
0361デフォルトの名無しさん
2010/02/17(水) 10:53:24HashMap使ってるんじゃないの?
0362デフォルトの名無しさん
2010/02/17(水) 11:46:05だったら一番下をprintlnに
0363デフォルトの名無しさん
2010/02/17(水) 11:46:460364326
2010/02/17(水) 11:52:26これから色々試してみたいとおもいます。
0365デフォルトの名無しさん
2010/02/17(水) 12:01:46checkbox:[Ljava.lang.String;@12c4768
text2:[Ljava.lang.String;@4298e
text1:[Ljava.lang.String;@1443800
出力結果は上のようになります。
ここで、
out.print((String)entry.getKey());
out.print((String)entry.getValue());
というようにStringに明示的にキャストしてみると、今度は、ClassCastExceptionが出てしまいます。
0366デフォルトの名無しさん
2010/02/17(水) 12:02:43Eclipse で該当クラス選択して F4 押せ。
独自でやるならクラスパスから JAR やクラスファイルを検索して、そのクラスファイル名から
クラス名を作って forName()。確実ではないが、インストールされているドライバクラスなど
を一覧表示するためとかにやってみた事はある。
まぁ結論を言うとリフレクションでは出来ない。JVM のクラスロード機構自体そういうことが
できる設計になっていないし。
0367デフォルトの名無しさん
2010/02/17(水) 12:04:08out.print(Arrays.toString((String[])entry.getKey()));
回答側の質落ちてんな…
0368デフォルトの名無しさん
2010/02/17(水) 12:13:59○getValue()
オレモナー
0369デフォルトの名無しさん
2010/02/17(水) 12:17:17ありがとうございました。
これからなお一層Javaの学習に励みます。
0370デフォルトの名無しさん
2010/02/17(水) 12:19:230371360
2010/02/17(水) 12:26:33ありがとうございました。
0373デフォルトの名無しさん
2010/02/17(水) 12:36:320374デフォルトの名無しさん
2010/02/17(水) 15:34:58-d つけたらできましたありがとう
0375デフォルトの名無しさん
2010/02/17(水) 15:39:11テストコードとかjunitのjarファイルとか含める必要ってなにかあるんですか?
OSSアプリでそういうのがあったんですが
0376デフォルトの名無しさん
2010/02/17(水) 16:06:220377デフォルトの名無しさん
2010/02/17(水) 16:12:32A: テストコード読めカス
0378デフォルトの名無しさん
2010/02/17(水) 16:46:41複数のプロジェクトで共有したいクラスがある場合、どうやるのが良いですか?
別プロジェクトからパスを通すか、
シンボリックリンクを使って各プロジェクトに置くか。
0379デフォルトの名無しさん
2010/02/17(水) 16:54:55インターフェーイスは名前や型のみで中身がないものだと習いました。
JAVAのAPIにあるインターフェイスが中身のある(機能が書いてある)メソッドを持っているのはどういうことなのでしょうか?
0381デフォルトの名無しさん
2010/02/17(水) 17:02:05まあテストコードもプロジェクト単位で置いてるからだけど。
0382デフォルトの名無しさん
2010/02/17(水) 17:04:53インターフェイスは機能の振る舞いを定義するものだぞ。
抽象クラスとかと勘違いしてね?
JavaのAPIって、標準API?どれ?
0383デフォルトの名無しさん
2010/02/17(水) 17:07:04中身は無いよ
このインタフェースはこれこれこういう機能を提供するという約束にするのでこのインタフェースを実装するクラスはこれに従って書いてくださいね、っていうお願い
0384デフォルトの名無しさん
2010/02/17(水) 17:08:120385デフォルトの名無しさん
2010/02/17(水) 17:11:450386デフォルトの名無しさん
2010/02/17(水) 17:14:08これは純粋仮想クラスだから
仮想メンバと具象メンバ両方持ってたらそれはinterfaceじゃなくただの仮想クラス(非純粋)
0387デフォルトの名無しさん
2010/02/17(水) 17:16:59共通機能プロジェクトでjarファイル生成して他プロジェクトに持たせるなりパス通すなりとかですか?
0388デフォルトの名無しさん
2010/02/17(水) 17:19:240389デフォルトの名無しさん
2010/02/17(水) 17:26:52プロジョクトとしてビルドパス通せ
0390デフォルトの名無しさん
2010/02/17(水) 17:27:46共通プロジェクト作っておいて、そこの build.xml を実行すると JAR 作って
参照先のプロジェクトにコピー。
めんどくさい場合や共通クラスの方も同時に開発中で更新が多い場合は単にプロジェクト参照。
0391379
2010/02/17(水) 17:48:55インターフェースに中身が無いことはわかりました。
今Mixerクラスでこんなメソッドを使っているんですが
Line getLine(Line.Info info)
使用可能で、かつ指定された Line.Info オブジェクトの記述に一致するラインを取得します。
このLineというのはインターフェースなんですけど、このgetLineで取得したLineインターフェースはインスタンスとなって中身を持ち、メソッドにある機能を使うことができるということなんですか?
元々は中身ないけど、あるクラスのget○○を使えば書いてあるメソッドを使うことができますってことであってます?
0392デフォルトの名無しさん
2010/02/17(水) 17:57:55Lineがインスタンスになるんじゃない
Lineを実装した何らかの別のクラスのインスタンスを返すのよ
例えば
class ConcreteLine implements Line {
// Lineの実装をつらつらと書く
}
class ConcreteMixer implements Mixer {
Line getLine(Line.Info info) {
return new ConcreteLine( ......... );
}
}
みたいな感じになってると思ってください
Lineインタフェースには中身は無いが、実際に返されるのはConcreteLineクラスで、それには中身がある
0393デフォルトの名無しさん
2010/02/17(水) 18:18:23それはいいのですが、なぜかその後画面操作ができてしまうのですが、
OutOfMemoryなのに、なぜその段階でアプリケーションが終了しないのでしょうか?
0394デフォルトの名無しさん
2010/02/17(水) 18:20:41新たなオブジェクトをnew出来ないだけでは。
0395デフォルトの名無しさん
2010/02/17(水) 18:23:19キャッチされるまでメソッドを脱出するぶんメモリが空くし
0396デフォルトの名無しさん
2010/02/17(水) 18:29:35長文ウザイ
オブジェクト指向の本で勉強しろ
0397379
2010/02/17(水) 18:30:03すいません、言い忘れていましたが標準APIのやつです。javax.sound.sampledインタフェース Line
Lineインターフェースには機能が書いてあるメソッドが9個あるんですが、それらの中身が無いことまではわかりました。
Lineインターフェースのメソッドの機能のコードを書くというのは自分には無理です・・
>>391は間違っていますか?
0398デフォルトの名無しさん
2010/02/17(水) 18:30:26それだとantで配布バージョンへビルドするときに、ビルドスクリプトに外部プロジェクトのパス通したりしないといけないのがどうなのかなと思って
でもjarファイルにして持たせるとバージョンアップのたびにjarファイルを置き直さないといけないしそれも面倒なんですよね
0399デフォルトの名無しさん
2010/02/17(水) 18:31:12をおおおお
ありがとうございました。
すっきりしました。
0400デフォルトの名無しさん
2010/02/17(水) 18:41:44なぜ自分で書く必要がある?
それはMixerの中の人がやる仕事であって、あなたはすでに誰かが書いたMixerを使うだけでしょ?
0401デフォルトの名無しさん
2010/02/17(水) 19:14:260402デフォルトの名無しさん
2010/02/17(水) 19:19:530403デフォルトの名無しさん
2010/02/17(水) 19:34:12最近のお手軽開発志向とはずれるんだろうけど。
開発時点では即時性が失われるのでjar使わない。
0404デフォルトの名無しさん
2010/02/17(水) 21:09:08許してやる
0405デフォルトの名無しさん
2010/02/17(水) 21:27:220406ウォシュレットのアームめがけて排便する俺 ◆06NY4sFIG.
2010/02/17(水) 22:07:22まずはじめに。
あなたの実行しているプログラム上ではいくつかのスレッドが走っていますが、
そのうちどれかひとつでも終了すればプログラムが終了する、というわけではありません。
また、Cのようにメインスレッドが終了すれば(main関数を抜ければ)プログラムも終了する、というわけでもありません。これについては以下の項目と項目からのリンクが参考になると思います。
http://javafaq.jp/S065.html#S065-37
次に、今回の事象について。
おそらくOutOfMemoryが発生したのはイベントディスパッチスレッド(EDT)上だと思います。
EDTとは、上のリンク先ページ[S065 Q-14]にもありますが、例えばユーザがボタンを押したときに実行される
actionPerformedメソッドなんかが走るスレッドだと思って下さい。
EDTで発生した例外をキャッチし対処しなかった場合、EDTは終了します。
しかし、EDTは終了しても新しいEDTが自動的に起動されます。
従って(スレッドローカルなデータでなければ)無くなりはしないので、
気にせず継続できてしまう場合も多いです。
ただし(当たり前ですが)例外を送出したところから処理が再開されるわけではなく、あくまで
イベントディスパッチスレッドの再起動なので、意図しない状態になっていることも十分あり得るでしょう。
EDTが終了することによって、例えば以下のような問題が発生します。
ttp://www.noids.tv/2009/01/java-joglopengl.html
JOGLは詳しくないのですが、これはJOGLがスレッドローカルな状態を持っているために発生しているのだと思います。
0407デフォルトの名無しさん
2010/02/17(水) 22:18:24受信したMIDIデータをそのまま送信するところは以下のサイトの(2)のコードを元に作りました。
ttp://fry.no.coocan.jp/MISC/ToyBox/MIDI/MidiKeyboard.html
このコードに対し任意の時間(ミリ秒)遅らせる処理を追加するにはどのように書けばよいでしょうか。
0408デフォルトの名無しさん
2010/02/17(水) 22:19:12Eclipse VisualEditor でAWTのみ使っています。
実行すると最初からflameを2つ表示させるにはどうすればいいでしょうか?
0409デフォルトの名無しさん
2010/02/17(水) 22:28:41これってバグって言うよりもAWTの中の人じゃないと無理。
ドキュメントとかどこかにソースあるの?
0410デフォルトの名無しさん
2010/02/17(水) 22:51:05http://forums.sun.com/thread.jspa?threadID=679215
0411デフォルトの名無しさん
2010/02/17(水) 23:02:080412デフォルトの名無しさん
2010/02/17(水) 23:03:23産休。
ホントかよw。
0413デフォルトの名無しさん
2010/02/17(水) 23:05:470414デフォルトの名無しさん
2010/02/18(木) 08:48:44将来性とかどうなんでしょうか。
社員の9割以上がJavaを使用してるらしいんですが。
0415デフォルトの名無しさん
2010/02/18(木) 09:04:28そのうちマイクロソフトを買収するんじゃないかな?
0416デフォルトの名無しさん
2010/02/18(木) 09:46:29Javaが最適解になり続ける分野は残るはず
0417デフォルトの名無しさん
2010/02/18(木) 10:46:00配列変数なのですが、
int[] a;
と宣言。
後から初期値を設定することは出来ないのでしょうか?
やってみたのは
int[] a;
a = new int[]{1,2};
なのですがエラー。
0418デフォルトの名無しさん
2010/02/18(木) 11:24:37public static void main(String[] args) {
int[] a;
a = new int[]{1,2};
}
}
問題なく動いたよ? 空白が全角だからじゃね?
0419デフォルトの名無しさん
2010/02/18(木) 11:39:17コンパイルエラーなのか、実行時エラーなのか。
0420デフォルトの名無しさん
2010/02/18(木) 11:51:36c,c++,php,c#とやってきて今javaやってるとjava圧勝だろと思うんだが
C#はまあ対抗になるかもしれんけど
javaって下降線なの?
0421デフォルトの名無しさん
2010/02/18(木) 11:59:490422デフォルトの名無しさん
2010/02/18(木) 12:27:26でエラーになるんだけど総称型の配列って出来ないんだっけ? どう書くのが正しいの
0423デフォルトの名無しさん
2010/02/18(木) 12:29:280424デフォルトの名無しさん
2010/02/18(木) 12:40:08List<?>[] list = new List<?>[2];
<?>以外の配列は作れない仕様
0425デフォルトの名無しさん
2010/02/18(木) 12:41:47KeyListenerの、keyReleasedが処理されずなぜ処理されないのか悩んでます。
keyPressedと、keyTypedは、正常に感知し処理してくれます。
どなたかアドバイスいただけませんでしょうか?
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class KeyEventTest02 extends JFrame{
public static void main(String[] args) {
KeyEventTest02 w = new KeyEventTest02("KeyEventTest02");
w.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
w.setSize(300, 120);
w.setVisible(true);
}
0426デフォルトの名無しさん
2010/02/18(木) 12:41:55super(title);
JPanel panel = (JPanel)getContentPane();
JTextField tf = new JTextField();
tf.addKeyListener(new KeyCheck());
panel.add(tf, BorderLayout.NORTH);
}
class KeyCheck implements KeyListener {
public void keyPressed(KeyEvent e) {
System.out.println("キーが押されました");
}
public void keyTyped(KeyEvent e) {
System.out.println("キーがタイプされました");
}
public void keyReleased(KeyEvent e) {
System.out.println("キーが離されました");
}
}
}
0427デフォルトの名無しさん
2010/02/18(木) 12:44:23マジ? 超意味ねー。@SuppressWarnings で逃げるか…
0428デフォルトの名無しさん
2010/02/18(木) 12:49:46作ることはできないけど@SuppressWarnings使うなら無理矢理キャストすることができないこともない
@SuppressWarnings("unchecked")
List<String>[] list = (List<String>[]) new List<?>[2];
たぶん一番正しいのは List<List<String>> だと思うけど・・・
0429デフォルトの名無しさん
2010/02/18(木) 13:20:030430デフォルトの名無しさん
2010/02/18(木) 13:37:45煽りは辞めて下さい
0431デフォルトの名無しさん
2010/02/18(木) 16:07:16最終的に 1 バイト単位で比較して行くような方法がないですかね?
0432デフォルトの名無しさん
2010/02/18(木) 16:46:050433デフォルトの名無しさん
2010/02/18(木) 17:00:45とエスパー回答しとく
0434デフォルトの名無しさん
2010/02/18(木) 17:33:310435デフォルトの名無しさん
2010/02/18(木) 17:34:320436デフォルトの名無しさん
2010/02/18(木) 18:00:13クラスBもAをもつ
と言う設計はおかしいですか?
クラスCを作ってAとBを並列に持つべきでしょうか
0437デフォルトの名無しさん
2010/02/18(木) 18:02:540438デフォルトの名無しさん
2010/02/18(木) 18:11:12おかしい?
目立つと叩かれるので、周りに合わせたいのですか?
自分が正しいと思った道を進みましょう
0439デフォルトの名無しさん
2010/02/18(木) 18:17:36持つべきじゃないケースとしては「設計上で依存性を排除するため参照させない」とかだな。
0440デフォルトの名無しさん
2010/02/18(木) 18:26:000441デフォルトの名無しさん
2010/02/18(木) 18:51:350442デフォルトの名無しさん
2010/02/18(木) 21:40:46おk
VBAとかの低次元言語じゃないからな
0443デフォルトの名無しさん
2010/02/18(木) 21:53:350444デフォルトの名無しさん
2010/02/18(木) 21:58:270445デフォルトの名無しさん
2010/02/18(木) 22:02:210446デフォルトの名無しさん
2010/02/18(木) 22:23:52どういう経緯でAdapterというようになったんですか?
0447デフォルトの名無しさん
2010/02/18(木) 22:44:32<servlet-name>Test1</servlet-name>
<servlet-class>Test1</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Test1</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>Test2</servlet-name>
<servlet-class>Test2</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>Test2</servlet-name>
<url-pattern>/Test2</url-pattern>
</servlet-mapping>
/Test2にアクセスした場合、Test2のみが使われ、Test1が使われません。
一体どうなってんでしょうか。
0448デフォルトの名無しさん
2010/02/18(木) 22:44:490449デフォルトの名無しさん
2010/02/18(木) 22:55:29bagsテーブルからbagクラスを作るのはいいけど、
boxesテーブルからboxeクラスを作るんですけど。
0450デフォルトの名無しさん
2010/02/18(木) 23:19:26一見アダプターパタンと違うようですけど何か深い洞察があったのでしょう。
ところでMouseAdapterですけどこういうListenerをただ実装しいる(空でも)だけのクラスは、Adapter以外ならどういう名前が良かったのでしょうか。
0451デフォルトの名無しさん
2010/02/18(木) 23:30:440452デフォルトの名無しさん
2010/02/18(木) 23:34:55ふさわしい名前が思いつかないときは
抽象クラスなら「Abstractほげほげ」
ただの実装なら「ほげほげImpl」
DIコンテナ全盛期はこんなクラスで溢れかえってたプロジェクトも多いはず。
0453デフォルトの名無しさん
2010/02/18(木) 23:39:30ソースはっつけて実行してみたよ。
キーが押されました
キーがタイプされました
キーが離されました
キーが押されました
キーがタイプされました
キーが離されました
動いてるぽいが?
0454デフォルトの名無しさん
2010/02/18(木) 23:54:31内部クラスを使うならインターフェイスを使うじゃなくて、
KeyAdapterを継承したほうがスッキリと書けると思うよ
0455デフォルトの名無しさん
2010/02/19(金) 00:02:46いや、サーブレットはどれか1つしか呼ばれないから。
ttp://www.javadrive.jp/servlet/webxml/index9.html
0456デフォルトの名無しさん
2010/02/19(金) 00:26:18ありがとうございました。
どうやら、プラットホームの違いで動作に違いが出るようでして、
Windowsでは正常動作を確認しました。
ありがとうございます。
>>454
普段はアダプタークラス使うんですが、
3つのメソッドすべてオーバーライドするんで、
リスターの方を継承してみました^^
0457デフォルトの名無しさん
2010/02/19(金) 01:49:21BASIC 認証のあるサイトにアクセスするにはどうすりゃいいんだ?
0458デフォルトの名無しさん
2010/02/19(金) 05:02:32しょうもない突っ込みだけど、リスターじゃなくてリスナーっすw
0459デフォルトの名無しさん
2010/02/19(金) 09:44:07自分で Authorization ヘッダ送れば?
0460デフォルトの名無しさん
2010/02/19(金) 10:05:55またでたか常駐ニート
0461デフォルトの名無しさん
2010/02/19(金) 11:06:36特定の条件を満たした際に強制的にスレッドを継続実施したいのですが。
0462デフォルトの名無しさん
2010/02/19(金) 11:07:57Object#notifyAll()
0463デフォルトの名無しさん
2010/02/19(金) 12:02:33出来れば説明お願いします。
0464デフォルトの名無しさん
2010/02/19(金) 12:03:470465デフォルトの名無しさん
2010/02/19(金) 12:19:40private final Object signal = new Object();
public void run(){
…
// Thread.sleep(60 * 1000);
synchronized(signal){
signal.wait(60 * 1000);
}
…
}
public void wakeup(){
synchronized(signal){
signal.notify();
}
}
}
0466デフォルトの名無しさん
2010/02/19(金) 12:24:070467デフォルトの名無しさん
2010/02/19(金) 12:28:430468デフォルトの名無しさん
2010/02/19(金) 12:34:290469デフォルトの名無しさん
2010/02/19(金) 13:04:57起動登録→保留(wait、実際の起動もユーザー操作による(notify、notifyAll))
指定時間経過で起動登録→保留(sleep)
こんなのがありまして、特定条件時にsleepをたたき起こしたかったのです。
レスを参考に検討してみます。
0470デフォルトの名無しさん
2010/02/19(金) 13:17:190471デフォルトの名無しさん
2010/02/19(金) 13:59:17直接トップコンテナに登録してもエラーも出ず動いてるけど・・・
別にコンテンツペインに登録しなくて直接登録してもよいの?
import javax.swing.*;
import java.awt.*;
public class MyTest {
public static void main(String[] args) {
JFrame w = new JFrame("直接登録のテスト");
w.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
JButton b = new JButton("気が済むまで押せばいい");
w.add(b);
w.setSize(350, 250);
w.setVisible(true);
} }
0472デフォルトの名無しさん
2010/02/19(金) 14:12:47想像だが、リサイズされたときの再描画や、
ボタンを押したときのイベント通知がひょっとしたら動いてないのかも。
とりあえず画面に出て、ボタンクリックできてるだけで。
0473デフォルトの名無しさん
2010/02/19(金) 14:50:201.4まではエラーだった
5.0以降、直接トップコンテナに登録しようとすると、自動的にコンテントペインに転送されることになった
0474デフォルトの名無しさん
2010/02/19(金) 14:50:52気にはなっていたがちょっと調べてみたら、Java 6 の API リファレンスにこう書いてあった。
> 便宜上、add とその派生メソッド、remove および setLayout は、必要に応じて contentPane
> に転送されるようにオーバーライドされています。つまり、次のように記述できます。
> frame.add(child);
> 子は contentPane に追加されます。
0475デフォルトの名無しさん
2010/02/19(金) 17:57:17やっぱそうするしかないか。
何か便利なメソッドがあるかと期待したんだけど。
0476デフォルトの名無しさん
2010/02/19(金) 18:08:380477デフォルトの名無しさん
2010/02/19(金) 20:24:56double d=0;
d1=d1*-1;
とすると d1=0.0 ではなく d1=-0.0 という値になりますね。
0478デフォルトの名無しさん
2010/02/19(金) 20:34:16http://ja.wikipedia.org/wiki/浮動小数点数
0479471
2010/02/19(金) 20:53:37レスありがとうございました。
直接登録して良いんですね〜
5.0より以前のjavacでコンパイルする事ないんで、
ガンガン直登録していきます
ありがとうございました。
0480デフォルトの名無しさん
2010/02/19(金) 21:06:54テキストボックスが表示されません。
プログラム起動と同時にテキストボックスを表示するにはどうしたらいいでしょうか?
public class test4 extends JFrame{
public static moji north_fild;
public static void main(String[] args) {
new test4("テスト");
}
public test4(String title){
//WIONDOW設定
setSize(800, 600);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
//テキストボックス
north_fild = new moji();
getContentPane().add(north_fild, BorderLayout.NORTH);
this.repaint();
}
}
public class moji extends JPanel{
JTextField area2;
moji(){
area2 = new JTextField ("",10);
area2.setText("ewtewqt");
area2.setDragEnabled(true);
this.add(area2);
}
}
0481デフォルトの名無しさん
2010/02/19(金) 21:12:40そのビット、俺にも立てて。
0482デフォルトの名無しさん
2010/02/19(金) 21:24:120483デフォルトの名無しさん
2010/02/19(金) 21:49:50× this.repaint();
○ getRootPane().revalidate();
0484デフォルトの名無しさん
2010/02/19(金) 21:53:22お断りする。
0485デフォルトの名無しさん
2010/02/19(金) 21:58:50表示できました。 ありがとう
0486デフォルトの名無しさん
2010/02/20(土) 21:35:34引数にint[]を持つような関数↓
void func1(int[] ints){}
これに、new int[]{}しないで動的に値をぶち込みたいんですけど、方法はありますでしょうか。
0487デフォルトの名無しさん
2010/02/20(土) 21:42:430488デフォルトの名無しさん
2010/02/20(土) 22:09:250489デフォルトの名無しさん
2010/02/20(土) 22:17:420490デフォルトの名無しさん
2010/02/20(土) 22:34:28va_list みたいにってこと?
0491デフォルトの名無しさん
2010/02/21(日) 01:57:44void func1(int[] ints){}を呼ぶときに、値(1,2,3)を渡すとして、普通なら
func1(new int[]{1,2,3}); って書かなきゃいけないところをなんとかしてnewを外す方法を知りたかった。
newってされてるといつガベコレ走るか分からんし、
ただの配列宣言なんだからint[]で宣言したやつらは関数スコープ終了したら消えて欲しいし。
それはそうと、継承先のコンストラクタでたとえば基底クラスのコンストラクタが
public class base{
public base(element[] elements,element first,element last){
this.elements=elements;
this.first=first;
this.last=last;
}
private elements[] elements;
private element first,last;
}
こんな感じのときに、継承先のコンストラクタで
public class ex extends base{
public ex(){
element[] elemens=new elemet[100]();//基底コンストラクタの前にステートメントがあるのでコンパイルが通らない
super(elements,elements[0],elements[99]);
}}
みたいなまねをしたい(無駄なnewを減らしたい)んだけど、なんかいい方法は無いかな?
0492デフォルトの名無しさん
2010/02/21(日) 02:43:200493デフォルトの名無しさん
2010/02/21(日) 05:06:11そんなにnewを減らすことに神経質にならなくてもよいよ。
メモリとかの問題ならこんなとこよりも、他を考えたほうがいい。
あえて書くなら
void func1(int... ints) {}
だけど。
まー、コンパイラでは配列をnewしてそうだが。
public class base {
// >>491と同じ
public base(element[] elements) {
this(elements, elements[0], elements[99]);
}
}
public class ex extends base {
public ex() {
super(new element[100]);
}
}
ってやる。
つか、なんだ?このelementsは。
どう使うんだ?
あと、Javaではクラス名の先頭は大文字で。
eclipseとかIDEつかってないのか?
0494デフォルトの名無しさん
2010/02/21(日) 05:21:58下手にメモリを節約したコードを書くと
かえって性能が悪くなるという話を聞いたことがある。
コンパイラやJITコンパイラの最適化に
まかせたほうがいいってことかな。
事実かどうかは知らない。
あと、コンストラクタの代わりに
static base createXXX()
みたいなメソッドを使うという手もある。
0495デフォルトの名無しさん
2010/02/21(日) 11:05:48なんでnextという名前がついてるん?
0496デフォルトの名無しさん
2010/02/21(日) 12:17:08getIntだとそもそもintしか来るはずがないというニュアンスになるし、
.NetみたいなTryGetIntみたいなのも文化としてないからじゃね。
あとこういうのは伝統的にnextで読むという習慣だし。
0497デフォルトの名無しさん
2010/02/21(日) 13:07:05キーボードからの入力がためてあって、
そっから次の整数、次の整数ってひとつずつ読み込むわけだから、
nextでいいんじゃない?
JavaDocみたらわかるけど
http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/util/Scanner.html
String input = "1 fish 2 fish red fish blue fish";
Scanner s = new Scanner(input).useDelimiter("\\s*fish\\s*");
System.out.println(s.nextInt());
System.out.println(s.nextInt());
System.out.println(s.next());
System.out.println(s.next());
s.close();
こーゆー使い方だってできるんだし。
0498デフォルトの名無しさん
2010/02/21(日) 14:00:010499デフォルトの名無しさん
2010/02/21(日) 14:25:09どのボタンも最後にあるボタンと同じ処理になってしまいます。解決方法を教えていただけませんか?
説明下手ですいません。
0500デフォルトの名無しさん
2010/02/21(日) 15:11:510501デフォルトの名無しさん
2010/02/21(日) 15:30:120502デフォルトの名無しさん
2010/02/21(日) 16:22:46setNote() や setProgress() の中は SwingUtilities.invokeLater() 対応してないのな。
0503デフォルトの名無しさん
2010/02/21(日) 17:16:08中途半端なもん作りやがって…
0504デフォルトの名無しさん
2010/02/21(日) 17:33:03For similar behavior use a JProgressBar with a JOptionPane, or JDialog.
0505デフォルトの名無しさん
2010/02/21(日) 17:42:20Now, I'm creating such dialog. Thank you.
0506デフォルトの名無しさん
2010/02/21(日) 17:52:41それにしては確かにイマイチですね。
なんかQuickTime APIの進捗ダイアログみたいに気持ち悪い。
Sunのチュートリアルにあるデモもなんか描画おかしくない?
0507デフォルトの名無しさん
2010/02/21(日) 17:54:550508デフォルトの名無しさん
2010/02/21(日) 18:17:270509デフォルトの名無しさん
2010/02/21(日) 18:22:05メインダイアログをフォアグランドに持ってくると、バックグランドの描画がフォアグランドに行われる。
うちの環境では。
0510デフォルトの名無しさん
2010/02/22(月) 03:28:44platform.add(p, new Channel [] {c});
} else {
platform.get(p).add(c); ←これがエラー
}
・Vector platformです
・2次元配列にしたい
・無名配列で挿入したい
・無名配列に要素を入れた形で挿入したい こういうこと→new Channel [] {c}
・無名配列に要素を動的に追加したいので、普通の配列は駄目。Vectorなどでないと駄目。
・Channelは、自作クラス
Vector(Collection c)を使えばよさそうだが、
こののコレクションがよくわからない。
イメージ的に、
platform.add(p, new Channel [] {c});
ここは本来→
platform.add(p, new Vector(c));
ってな感じでやりたいのですが、もちろんエラー
コレクションはインターフェイスで、Vectorはそれを実装している。
話が元に戻ってしまうわけで。
0511デフォルトの名無しさん
2010/02/22(月) 03:37:45List<Channel> elem = platform.get(p);
if(elem == null){
elem = new ArrayList<Channel>();
platform.add(elem);
}
elem.add(c);
0512デフォルトの名無しさん
2010/02/22(月) 03:39:06○ platform.set(p, elem);
0513デフォルトの名無しさん
2010/02/22(月) 09:22:44XP+IE7ではうまく動いていましたが、別XP+IE8ではCSVファイルが出力できませんでした。
IEの設定によって、署名付きでも出力できないような現象はおこるのでしょうか?
0514デフォルトの名無しさん
2010/02/22(月) 12:09:080515デフォルトの名無しさん
2010/02/22(月) 13:05:440516デフォルトの名無しさん
2010/02/22(月) 20:24:46これは標準でインストールされているものなのでしょうか?
0517デフォルトの名無しさん
2010/02/22(月) 20:29:30>>3 あたりを参照してみてください
0518デフォルトの名無しさん
2010/02/22(月) 20:32:25http://itpro.nikkeibp.co.jp/free/NT/NEWS/20010719/1/
0519デフォルトの名無しさん
2010/02/22(月) 20:45:50ま JRE ごと配布するという手もあるが。
クライアントやスタンドアロン Java の実行環境としては
JRE も JAR バンドルアプリも標準対応してる Mac OS X が
一番優秀だな。
0520デフォルトの名無しさん
2010/02/22(月) 20:52:01それ以外は終わってるが
0521デフォルトの名無しさん
2010/02/22(月) 20:55:35http://pc11.2ch.net/test/read.cgi/mac/1214284891/187n
0522デフォルトの名無しさん
2010/02/22(月) 22:24:11Tomcatは、マイクロソフトのアクセスで作られた
拡張子mdbのデータベースはサポートしないのでしょうか?
Tomcatがからまず、Javaとmdbのデータベースだけなら
正常にアクセス結果が得られるのですが、
Tomcatをからませると、General errorが出て、
mdbを参照してくれないようなんです。
Tomcatでmdbなんて使っちゃいけないんですかね。。。。。
0523デフォルトの名無しさん
2010/02/22(月) 22:30:26全くお勧めはしないが。
0524デフォルトの名無しさん
2010/02/22(月) 22:38:52エラーをはれと。
どこでGeneral errorが出るんだ。
誰がGeneral errorって言ってるんだ。
0525デフォルトの名無しさん
2010/02/22(月) 23:09:59http://www.javaroad.jp/bbs/answer.jsp?q_id=2007043023113652
0526デフォルトの名無しさん
2010/02/22(月) 23:45:080527522
2010/02/23(火) 00:30:46java.sql.SQLException: General error
at sun.jdbc.odbc.JdbcOdbc.createSQLException(Unknown Source)
at sun.jdbc.odbc.JdbcOdbc.standardError(Unknown Source)
at sun.jdbc.odbc.JdbcOdbc.SQLDriverConnect(Unknown Source)
at sun.jdbc.odbc.JdbcOdbcConnection.initialize(Unknown Source)
at sun.jdbc.odbc.JdbcOdbcDriver.connect(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at mybeans.KenDBBean.readDB(KenDBBean.java:23)
at mybeans.Kensaku.doGet(Kensaku.java:18)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:627)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:873)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
at java.lang.Thread.run(Unknown Source)
0528522
2010/02/23(火) 00:34:33import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
public class Kensaku extends HttpServlet
{
public void doGet(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException
{
try{
String tmp = request.getParameter("str");
String syouhinname = new String(tmp.getBytes("8859_1"),"JISAutoDetect");
ServletContext sc = getServletContext();
KenDBBean kb = new KenDBBean();
kb.readDB();
kb.setSyouhinname(syouhinname);
sc.setAttribute("kb", kb);
if(syouhinname.length() !=0){
sc.getRequestDispatcher("/Kensaku_chk.jsp").forward(request,response);
}
else{
sc.getRequestDispatcher("/error.html").forward(request,response);
}
}
catch(Exception e){
e.printStackTrace();
}
}
}
0529522
2010/02/23(火) 00:44:43import java.util.*;
import java.sql.*;
public class KenDBBean implements Serializable
{
private Vector colname;
private Vector data;
private String syouhinname;
private String syouhindata;
public void readDB()
{
syouhinname = null;
syouhindata = null;
try{
// ドライバクラスをロード
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
// データベースへ接続
Connection con = DriverManager.getConnection("jdbc:odbc:syouhinkanri");
// ステートメントオブジェクトを生成
Statement stmt = con.createStatement();
// 全ての行を検索するSQL文を作成
String sql = "SELECT syouhinname FROM syouhinkanri";
// クエリーを実行して結果セットを取得
ResultSet rs = stmt.executeQuery(sql);
//列数の取得
ResultSetMetaData rm = rs.getMetaData();
int cnum = rm.getColumnCount();
colname = new Vector(cnum);
//続く
0530522
2010/02/23(火) 00:45:38for(int i=1; i<=cnum; i++){
colname.addElement(rm.getColumnName(i).toString());
}
//行の取得
data = new Vector();
while(rs.next()){
Vector rowdata = new Vector();
for(int i=1; i<=cnum; i++){
rowdata.addElement(rs.getObject(i).toString());
}
data.addElement(rowdata);
}
// データベースから切断
rs.close();
stmt.close();
con.close();
}
catch (Exception e) {
e.printStackTrace();
}
}
// (以下略 )
}
0531522
2010/02/23(火) 00:51:11でもTomcatを使うと、sun.jdbc.odbc.JdbcOdbcDriverでは接続できません。
Tomcatでは、MS-Accessのmdbは使えないということでしょうか。
下記のブログの人は、MySQLに変えたらうまくいったみたいだし。
http://ozacoffee.asablo.jp/blog/2008/03/10/2722178
MS-Accessのmdbなんかやめて、そうしなさいってことですかね...。
0532デフォルトの名無しさん
2010/02/23(火) 00:52:430533522
2010/02/23(火) 01:11:07import java.io.*;
import java.util.*;
import java.sql.*;
public class KenDBtest implements Serializable
{
private static Vector colname;
private static Vector data;
private static String syouhinname;
private static String syouhindata;
public static void main(String[] args)
{
syouhinname = null;
syouhindata = null;
try{
// ドライバクラスをロード
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
// データベースへ接続
Connection con = DriverManager.getConnection("jdbc:odbc:syouhinkanri");
// ステートメントオブジェクトを生成
Statement stmt = con.createStatement();
// 全ての行を検索するSQL文を作成
String sql = "SELECT syouhinname FROM syouhinkanri";
// クエリーを実行して結果セットを取得
ResultSet rs = stmt.executeQuery(sql);
//列数の取得
ResultSetMetaData rm = rs.getMetaData();
int cnum = rm.getColumnCount();
colname = new Vector(cnum);
0534522
2010/02/23(火) 01:12:52for(int i=1; i<=cnum; i++){
colname.addElement(rm.getColumnName(i).toString());
}
//行の取得
data = new Vector();
while(rs.next()){
Vector rowdata = new Vector();
for(int i=1; i<=cnum; i++){
rowdata.addElement(rs.getObject(i).toString());
}
data.addElement(rowdata);
}
System.out.println("data");
System.out.println(data);
System.out.println("colname");
System.out.println(colname);
// データベースから切断
rs.close();
stmt.close();
con.close();
}
catch (Exception e) {
e.printStackTrace();
}
}
}
エクセルからは試していませんが。
0535デフォルトの名無しさん
2010/02/23(火) 01:19:360536デフォルトの名無しさん
2010/02/23(火) 01:21:06ありがとうございます。
'(' または '[' がありません。
List<List<Channel>> platform = new ArrayList<List<Channel>>();
^← これは<Listの < の下についてました。
よくわからんとです。
0537デフォルトの名無しさん
2010/02/23(火) 01:22:40^← これは<Listの < の下についてました。
→
^← これは new ArrayList<Listの < の下についてました。
0538デフォルトの名無しさん
2010/02/23(火) 01:27:220539デフォルトの名無しさん
2010/02/23(火) 01:40:06アイアイサー
以下DLします
Java SE Development Kit 5.0u22
0540デフォルトの名無しさん
2010/02/23(火) 01:54:45思うのですが、何かおすすめの参考書などはありますか?
0541539
2010/02/23(火) 02:03:16ありがとうございます。
問題なくいけました。
ジェネリック勉強になりました。
(匿名クラスがジェネリックでいけるということなのかはよくわからんが)
0542デフォルトの名無しさん
2010/02/23(火) 03:38:33>>1
のwikiに入門者向け推薦図書あるよ
0543デフォルトの名無しさん
2010/02/23(火) 03:43:20tomcat mdb
でぐぐるとふつーにできてるみたいだが。
ぐぐって一番上に出てきたサイトと同じやり方でやるとどうなる?
0544デフォルトの名無しさん
2010/02/23(火) 20:21:200545デフォルトの名無しさん
2010/02/23(火) 20:57:03貼れな!
0546デフォルトの名無しさん
2010/02/23(火) 21:33:04あなたは、スレにソースを貼っても・・・
良い派?悪い派?
良いと思う人は、 ○←をクリック
悪いと思う人は、 ●←をクリック
0547デフォルトの名無しさん
2010/02/23(火) 21:41:200548デフォルトの名無しさん
2010/02/23(火) 21:44:120549デフォルトの名無しさん
2010/02/23(火) 21:53:470550デフォルトの名無しさん
2010/02/23(火) 22:55:410551デフォルトの名無しさん
2010/02/23(火) 22:56:360552デフォルトの名無しさん
2010/02/23(火) 23:19:430553デフォルトの名無しさん
2010/02/23(火) 23:28:170554デフォルトの名無しさん
2010/02/23(火) 23:40:150555デフォルトの名無しさん
2010/02/23(火) 23:49:06アルミホイルを奥歯で噛んで、あぁぁぁぁあああッ〜〜!ってなって死ね
0556デフォルトの名無しさん
2010/02/23(火) 23:52:390557デフォルトの名無しさん
2010/02/23(火) 23:57:33Selector#select(0)で無限待ちしているのに、
select(0)がすぐリターンして、しかも戻り値が0の現象が発生しています。
(SelectorでOP_CONNECT、OP_READ、OP_WRITEを監視しています)
ttp://java.sun.com/javase/ja/6/docs/ja/api/java/nio/channels/Selector.html#select%28long%29
を読む限り、select(0)の戻り値が0になることは
ありえないように理解しているのですが、間違えてますか?
0558デフォルトの名無しさん
2010/02/24(水) 00:16:36>>557
>を読む限り、select(0)の戻り値が0になることは
>ありえないように理解しているのですが、間違えてますか?
ちょwwww
本当に読んだんか?
>戻り値:
> 更新された実行可能操作セットを持つキーの数。ゼロの場合もある
クラスの説明が長いのに幻惑されてメソッドの仕様を確認するのを忘れてるんじゃね?
0559デフォルトの名無しさん
2010/02/24(水) 00:26:02無期限待ちの select(0) が 0 を返すケースは次の二つだけどこれは大丈夫なの?
・このセレクタの wakeup メソッドが呼び出された場合
・現在のスレッドに対して割り込みが発生した場合
select(0) の前にスレッドが割り込まれているか確認してみたら?
if(Thread.interrupted()){
throw new IllegalStateException("割り込まれてます");
}
int c = selector.select(0);
0560510
2010/02/24(水) 00:43:262
3 List<List<Channel>> platform = new ArrayList<List<Channel>>();
4
5
6 if(platform.get(p) == null){
7
8 platform.add(p, new ArrayList<Channel>(){{add(c);}});
9 } else {
0 platform.get(p).add(c);
}
最終こんな風にしてみました。
8行目 匿名クラス & 初期化ブロックを使いました。
0行目 入れ子の配列に追加するのでこうなる。platform.add(p, c)と錯覚していた
エラー : 8行目 ローカル変数 c は内部クラスからアクセスされます。final で宣言される必要があります
んで、1行目のcにfinalをつけました。エラーがなくなりました。
適当な処置なのかはよくわからんが。アドバイスあったらお願いします。
0561デフォルトの名無しさん
2010/02/24(水) 00:47:37その発想は無かったわ。
0562デフォルトの名無しさん
2010/02/24(水) 00:54:45・{add(c);} の部分は無名クラスのコンストラクタに相当する。つまり内部クラスから
外のローカル変数 c を参照しているので final が必要。
0563デフォルトの名無しさん
2010/02/24(水) 01:29:06http://d.hatena.ne.jp/t_yano/20080622/1214087678
探していたらここでみつかりましたよ
0564560
2010/02/24(水) 01:30:53javaでは
try でやるのがスタンダードなのでしょうか。
そもそも、要素があるなしを判定する
platform.get(p) == null
適当なのでしょうか
0565デフォルトの名無しさん
2010/02/24(水) 01:34:25なるほど
では、内部クラスから外のローカル変数を参照するのに、
それが定数でない場合、
参照する適切な方法はあるのでしょうか?
0566デフォルトの名無しさん
2010/02/24(水) 01:46:46java.lang.IndexOutOfBoundsException起こして何がしたいんだ?
0567デフォルトの名無しさん
2010/02/24(水) 01:50:27そうなんです。
そのエラーがでます。
ですが、プログラムは止まらず動いてくれるようです。
だから、>>564の疑問となりました。
0568デフォルトの名無しさん
2010/02/24(水) 02:01:52業務エラーを例外として実装するのは好ましくない。
この場合はp(のInteger)をkeyとするMapで表現するといいのでは?
Map<Integer, List<Channel>> platform ...
さらに、List<Channel>を匿名クラスとインスタンス初期化子で
生成するのもトリッキー過ぎると思う。
platform.add(p, new ArrayList<Channel>(){{add(c);}});は
platform.put(p, new ArrayList<Channel>(Arrays.asList(c));
か、そもそもArrayList<Channel>をやめて独自クラスを定義して、
Channel可変引数を受け取るコンストラクタを定義するべき。
0569567
2010/02/24(水) 02:20:22java.lang.IndexOutOfBoundsExceptionが発生するのは、
想定内です。
要素がなければ、追加する」
をやるとして、
if文を使うか、
tryでやるように処理するのが適当なのか、
「そもそもの部分」 がおかしいのか
どうなんだろうかと。
ちなみに
platform.put(p, new ArrayList<Channel>(Arrays.asList(c));
Arraysは、
どっかでnewしたオブジェクトなんですよね。
0570デフォルトの名無しさん
2010/02/24(水) 02:33:06(一般に)正しい実装ではありません。
そもそも「(あるindexの)要素がなければ追加する」処理を実現するために、
ArrayListを使うのは適切ではありません。
匿名クラスを使った場合でも、結局オブジェクトが
newされていることに変わりはありません。
0571567
2010/02/24(水) 02:33:13プログラムは動いていた。
が、該当スレッドはおちていたぽい。
0572デフォルトの名無しさん
2010/02/24(水) 02:36:06>どっかでnewしたオブジェクトなんですよね。
これはArrays.asListが返すオブジェクトのことではなく、
Arrays自身のことを言っているのかな?
であればasListはクラスメソッドなので呼び出しの為に
Arraysクラスのインスタンスが生成されることはありません。
0573567
2010/02/24(水) 02:36:11はい。
Arrays.asList(c)
のやり方が一番適当な感じはしています。
これは、newせず使えるStringみたいのでしょうか。
0574デフォルトの名無しさん
2010/02/24(水) 02:39:55p が platform.size() 以下かどうかを判断しる。というかその API 設計じゃ
p が任意でシーケンシャルアクセスする保証がならもっと防衛的コーディングしる。
while(p>=platform.size()){
platform.add(new ArrayList<Channel>());
}
platform.get(p).add(c);
0576デフォルトの名無しさん
2010/02/24(水) 11:15:38>プログラムが業務上起こりうる状態でExceptionを投げるのは
>(一般に)正しい実装ではありません。
2重更新とかどうしてる?
Aさんの更新作業中にBさんがすでに更新してたみたいなの。
RuntimeException継承したクラス作って、
一気に上まで放り投げない?
0577デフォルトの名無しさん
2010/02/24(水) 17:56:54OP_WRITEの監視は書き込むデータが本当に存在してる時だけにしろ
書き込みは通常はいつでもできるんだからselectは当然すぐに返ってくる
書き込めるデータができてからOP_WRITEを加えて書き込みが終わったらOP_WRITEを外す
0578デフォルトの名無しさん
2010/02/24(水) 19:36:17単なる便利なlong jump機構として例外を使うなって言われないか?
二重更新が起こらないようにシステムを作っているにも関わらずそうなってしまったとか、
例外はあくまでも普通起こっちゃいかんだろって状態の検出に利用されるべきかと。
0579デフォルトの名無しさん
2010/02/24(水) 20:12:55ウィンドウの左上(タイトルバーの下)から右下まで、100の四角がぴったり収まるのを期待しましたが、
かなりずれてしまいます。なぜですか??
ちなみに、ズレの大きさはWindowsとLinuxでちょっと異なります….。
import java.awt.*;
import javax.swing.*;
class Test extends JFrame
{
public static void main(String[] args) {
Test f = new Test();
f.setBounds(0, 0, 300, 300);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
}
public void paint(Graphics g) {
g.setColor(new Color(255, 255, 255));
g.fillRect(0, 0, 300, 300);
g.setColor(new Color(0, 0, 0));
for(int y = 0; y < 10; y++) {
for(int x = 0; x < 10; x++) {
g.drawRect(x * 30, y * 30, 30, 30);
}
}
}
}
初心者なので、いろいろとおかしな書き方をしているかもしれません。
何か問題があれば、ぜひご教示ください!
0580デフォルトの名無しさん
2010/02/24(水) 20:21:45全角とかキチガイかよ
0581デフォルトの名無しさん
2010/02/24(水) 20:22:56JFrameのpaintメソッドをオーバーライドして何かをかかせることは普通はやらない
JComponentやJPanelのpaintComponentメソッドをオーバーライドしたサブクラスを作って
それをJFrameのContentPaneに加えるかContentPaneそのものとして設定するかする
0582デフォルトの名無しさん
2010/02/24(水) 20:26:54JFrame#setBoundsに指定している300,300というのはタイトルバーや枠も含んだ大きさだから
0583デフォルトの名無しさん
2010/02/24(水) 20:49:08おまいの例外に関する認識はおかしい。
例外は元々スタック巻き戻しつつ long jump するもの。
0584579
2010/02/24(水) 20:54:53すみません。規制で書き込めないので携帯で入力したら、文字が小さくて全角に気づきませんでした。
>>581
paintメソッドをオーバーライドしたサンプルが多数載っていたので、普通はやらない方法だと知りませんでした。
勉強になります。これ↓でいいでしょうか。
import java.awt.*;
import javax.swing.*;
class Test {{
public static void main(String[] args) {
JFrame f = new JFrame();
f.getContentPane().add(new Component());
f.setBounds(0, 0, 300, 300);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
}
class Component extends JComponent {
public void paintComponent(Graphics g) {
g.setColor(new Color(255, 255, 255));
g.fillRect(0, 0, 300, 300);
g.setColor(new Color(0, 0, 0));
for(int y = 0; y < 10; y++) {
for(int x = 0; x < 10; x++) {
g.drawRect(x * 30, y * 30, 30, 30);
}
}
}
}
0585579
2010/02/24(水) 20:56:43なるほど、そうだったんですね。
タイトルバー等を含めない指定方法はないのでしょうか。
あるいは、タイトルバーや枠の高さ・幅を取得する方法があれば、何とかなるのですが…。
0586579
2010/02/24(水) 21:00:31class Test {
public static void main(String[] args) {
JFrame f = new JFrame();
f.getContentPane().add(new Component());
f.setBounds(0, 0, 300, 300);
f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
f.setVisible(true);
}
}
0587デフォルトの名無しさん
2010/02/24(水) 21:55:57session.setAttribute("MESSAGE" , "Hello World")
とするとセッションの変数名MESSAGE に Hello Worldを文字列として格納になりますが
なぜ変数名MESSAGEは””ダブルコーテーションで囲んでいるのでしょうか?
変数名ではなく文字列のように見えてしまい不思議に思ったので教えて下さい。
0588デフォルトの名無しさん
2010/02/24(水) 22:01:59変数名ではなく文字列で正しい。Map<String, Object>と同じだと思えばいい。
HttpSession#setAttribute()の第一引数を変数名と説明するのは便宜的なもの。
0589デフォルトの名無しさん
2010/02/24(水) 22:06:38だから単なる便利なlong jump機構として例外を使うなってことだよ。使い方を問題にしてる。
二重更新なんてそれを防止しない造りなら「業務上起こりうる状態」なんだから、
例外機構でもって放り投げるもんじゃないということだ。
異常状態を放り投げるのに例外機構を使うことに異議はない。
0590デフォルトの名無しさん
2010/02/24(水) 22:12:27でも盲進してんのか?
0591デフォルトの名無しさん
2010/02/24(水) 22:15:19それは RuntimeException と Exception の使い分けでやること。
業務上発生し得ない状況でしか例外出さないなんて趣味は、呼び出しスタック
3 層程度の小規模アプリでしか通用しない。
0592デフォルトの名無しさん
2010/02/24(水) 22:16:17tryでintにキャストしてたりしてた訳だが、それが正しいとでも言うつもりか?
0593デフォルトの名無しさん
2010/02/24(水) 22:18:28うんにゃ。
俺自身はそんな主義で設計も実装もしない。
どちらかというと使いまくり感があるな。
0594デフォルトの名無しさん
2010/02/24(水) 22:18:48でっかいウンコなんだから触るな
0595デフォルトの名無しさん
2010/02/24(水) 22:19:45誰もそんな話しはしてないと思うよ。
0596デフォルトの名無しさん
2010/02/24(水) 22:26:20中身をかくためのコンポーネントをContentPaneに加えるやり方なら外枠とかを気にしなくてすむ
このやり方だとコンポーネント自体の座標系で中身をかけるので
どうしてもJFrameの外枠サイズが必要ならgetInsetsというメソッドで取ることができる
> paintメソッドをオーバーライドしたサンプルが多数載っていた
AWTのアプレットの例とかじゃないか
Swingの枠組ではpaintメソッドをオーバーライドするサンプルは稀
0597デフォルトの名無しさん
2010/02/24(水) 22:38:580598デフォルトの名無しさん
2010/02/24(水) 22:49:260599579
2010/02/24(水) 23:08:29> 中身をかくためのコンポーネントをContentPaneに加えるやり方なら外枠とかを気にしなくてすむ
その方法でやってみます!
> AWTのアプレットの例とかじゃないか
そうかもしれません。
まだAWTとSwingの境界がイメージできていない状態です・・・。
0600デフォルトの名無しさん
2010/02/25(木) 00:08:27そもそも2重更新が発生することが業務的に想定外ならば例外でいいと思う。
それは設計上のミスであるか、ロジックの不具合だから。
逆に、想定されるケースにもかかわらずにチェックをサボって
例外投げてたらビジネスロジックの品質が残念ってことでしょ。
話がごっちゃになってるようだけど、
上記は「ビジネスユースケース」単位の実装をしたロジックレイヤーで見た場合の話ね。
個別の機能で見れば、例えば永続層は2重登録されそうになれば例外を投げるのは当然。
呼び出の際に「事前条件」「事後条件」「不変条件」が破られれば、
即座に例外状態を表明するのは各コンポーネントの義務だから。
コンポーネントの粒度(呼び出し階層の位置と条件による契約)によって、
「ある状態」が意味するところが変わるだけ。
この原則はアプリケーションの規模が呼び出し3層だろうがなかろうが基本的に変わらん。
大事なことなんでもう一度
プログラムが業務上起こりうる状態でExceptionを投げるのは
(一般に)正しい実装ではありません。
0601デフォルトの名無しさん
2010/02/25(木) 00:17:040602デフォルトの名無しさん
2010/02/25(木) 00:39:14バックエンドでテーブル舐めたら該当ユーザのレコードが無かったので
AuthException 投げました、フロント側でそれを拾って「ユーザIDまたは
パスワードが違います」と表示しました。
普通の設計だっての。
0603デフォルトの名無しさん
2010/02/25(木) 00:54:28かつそれが破られたのだから例外でいいと思いますよ。
認証機能全体として見れば、テーブル舐めるコンポーネントが
例外投げる可能性を見越してexception handlingしてエラー情報を表示してるわけでしょ。
指定ユーザが未登録かもしれないという想定される状態に対して、
きちんと責任取ってると思いますし普通の設計です。
0604デフォルトの名無しさん
2010/02/25(木) 01:08:55「想定内の正常系」「想定内の異常系」「想定外の異常系」の三つで考えるもんだよ。
想定内の異常系がおまえの頭の中では異常系に入ってるから「業務上起こりうる状態で
例外投げるのはNG」「でも認証失敗は前提が破られたからおk」と妙な話しが始まるわけ。
このへんの論議は前世紀の終わりに散々ここで出尽くしてるよ。
0605デフォルトの名無しさん
2010/02/25(木) 01:12:33なにその3つ?(笑)
0606デフォルトの名無しさん
2010/02/25(木) 01:14:450607デフォルトの名無しさん
2010/02/25(木) 01:15:110608デフォルトの名無しさん
2010/02/25(木) 01:16:510609デフォルトの名無しさん
2010/02/25(木) 01:17:19コールスタックの深いところで例外が起きても、
それを業務全体のレベルでは
*業務的に想定できる状態で起きた例外なのであれば*
例外のまま放置するなって意味だろ?
0610デフォルトの名無しさん
2010/02/25(木) 01:20:560611デフォルトの名無しさん
2010/02/25(木) 01:23:190612デフォルトの名無しさん
2010/02/25(木) 01:29:16末端で起きた異常系の対処方法が設計されてなくて、勝手に中断して上へ投げるのは
(一般に) 正しい実装ではありません、とか、そんなレベルの低い話してたわけ?
0613デフォルトの名無しさん
2010/02/25(木) 01:31:190614デフォルトの名無しさん
2010/02/25(木) 01:33:290615デフォルトの名無しさん
2010/02/25(木) 01:35:17普通に設計してればどちらかに定まる。おまいの趣味思想は関係ない。
0616デフォルトの名無しさん
2010/02/25(木) 01:35:43コンポーネントの役責が理解できてないと見た。
0617デフォルトの名無しさん
2010/02/25(木) 01:35:57ん〜なにその3つ?(笑
0618デフォルトの名無しさん
2010/02/25(木) 01:36:500619デフォルトの名無しさん
2010/02/25(木) 01:37:330620デフォルトの名無しさん
2010/02/25(木) 01:38:25業務コンポーネントが例外投げてどうすんのよ。
プログラム終わっちゃうよ?w
0621デフォルトの名無しさん
2010/02/25(木) 01:39:30おまいの所の様にフレームワークもまともに組めてないところじゃそうかもな。
0622デフォルトの名無しさん
2010/02/25(木) 01:49:470623デフォルトの名無しさん
2010/02/25(木) 01:50:56準正常系のとき、個別のコンポーネントでは例外が起きるかもしれない。
ってことは読めた。
業務的に起こりえる状態 = 準正常系って意味だと読んだ。
0624デフォルトの名無しさん
2010/02/25(木) 01:52:240625デフォルトの名無しさん
2010/02/25(木) 01:53:29微妙に論点がずれてて分かりづらかったので。
0626デフォルトの名無しさん
2010/02/25(木) 02:01:17なんで?
0627デフォルトの名無しさん
2010/02/25(木) 02:02:080628デフォルトの名無しさん
2010/02/25(木) 02:02:11個別のコンポーネントは機能に閉じてるから切り口としては次元が違う。
0629デフォルトの名無しさん
2010/02/25(木) 02:08:270630デフォルトの名無しさん
2010/02/25(木) 02:09:47その例外をフレームワークがキャッチした場合、例外が準正常か異常かフレームワークはどうやって判断すんの?
そんでもって準正常と判断できた場合にフレームワークはなにをしてあげるわけ?
個別の業務処理の中身が詳細に分からないと適切に処理できなくね?
0631デフォルトの名無しさん
2010/02/25(木) 02:10:28> そもそも「(あるindexの)要素がなければ追加する」処理を実現するために、
> ArrayListを使うのは適切ではありません。
なんで? 自動伸縮に ArrayList が適切かどうかなんてあんた関係なくね?
0632デフォルトの名無しさん
2010/02/25(木) 02:13:08おまえじゃ一生頑張ってもジャヴァは無理
0633デフォルトの名無しさん
2010/02/25(木) 02:15:41int pがシーケンシャルに呼ばれるか判断できなかったからだろ。
0634デフォルトの名無しさん
2010/02/25(木) 02:21:51例外と結果オブジェクト両方とプレゼンテーションのマッピングを
フレームワークが管理するなんて大変だなと個人的には思いました。
0635デフォルトの名無しさん
2010/02/25(木) 02:23:50フレームワークまで行ったら「エラーメッセージ付きで前画面に戻る」が一般的な動作だな。
ドメイン固有の制約等生かせばもう少しできるが。それ以上が必要なら上層の業務ロジックが
拾ってしてリカバリ。上層から見たら下層は「個別のコンポーネント」であって、これを
long jump と混同するのはそもそもコンポーネント設計が分かっていない。
もちろんその場でリカバリしなきゃならない場合は例外投げずに対処する。
0636デフォルトの名無しさん
2010/02/25(木) 02:25:56>>574 で良いじゃん? ArrayList がいけない理由は?
0637デフォルトの名無しさん
2010/02/25(木) 02:30:58pがランダムポート番号とかだったらそうとう無駄に回るだろ?
0638デフォルトの名無しさん
2010/02/25(木) 02:30:580639デフォルトの名無しさん
2010/02/25(木) 02:31:590640デフォルトの名無しさん
2010/02/25(木) 02:33:070641デフォルトの名無しさん
2010/02/25(木) 02:33:160642デフォルトの名無しさん
2010/02/25(木) 02:34:44その判断は前提を知ってる本人がすることであってお前がすることじゃないでしょw
0643デフォルトの名無しさん
2010/02/25(木) 02:35:33しかも準正常系かそれ以外の例外であるかを選り分けてキャッチする形で。
ユーザ視点でみれば結局業務処理の結果が返ってるわけで、
例外の形を借りて結果オブジェクトを返してるように思えます。
0644デフォルトの名無しさん
2010/02/25(木) 02:43:40個人的にはwhileループのコード書いてる同僚がいたら勘弁してもらいたいが。
0645デフォルトの名無しさん
2010/02/25(木) 02:47:02想定された中の動作だからそういう解釈でもかまわんよ。
これを long jump と混同したり、業務要件上の "中断" か何かと勘違いしている人が
混じってたみたいだが。
0646デフォルトの名無しさん
2010/02/25(木) 02:47:57例外は Output ですよ。
0647デフォルトの名無しさん
2010/02/25(木) 03:34:40ブラウザ上で動作すること?
スタンドアローンで動かすにはJRE要求したり、使いやすくはありませんよね
0648デフォルトの名無しさん
2010/02/25(木) 03:46:52・リソース管理やセキュリティ管理が楽。
・OSX なら JRE 標準で通常のアプリとまるっきり同じに実行可能。
・サーバから組み込みまで応用範囲が広い。
・VM もライブラリもそれなりに安定してる。
0649デフォルトの名無しさん
2010/02/25(木) 03:55:12オブジェクト指向言語として早めに出てきたから、
サーバサイド中、大規模開発のスタンダードになってる。
WindowsでもUnix系でも動く。
eclipseが便利。
0650デフォルトの名無しさん
2010/02/25(木) 05:38:35本で書かれたコードをエディタに打ち込む時、プロは何か文具を利用しているの?
0651デフォルトの名無しさん
2010/02/25(木) 07:33:050652デフォルトの名無しさん
2010/02/25(木) 08:42:05HttpCore があらわれた!
HttpCore NIO があらわれた!
HttpMIME があらわれた!
Commons Logging があらわれた!
マドハンドかよ…
0653デフォルトの名無しさん
2010/02/25(木) 10:32:35算数の九九と同じで、反復練習だ。
手を動かして、指に構文、文法を叩き込む。
いまどきIDEが補完してくれるという意見もあるが、
それは鍛錬しない自分に対する言い訳。
電卓があれば九九は覚えなくて良い、というのはもっともに聞こえるが、
脳内で処理できるか、外部装置を使わざるを得ないかによって、思考のスピードと
幅に差がでて、結果としてそれが人間のパフォーマンスの差になる。
0654デフォルトの名無しさん
2010/02/25(木) 10:35:550655デフォルトの名無しさん
2010/02/25(木) 10:46:33俺の先生とおなじこと言ってる。
0656デフォルトの名無しさん
2010/02/25(木) 11:10:24biased locking とかいう手法が使われているらしい
0657デフォルトの名無しさん
2010/02/25(木) 11:40:02なるほど、一般的なアプリケーションとして見たことがほとんどなかったのですが、
サーバ用とか組み込みとかでは活躍しているんですね
サーバってUnix系多いんでしたっけ
逆に言うとWindowsのデスクトップ向けのアプリ開発には向かないのでしょうか
0658デフォルトの名無しさん
2010/02/25(木) 11:40:53アナログ人間乙
0659デフォルトの名無しさん
2010/02/25(木) 12:23:49Windowsのデスクトップなら素直にC#使っとくべし。
0660デフォルトの名無しさん
2010/02/25(木) 12:24:28HttpClientに必要なのは
HttpCoreだけでしょ。
CommonsのLangやらLoggingやらはデフォルトで設定されてるレベル。
0661デフォルトの名無しさん
2010/02/25(木) 12:27:08Loggingは標準APIにも入っちゃったので微妙か。
それでもJakartaプロダクト群を利用するなら取り敢えず入れとけレベルではある。
0662デフォルトの名無しさん
2010/02/25(木) 16:11:270663デフォルトの名無しさん
2010/02/25(木) 17:15:420664デフォルトの名無しさん
2010/02/25(木) 18:11:230665デフォルトの名無しさん
2010/02/25(木) 19:33:350666デフォルトの名無しさん
2010/02/25(木) 19:44:55パフォーマンス(笑)
0667デフォルトの名無しさん
2010/02/25(木) 20:43:450668デフォルトの名無しさん
2010/02/25(木) 21:19:220669デフォルトの名無しさん
2010/02/25(木) 21:30:16http://codepad.org/Gy5XFYc4
ではうまくいきません。
どう書けばいいのでしょうか。
よろしくお願いいたします。
0670デフォルトの名無しさん
2010/02/25(木) 21:35:10Top.Nested i = t.new Nested();
i.doNestedMethod();
0672デフォルトの名無しさん
2010/02/25(木) 22:11:06またコメントの書き換えでclassファイルに変更は生じますでしょうか?
よろしくお願いします
0673デフォルトの名無しさん
2010/02/25(木) 22:27:40*.class ファイルには行番号情報などが含まれるのでコメントの変更でバイナリが異なる
可能性は大いにあります。
0674デフォルトの名無しさん
2010/02/25(木) 22:28:55丁寧な説明ありがとうございます
参考にさせていただきます
0676デフォルトの名無しさん
2010/02/25(木) 23:07:540677デフォルトの名無しさん
2010/02/26(金) 00:33:470678デフォルトの名無しさん
2010/02/26(金) 08:36:54在日乙www
0679デフォルトの名無しさん
2010/02/26(金) 10:14:470680デフォルトの名無しさん
2010/02/26(金) 11:44:440681デフォルトの名無しさん
2010/02/27(土) 00:38:33時点でコンパイルが終了します。
この個数を変更するオプションは無いのでしょうか?
javac -help でも詳しい説明が表示されないので困っています。
0682デフォルトの名無しさん
2010/02/27(土) 00:41:340683デフォルトの名無しさん
2010/02/27(土) 00:51:14別言語からの移植作業の場合、
とりあえず、ざっと修正した後、
コンパイルしながら地道に修正するのですが、
コンパイル時全体のエラー数が分かれば
残り作業量がある程度わかるので、予定を立てやすい。
0684デフォルトの名無しさん
2010/02/27(土) 01:19:35そんなんで作業見積もり出してくる会社あったら切るわw
0685デフォルトの名無しさん
2010/02/27(土) 02:10:19エラーの個数で計算するわけではありません。
内容も精査します。
ちなみに多少単純ミスはしてますが、構文はほぼ修正済みです。
C++からの移植で、ハードも別で、ライブラリも作成する必要があり。
ライブラリ周りのヘッダファイルはすべてあるが、ソースの一部がないので
ライブラリ関数の作成が必要です。
ヘッダにある関数をすべて作成するのは、かなりの重労働なので
使用しているライブラリ関数を作成する予定です。
エラーメッセージから作成しなければならない関数などもわかるので
聞いています。
Grepを使って調べる方法もあるのですが、
似たような名前があったりと面倒で困ってます。
a::work()
b::work()
0686デフォルトの名無しさん
2010/02/27(土) 09:08:460687デフォルトの名無しさん
2010/02/27(土) 10:44:430688デフォルトの名無しさん
2010/02/27(土) 10:56:15バージョンの違いか駄目でした。
1.4.2を使用しています。
>687
個数だけでは判断しませんよ。
関数の仕様は分かっているので、関数ごとの大体の作業量は分かります。
0689デフォルトの名無しさん
2010/02/27(土) 11:17:52不足分の空の関数作ってリストを作ることにしました。
0690デフォルトの名無しさん
2010/02/27(土) 13:58:12自己紹介しかしてないだろおまえ。
あと全レスで上げるな。
0691デフォルトの名無しさん
2010/02/27(土) 14:12:160692デフォルトの名無しさん
2010/02/27(土) 17:16:24javaプログラマーをめざすには、次に
Effective javaとjava言語で学ぶデザインパターン入門
のどちらを先に読むべきですかね?
0693デフォルトの名無しさん
2010/02/27(土) 17:22:050694デフォルトの名無しさん
2010/02/27(土) 19:12:370695デフォルトの名無しさん
2010/02/27(土) 21:15:450696デフォルトの名無しさん
2010/02/27(土) 22:58:350697デフォルトの名無しさん
2010/02/27(土) 23:13:240698デフォルトの名無しさん
2010/02/28(日) 00:11:01あれは内容濃いからおそらく誰も一度で全て理解できないし、「ふーん」程度で十分。
0699デフォルトの名無しさん
2010/02/28(日) 01:14:060700デフォルトの名無しさん
2010/02/28(日) 01:25:460701デフォルトの名無しさん
2010/02/28(日) 04:44:59JMenuBarでドロップダウンしてる最中にJTextFieldをクリックしてフォーカスを移すと
ドロップダウンしたままのバグがあるのですが。
JTextFieldのfocusGainイベントでJMenuBarのドロップダウンを閉じる事で解消したいと思います。
しかし閉じる方法が解りません教えて下さい。
0702デフォルトの名無しさん
2010/02/28(日) 07:16:420703701
2010/02/28(日) 07:36:540704デフォルトの名無しさん
2010/02/28(日) 11:10:110705デフォルトの名無しさん
2010/02/28(日) 11:12:31JPEGImageWriteParam を使って
getQTables()
getDCHuffmanTables()
getACHuffmanTables()で数量化テーブルとハフマンテーブルをそのままコピーして
jpegファイルをread→別名でwriteするサンプルコードを教えてください。
0706デフォルトの名無しさん
2010/02/28(日) 14:41:57わかりません。おしえてください。
0707デフォルトの名無しさん
2010/02/28(日) 15:39:22一番使うであろうので言えば、オブジェクトそのもののやりとりに必要
0708デフォルトの名無しさん
2010/02/28(日) 16:18:300709デフォルトの名無しさん
2010/02/28(日) 16:21:190710デフォルトの名無しさん
2010/02/28(日) 16:51:22獲得するまでの間ってどういう状態になるんですか? ロック獲得する前に別の処理から
0 バイトにされたりしないんですか?
0711706
2010/02/28(日) 16:57:33に対してオブジェクトを受け渡すためのもの、
ということですか?
0712デフォルトの名無しさん
2010/02/28(日) 16:59:40あと言語関係なしにcode completeとデザインパターン本何か。
0713デフォルトの名無しさん
2010/02/28(日) 17:13:39いや、java間の通信なんかにも使う
簡単に言えば、Oracleにオブジェクトつっこむイメージと同等
0714706
2010/02/28(日) 17:20:33すいません、イメージできないです…
0715デフォルトの名無しさん
2010/02/28(日) 17:28:28多分ここの連中よりgoogle先生の方が優しい
0716デフォルトの名無しさん
2010/02/28(日) 19:46:16そのためにはメモリ上に存在するオブジェクトを、バイト表現に変換してファイルに書き出したいわけじゃん。
それを実現するのがSerializeだよ。
保存先はなんでもいいし、読み込む方もクラス定義を参照できてればOK。
0717706
2010/02/28(日) 19:56:55シリアライズで保存するクラスの中身は
どんなものなんですか?
ファイルに保存したとして、
クラスの中の
int a = 10;
とかはファイルでどんな形で保存されるんですか?
あほな質問ですいません。
0718デフォルトの名無しさん
2010/02/28(日) 19:58:490719デフォルトの名無しさん
2010/02/28(日) 20:20:160720デフォルトの名無しさん
2010/02/28(日) 20:57:40あれは一体何でしょうか?
0721デフォルトの名無しさん
2010/02/28(日) 21:10:44例えば class A { int a; } が次のバージョンで class A { short a1, a2; }
に変わっただけで互換性なくなる。
クラス内部のインスタンスフィールドをファクタリングする余地を残しときたいので
互換性は一切保証しないよん、と宣言してるだけ。
0722デフォルトの名無しさん
2010/02/28(日) 21:31:38それが
これらのクラスはおそらくこのようにjpegファイルを編集するために用意されているはずなのに
全くサンプルが見つからないのです
0723デフォルトの名無しさん
2010/02/28(日) 21:44:01ふーん
0724デフォルトの名無しさん
2010/02/28(日) 22:07:15自己解決しました。
もういいです。ここの連中は役に立たない。
0725デフォルトの名無しさん
2010/02/28(日) 22:15:530726デフォルトの名無しさん
2010/02/28(日) 22:22:550727デフォルトの名無しさん
2010/02/28(日) 22:43:280728デフォルトの名無しさん
2010/02/28(日) 23:10:580729デフォルトの名無しさん
2010/03/02(火) 22:35:45フェッチでまわす前に取得したのですが。
フェッチでまわした後ならget
0730729
2010/03/02(火) 22:37:220731デフォルトの名無しさん
2010/03/02(火) 23:00:310732デフォルトの名無しさん
2010/03/02(火) 23:09:13今まで動いていたキーイベントが動かなくなるのですがなにか良い解決法
はないでしょうか。
0733729
2010/03/02(火) 23:19:192回SQL発行してもいいのですが、パフォーマンスを検証しているので
なるべく無駄な作業をなくした状態にしたいです。
0734デフォルトの名無しさん
2010/03/02(火) 23:53:17じゃあ、結果セットの形式によっちゃうけど。
ダメモトでResultSetにlast()してgetRow()とか。
って、パフォーマンス検証ならそれこそ別途count()じゃね?
数えてたらパフォーマンス変わっちゃうと思うが。
>>732
ボタン.addKeyListner(パネル) でどうかな?
0735デフォルトの名無しさん
2010/03/03(水) 00:50:47Oracleなら、こんな方法があるらしい。
http://oraclesqlpuzzle.hp.infoseek.co.jp/4-6.html
selectと同時に件数が取れるらしい。
手元にOracle環境ないので試してない。
0736デフォルトの名無しさん
2010/03/03(水) 01:08:35JavaのヒープなんてOSから見れば仮想メモリなはずなんだからスワップ領域とか使っていくらでも空間を広げられはずでは?
0737デフォルトの名無しさん
2010/03/03(水) 01:49:06ヒープ領域に関して。
Javaは起動時にこんだけメモリを使うよってOSに伝えて、
それ以上使おうとしない。
例えば64mと宣言。
Javaからすると64mがスワップ領域だろうが知ったこっちゃなく、
それ以上使おうとするとJavaがOutOfMemoryだよって落ちる。
0738デフォルトの名無しさん
2010/03/03(水) 02:36:270739デフォルトの名無しさん
2010/03/03(水) 02:44:44それをjavaでやるなというなら正論では有るが。
8GB積んでも2GBまでしか使えないしねえ。
0740デフォルトの名無しさん
2010/03/03(水) 05:25:000741デフォルトの名無しさん
2010/03/03(水) 11:36:120742デフォルトの名無しさん
2010/03/03(水) 12:26:57public void main(String args) {
B obj = new B();
obj.myWriter();
}
}
class A {
public void myWriter() { System.out.println("A"); }
}
class B extends A {
public void myWriter() { System.out.println("B"); }
}
上記の場合で・・・
インスタンスobjからmyWriterを呼び出すと、
クラスBのmyWriterメソッドが呼び出されるんですが、
これを、その親のクラスAのmyWriterメソッドを呼び出したい場合は、
どのようにすればいいでしょうか?
obj.super.myWriter()とか、なんとなく思いつく物は試してみたんですがダメでした
0743デフォルトの名無しさん
2010/03/03(水) 12:32:21オーバーライドしてんだから、無理だろ
お前はまず基礎がなってない
通常ClassAのコンストラクタも必要な場面では
ClassB#myWriterからsuper()呼び出せ
0744デフォルトの名無しさん
2010/03/03(水) 12:52:31やっぱ無理ですか・・・
設計上、クラスBからsuperで呼び出すと不具合が出てしまうのです・・・
設計から見直します
ありがとうございました
0745デフォルトの名無しさん
2010/03/03(水) 12:55:00IBMのJVMは昔からメモリあるだけ使ってたと思う。
0746デフォルトの名無しさん
2010/03/03(水) 13:32:580747デフォルトの名無しさん
2010/03/03(水) 13:49:02アプレットランタイムパラメータに「-Xmx512M」を追加してアプレットを起動したら
Runtimeをロードできませんのエラーが出て起動できませんでした。
アプレットでメモリを増やす方法はどうすればよいのでしょうか?
0748デフォルトの名無しさん
2010/03/03(水) 15:20:24ほう、そんな制約あるの知らなかった。
http://hondou.homedns.org/pukiwiki/pukiwiki.php?cmd=read&page=J2SE%20Applet%A4%C7%BB%C8%A4%A8%A4%EB%A5%E1%A5%E2%A5%EA#u2758d8f
には、WinXPだと512MB超えでエラーになるって書いてありますね。
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6433218
の重複先バグを見ると6u10で解消されているみたいですけど、
バージョンあげてみるとどうですか?
私も気になるので結果教えてください。
0749デフォルトの名無しさん
2010/03/03(水) 15:27:27って書いてある?
0750デフォルトの名無しさん
2010/03/03(水) 16:16:29本体アプリと同じ権限で動いてしまうのが怖い。クラスローダー単位に権限設定とか
できない?
0751デフォルトの名無しさん
2010/03/03(水) 16:54:490752デフォルトの名無しさん
2010/03/03(水) 21:12:17コンピュータの心にたずねればいい
0753デフォルトの名無しさん
2010/03/03(水) 21:28:510754デフォルトの名無しさん
2010/03/03(水) 21:49:48バグなのかもしれないけど、アプレットだと本質的にそんなに大きい領
域を取れないんじゃないか?
一般的な2GBのユーザ空間のうち、ブラウザのコードとデータがすでにけっ
こうな場所を占めているわけで、連続領域はそんなに残ってなさそう。
0755デフォルトの名無しさん
2010/03/03(水) 22:38:59でもエンドユーザーもバカじゃない。
エンドユーザーも慣れてくると、
このタイミングでCtrl押すとは思わないだろうタイミングで押してくるから気を付けろ。
0756デフォルトの名無しさん
2010/03/03(水) 22:59:380757デフォルトの名無しさん
2010/03/03(水) 23:20:270758デフォルトの名無しさん
2010/03/03(水) 23:42:22JMFとJava Sound APIどっちがいいの?
0759デフォルトの名無しさん
2010/03/03(水) 23:43:09これが親切。日本の心だろ?
0760デフォルトの名無しさん
2010/03/04(木) 02:12:29int option = JOptionPane.showConfirmDialog(null, "今 CTRL キーを押していますか?", "教えて", JOptionPane.YES_NO_OPTION);
0761デフォルトの名無しさん
2010/03/04(木) 08:19:09あ…ありのままに今起こった事を話すぜ!
おれはCtrlを押そうと思ったら、既に押されていた!
(以下略)
0762デフォルトの名無しさん
2010/03/04(木) 10:23:170763デフォルトの名無しさん
2010/03/04(木) 11:15:45ウィンドウがアクティブじゃないときでもキーの入力状態を知りたいのであれば、無理。
JNAに確かサンプルでwin32用のそんなのあったと思うからそれ使って見るといいかも。
0764デフォルトの名無しさん
2010/03/04(木) 20:46:53入門書は文法ばっかりで、IDEの使い方を教えてくれません。そんなもの自分で学べということなのでしょうか
0765デフォルトの名無しさん
2010/03/04(木) 20:54:300766デフォルトの名無しさん
2010/03/04(木) 21:11:38IDEの入門書なんて腐るほど出てるだろ
0767デフォルトの名無しさん
2010/03/04(木) 21:27:38UIと実行部分と、それからもうひとつなにか、計3つの部分にわけて
アプリを書く方法の名称はなんというんでしたでしょうか?
どこかで見た気がするのですが使いたいのに、思い出せずに困っています。
0768デフォルトの名無しさん
2010/03/04(木) 21:36:18MVC
0769デフォルトの名無しさん
2010/03/04(木) 23:39:48ノートパッドに解説書が必要とは思わなかった。
0770デフォルトの名無しさん
2010/03/04(木) 23:45:34イデだよイデ!
0772510
2010/03/05(金) 01:59:04例外を出さないには、
どんな方法があるでしょうか?
while(p>=platform.size()){
platform.add(new ArrayList<Channel>());
}
platform.get(p).add(c);
pは、ある整数ですが、1、100など飛び飛びの値をとります。((p>=platform.size()じゃ駄目)
arraylistのメソッド
・get() 例外あり→駄目
やりたいこと
アレイリストオブジェクト platformの、
p番目に、配列(Channnelオブジェクトを要素にもつ)が、
存在するかどうか
platformは2次元配列
0773デフォルトの名無しさん
2010/03/05(金) 02:14:300774迷えるうさぎ
2010/03/05(金) 02:25:30勝手にインデントとかしてくれるのってありますか?
0775デフォルトの名無しさん
2010/03/05(金) 02:30:01IDEならNetBeansとかEclipseとか、好みにあったのを選ぶといいよ。
0776迷えるうさぎ
2010/03/05(金) 02:33:12メモ帳使ってコマンドプロンプトでするのは時代遅れでしょうか?
初歩すぎてごめんなさい><;
0777デフォルトの名無しさん
2010/03/05(金) 02:37:46時代遅れ
素直にeclipse使え
JavaはできますけどIDEは使えませんなんてのは通用しない
0778迷えるうさぎ
2010/03/05(金) 02:39:47わかりました><
こんな小娘に付き合ってもらってありがとうございます><
助かりました
0779デフォルトの名無しさん
2010/03/05(金) 02:42:480780デフォルトの名無しさん
2010/03/05(金) 02:47:42JavaはGUIアプリを作ることはほとんどない
0781デフォルトの名無しさん
2010/03/05(金) 02:49:37ArrayListに違う型のオブジェクトを突っ込まないほうがいい
どうしてもというならインタフェース作って2つのクラスが実装しろ
配列があるならクラス作って配列をそこに持たせろ
で、instance of使うなりして判断しろ
実際になにをしたいのかまったくわからん
もう一度問題を整理してくれ
多分、設計がずいぶんおかしい
0782デフォルトの名無しさん
2010/03/05(金) 02:51:350783デフォルトの名無しさん
2010/03/05(金) 02:53:110784デフォルトの名無しさん
2010/03/05(金) 02:57:410785デフォルトの名無しさん
2010/03/05(金) 02:58:12テキストエディタは嫌い
メモ帳が好きって奴がいる
0786迷えるうさぎ
2010/03/05(金) 03:00:48情報学科に迷いこんでしまった腐女子ですが、
まだ初心者すぎるので、やさしい環境でやってみます^^
みなさんありがとう><
感謝感謝です
0787デフォルトの名無しさん
2010/03/05(金) 04:08:43CPad for Java2 SDK
私はこれ使ってますよ
0788デフォルトの名無しさん
2010/03/05(金) 04:22:080789デフォルトの名無しさん
2010/03/05(金) 04:30:220790デフォルトの名無しさん
2010/03/05(金) 06:08:280791デフォルトの名無しさん
2010/03/05(金) 07:26:40その目的だとScalaのインタラクティブシェル使ってるなぁ。
Groovyの方が良いかもしれんけど。
0792デフォルトの名無しさん
2010/03/05(金) 07:34:27ただしIDEが裏で何やってんのか理解するためにもエディタとコンバイラで実行までもっていけるようになっておくべき。
0793デフォルトの名無しさん
2010/03/05(金) 07:38:01Helloworldなりをエディタ+javacで作って、
javaコマンド実行してからIDEだな
0794デフォルトの名無しさん
2010/03/05(金) 08:28:00ソースからバイトコードを書いて実行までもっていけるようになっておくべき
0795デフォルトの名無しさん
2010/03/05(金) 09:57:35>>783
Rhinoにパスが通ってるんでインタラクティブモードでシェル起動してますが何か
0796デフォルトの名無しさん
2010/03/05(金) 10:12:19どうやってハンドアセンブルするんですか?
0797デフォルトの名無しさん
2010/03/05(金) 11:28:270798デフォルトの名無しさん
2010/03/05(金) 12:55:060799デフォルトの名無しさん
2010/03/05(金) 14:40:48たぶんVectorじゃなくてSortedMap<Integer,Collection>とかでやるべきなんじゃないの?
pをキーにする感じで。
0800デフォルトの名無しさん
2010/03/05(金) 17:58:29System.exit() で終わるしかない?
0801デフォルトの名無しさん
2010/03/05(金) 18:08:350802デフォルトの名無しさん
2010/03/05(金) 18:10:12フリーズ
0803デフォルトの名無しさん
2010/03/05(金) 18:22:53ClassA a=new ClassB(); って出来るの?
ClassA a=(ClassA)new ClassB(); って出来る?
ClassB b=new ClassA(); って出来る?
0804デフォルトの名無しさん
2010/03/05(金) 18:25:54それくらい自分で試せば?
0805デフォルトの名無しさん
2010/03/05(金) 18:26:340806デフォルトの名無しさん
2010/03/05(金) 18:43:38しかない、というか、EXIT_ON_CLOSEだとSystem.exit(0)が呼ばれる。
けどこれってイベントスレッドの終了じゃないよね?
Thread#interrupt()すれば終了するみたい。
0807デフォルトの名無しさん
2010/03/05(金) 20:53:13Frame.getFrames() で取れる全てのフレームに対して dispose() を実行すれば EDT が終了するよう
1.4 で変更されている。
0808デフォルトの名無しさん
2010/03/05(金) 21:55:38>ClassA a=new ClassB();
できる。
ClassBにどのようなプロパティがあろうとも、ClassA型として突っ込んだ時点で、ClassAが持つプロパティしか保持しなくなるが。
>ClassA a=(ClassA)new ClassB();
できる。
が、意味の無いコード。
>ClassB b=new ClassA();
できん。
ClassBの情報はClassAだけでは埋められないため。
0809デフォルトの名無しさん
2010/03/05(金) 21:58:05>ClassA a=new ClassB();
((ClassB)a).hoge()みたいな形でキャストすればClassBの情報も使えるけど。
0810デフォルトの名無しさん
2010/03/05(金) 22:13:090811デフォルトの名無しさん
2010/03/06(土) 00:32:230812デフォルトの名無しさん
2010/03/06(土) 00:38:21そんな事はない
底辺でよければ通用するする
0813デフォルトの名無しさん
2010/03/06(土) 00:54:450814デフォルトの名無しさん
2010/03/06(土) 01:05:17解説サンクス
0815デフォルトの名無しさん
2010/03/06(土) 02:30:35まだ標準でコードフォルデイングも補完もリファクタ機能もないツールで頑張ってんの?
それともExcelVBA大好きな老害みたいに、
しょぼい言語で一部の機能を車輪の再発明して
「ほら、これを使えばIDEなんていらないんだ」とかほざいてんの?
0816デフォルトの名無しさん
2010/03/06(土) 02:40:00import java.util.*;
import java.net.*;
import java.text.*;
こんなのばっかり書いてるよな
0817デフォルトの名無しさん
2010/03/06(土) 02:44:00それよりもコボルでDBファイル操作をごりごりと遣るのが好きな老害が、銀行とか生保とか自治体システム運用会社にたんまり残ってる。
ほーらこうやれば、RDBも最適化も不要で処理出来る。ってほざいてる。
0818デフォルトの名無しさん
2010/03/06(土) 02:53:06甘いぜ。
RDBMS持たせても予備1〜5までのカラムを持ったテーブルが出来るだけだ。
主キーを貼ると重複エラーで落ちるかもしれないからという理由で主キーなしとか。
集合演算とか理解できないから、カーソルで全行舐めとか平気でするし。
もうホント金融は勘弁してください…orz
0819デフォルトの名無しさん
2010/03/06(土) 07:46:15配列を宣言する時にnewするのは何故でしょうか?
int array[] = new int[3]
よろしくおねがいします。
0820デフォルトの名無しさん
2010/03/06(土) 08:55:17配列の様な何 kB になるか分からないデータを置いているとすぐにスタックオーバーフローを起こす。
Java はそんな職人のカンが必要な要素をなるべく排除してはじめからスタックに配列を置けない
ようになってる。あと元々組み込みの様な貧弱メモリ環境で使うのに作られた言語だし。
0821デフォルトの名無しさん
2010/03/06(土) 09:03:13Javaでは、Cのようにスタックに配列を置くことができず、必ずヒープに配置される。
つまり、Cでいうと以下のような書き方しかできない。
int* array = NULL;
array = (int*)malloc(sizeof(int)*3);
0823デフォルトの名無しさん
2010/03/06(土) 14:51:59Cでは array が int へのポインタなのに対し
Java では int 配列へのポインタなので
array を宣言した時点では、まだ配列は作成されていない。
だから new で配列を作る必要がある。
…というのが正しい説明に思える。
ヒープとかスタックとかは関係ないのでは。
>>819 が納得してるならいいけど。
0825デフォルトの名無しさん
2010/03/06(土) 15:05:370826デフォルトの名無しさん
2010/03/06(土) 15:18:21一見正しいようで君の方が間違って覚えてるようだ
0827デフォルトの名無しさん
2010/03/06(土) 15:20:010828デフォルトの名無しさん
2010/03/06(土) 15:47:50kwsk
0829デフォルトの名無しさん
2010/03/06(土) 16:24:17ポインタで受けて配列アクセスはしていたが・・・C は十年以上やってないから
今どきのCの構文は疎くて正しいのかわかんねー。
0830デフォルトの名無しさん
2010/03/06(土) 16:29:41int array[] = {1, 2, 3};
int array[] = (int*)malloc(100 * sizeof(int));
あと array[] とした場合はポインタとは呼ばない。
0831823
2010/03/06(土) 16:35:02書けない。
書けないのは分かってた。
「変数 array を int 配列として宣言したとき」ってことが言いたかったんだ。
すまんかった。
0832デフォルトの名無しさん
2010/03/06(土) 16:50:45じゃなんて呼ぶの?
0833デフォルトの名無しさん
2010/03/06(土) 16:56:220834デフォルトの名無しさん
2010/03/06(土) 17:02:24Cでint配列ってのが宣言できるのか?
どうせCやるならちゃんと覚えたほうがいいと思うよ。
0835デフォルトの名無しさん
2010/03/06(土) 17:04:30Javaできる人のうちけどCできる人は30%に満たない
0836デフォルトの名無しさん
2010/03/06(土) 17:07:120837デフォルトの名無しさん
2010/03/06(土) 17:14:33int array[] = (int*)malloc(100 * sizeof(int));
うちのgccではコンパイルでけへんが?
0838デフォルトの名無しさん
2010/03/06(土) 17:24:09君、もう帰っていいよ
0839デフォルトの名無しさん
2010/03/06(土) 17:52:12int *array = (int*)malloc(100 * sizeof(int));
array[]は配列、arrayはポインタ
array と &array[0]が等価
*array と array[0]が等価
0840デフォルトの名無しさん
2010/03/06(土) 17:55:460841デフォルトの名無しさん
2010/03/06(土) 18:18:470842デフォルトの名無しさん
2010/03/06(土) 18:20:22詳しくは具具ってよ
0843デフォルトの名無しさん
2010/03/06(土) 18:27:200844デフォルトの名無しさん
2010/03/06(土) 18:35:28> Cでは array が int へのポインタなのに対し
全然違う。ガセ流すなよ。C のメモリ配置の基礎からやり直してこい。
0845デフォルトの名無しさん
2010/03/06(土) 18:47:33C99もサポートしてないふるいのはもう捨てろ
0846デフォルトの名無しさん
2010/03/06(土) 18:54:180847デフォルトの名無しさん
2010/03/06(土) 19:00:190848デフォルトの名無しさん
2010/03/06(土) 21:50:15jniでcとの連携は強いからねえ。面倒ならcで実装してjavaから呼ぶ程度にしとけば?
http://pc12.2ch.net/test/read.cgi/tech/1033795664/
★お前らJavaはJNIで組もうぜ★
0849デフォルトの名無しさん
2010/03/06(土) 22:05:510850デフォルトの名無しさん
2010/03/06(土) 22:14:470851デフォルトの名無しさん
2010/03/07(日) 00:42:240852デフォルトの名無しさん
2010/03/07(日) 00:45:560853デフォルトの名無しさん
2010/03/07(日) 02:58:41at java.util.ArrayList.RangeCheck(ArrayList.java:546)
at java.util.ArrayList.set(ArrayList.java:337)
at ChatServer.platform_order(ChatServer.java:174)
at Channel.run(ChatServer.java:277)
該当箇所
174行目 platform.set(p, new ArrayList<Channel>(Arrays.asList(c)));
platformはarraylistオブジェクトです。
ArrayList() 初期容量 10 で空のリストを作成します。
とリファレンスに書いてあります。
・なぜindex3で10以下なのでに、エラーなのでしょうか
しかもsizeはゼロとなっています
アドバイスお願いします。
↓これをつかってみても駄目でした
(void ensureCapacity(int minCapacity)
必要に応じて、この ArrayList のインスタンスのサイズを拡大し、少なくとも最小サイズ引数で指定された数の要素を格納できるようにします
0854デフォルトの名無しさん
2010/03/07(日) 06:17:16File[]型の変数f_arrayを宣言だけしておいて(事前に数が分からないので初期化のnewはせず)、
public void countNum(){
f_array = dir.listFiles();
System.out.println("今のファイル数:" + f_array.length);
}
と書いています。
このメソッドで最初にファイル数を確認して、
その後、途中の処理でファイルをいくつか削除させてから、
改めて上のメソッドをかけてみると、確かに削除した分だけ数は減っていて、
自分のやりたい挙動にはなってます。
ただ、配列はいったん確保サイズが決まったら、そのサイズは変えられないものだと思っていたので
同じ配列なのにサイズが小さくなった、っていうところが納得いかないんです。
なんでですか?解説をおねがいします。
0855デフォルトの名無しさん
2010/03/07(日) 06:24:02>set
> IndexOutOfBoundsException - インデックスが範囲外の場合 (index < 0 || index >= size())
>
>size
> リスト内にある要素の数を返します。
言わんとするところは、リストなので頭から詰めてゆかないとダメ。初期状態でnullとかが詰まっているわけではない。
0856デフォルトの名無しさん
2010/03/07(日) 06:27:38listFilesの結果を代入しなおした時点で、f_arrayは前の配列を指していない
0857デフォルトの名無しさん
2010/03/07(日) 11:08:54listFiles() を呼ぶたびに新しい配列が作られており、
それを f_array に代入しているのであって、
配列のサイズが変わっているわけではない。
0858デフォルトの名無しさん
2010/03/07(日) 14:12:310859デフォルトの名無しさん
2010/03/07(日) 15:19:04Each ArrayList instance has a capacity.
The capacity is the size of the array used to store the elements in the list.
It is always at least as large as the list size.
As elements are added to an ArrayList, its capacity grows automatically.
JavaSE6日本語版ドキュメント:
各 ArrayList のインスタンスには、「サイズ」があります。
それは、リストの要素を格納するために使用する配列のサイズで、常にリストのサイズ以上の大きさになります。
ArrayList に要素を追加すると、そのサイズは自動的に拡大します。
ひでえ訳だ。
サイズとキャパシティの違いが分からない人が生まれるのも無理はない。
0860デフォルトの名無しさん
2010/03/07(日) 15:28:10ArrayList が持っている要素の数。最初はゼロ。
add() で要素を追加するたびに1ずつ増える。
サイズより大きいインデックスを指定して get() とか set() とかを呼ぶと
IndexOutOfBoundsException になる。
キャパシティ(容量):
ArrayList が内部で使っている配列の大きさ。
パフォーマンスを最適化するために初期容量を変えたりすることもあるが、
普通はあまり容量を意識しなくていい。
0862デフォルトの名無しさん
2010/03/07(日) 16:35:270863デフォルトの名無しさん
2010/03/07(日) 21:46:390864853
2010/03/07(日) 23:32:46>>859
>>860
ありがとうございます。
頭から詰めなくてもよい
サイズが動的な
配列はあるのでしょうか。
vectorならOKとか
(今回のコードで、例外を発生させたくないのです。)
0865デフォルトの名無しさん
2010/03/07(日) 23:51:13後から頭に追加したいならaddの引数で位置を指定できるぞ。
0866デフォルトの名無しさん
2010/03/08(月) 00:04:59ListじゃなくてMapの方が適してるんじゃねーの?
0867デフォルトの名無しさん
2010/03/08(月) 00:13:210868デフォルトの名無しさん
2010/03/08(月) 00:18:38挿入する場所はどうやって決める?
単に数字に対して値を保持したいだけなら
Mapでキーをintにするだけでいいんでないの?
0869デフォルトの名無しさん
2010/03/08(月) 08:50:13作りたいと考えています。
サーブレットやGoogle.appにビーンズ? アプレットなど様々なJAVAの種類のうち、
上記のような物(もしどれも出来るなら、しぃペインターと同環境もしくは代替品)を作りたい場合、
どの方向性に進めばいいでしょうか?
0870デフォルトの名無しさん
2010/03/08(月) 10:18:370871デフォルトの名無しさん
2010/03/08(月) 10:53:55拾えるのでしょうか?
JFrameにてaddMouseListenerを設定してもタイトルバーでのマウスイベントが
拾えなかったのですが…
0872デフォルトの名無しさん
2010/03/08(月) 11:35:28イベントを拾って、なにがしたいの?
0873デフォルトの名無しさん
2010/03/08(月) 11:52:590874デフォルトの名無しさん
2010/03/08(月) 12:18:190875デフォルトの名無しさん
2010/03/08(月) 12:59:59すみません、まだ勉強中なので何がしたいってわけではないのですが
試している時にタイトルバー上では拾えなかったので気になっただけなんです。
>>874
タイトルバーは管理しているところが違うので拾えないのですか。
勉強になりました。ありがとうございました。
0876デフォルトの名無しさん
2010/03/10(水) 14:17:47エラーjspに遷移させる方法はないでしょうか?
無い場合、一番ユーザに優しい処理としては、何があげられるでしょうか?
アドバイスをお願いします。
0877デフォルトの名無しさん
2010/03/10(水) 15:29:03↓
クライアントでは結果を表示
↓
サーバーがデータ吐いた後にエラーを起こした
↓
クライアントの結果表示をエラー用JSPに遷移させたい
ってこと?
HTTP 1.1なら継続的接続で何かできないんだっけ?
0878デフォルトの名無しさん
2010/03/10(水) 15:34:05JavaScript 吐いて飛ばせ。
0879デフォルトの名無しさん
2010/03/10(水) 15:34:16その通りです。
HttpServletResponse#sendErrorには
レスポンスが既にコミットされている場合、 このメソッドはIllegalStateExceptionをスローします。 このメソッドを使った後は、レスポンスはコミットされたと考えるべきで、 レスポンスに書き込みを行なうべきではありません。
て書いてあるので、何か手を駆使してどうにかできないものかと苦慮してます。
0880デフォルトの名無しさん
2010/03/10(水) 15:35:110881デフォルトの名無しさん
2010/03/10(水) 17:52:54「買い物された後ですが店が火事になってしまったので買われた物は無効です。
申し訳ありませんが引き取らせてください」
とか言う感じ?
0882デフォルトの名無しさん
2010/03/10(水) 17:55:40つまり、実装がunkなことにならないか?
0883デフォルトの名無しさん
2010/03/10(水) 19:14:32setUndecoratedをtrueにしてタイトルバーを消したJFrameか
もともとタイトルバーの無いJWindowに自前でタイトルバー描けばできると思う
0884デフォルトの名無しさん
2010/03/10(水) 19:23:48Eclipse上では動くんだけどhtmlから起動するとエラーが出る。
アプレットなんて興味ないよっていう人も多いかもしれないけど、
解決方法わかる人いたら教えて。
0885デフォルトの名無しさん
2010/03/10(水) 19:33:03様々考えられる。どういうエラーなのか詳しく出さなければ答えようがない。
0886884
2010/03/10(水) 19:39:14とりあえずホームページ上には、
エラー。クリックした詳細を確認してください←というメッセージが出ている。
詳しいエラーメッセージは
java.lang.NoClassDefFoundError: sampleapplet (wrong name: sampleapplet/sampleapplet)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Unknown Source)
at sun.plugin2.applet.Plugin2Manager.createApplet(Unknown Source)
at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
例外: java.lang.NoClassDefFoundError: sampleapplet (wrong name: sampleapplet/sampleapplet)
0887デフォルトの名無しさん
2010/03/10(水) 19:49:260888デフォルトの名無しさん
2010/03/10(水) 19:53:23・<applet> タグには code="sampleapplet.class" と書く
(<object> タグの場合は <param name="code" value="sampleapplet.class">)
0889884
2010/03/10(水) 20:04:56htmlのコードは次の通り。ホームページビルダーを使って作成。
<p><applet code="sampleapplet.class" width="300" height="300"></applet></p>
html(javaappletrenshuu.html)と同じディレクトリにsampleapplet.classというファイルを置いてるんだけれど。
.classファイルが見つからないっていうエラーだということ?ファイルはあるはずなのに・・・
0890デフォルトの名無しさん
2010/03/10(水) 20:10:48そのクラスは何かのパッケージに属してる?
アプレットは全く使わないからはっきりとは言えないけど
コード内に「package sampleapplet;」って一文があると扱いが少々違うかもしれない。
もしあったらそれを消して再コンパイルすればいいと思う。
0891884
2010/03/10(水) 20:17:49確かにソースコードには
package sampleapplet;
という一文がある。
でもこれって削除するとEclipseでコンパイル(実行)できないみたい。
パッケージが原因という可能性もあるということだね。
0892デフォルトの名無しさん
2010/03/10(水) 20:22:29理由は分かるまで自分で調べること。packageの意味から。
0893デフォルトの名無しさん
2010/03/10(水) 20:24:50・HTML のディレクトリに sampleapplet というサブディレクトリを作って sampleapplet.class をそっちへ移動
・src="sampleapplet/sampleapplet.class" に変更
0894884
2010/03/10(水) 20:26:01とりあえず、
packageはeclipseを操作するときに指定しなければいけないのであれば、
eclipseでjavaアプレットは作りにくいっていうことでいい?
0896デフォルトの名無しさん
2010/03/10(水) 20:29:39○code=
0897884
2010/03/10(水) 20:39:18ありがと!!
うまくアプレットがhtml起動できるようになった。
これでEclipseでJavaアプレットが作れるようになりそう!!
0898デフォルトの名無しさん
2010/03/10(水) 21:06:320899デフォルトの名無しさん
2010/03/10(水) 21:24:300900デフォルトの名無しさん
2010/03/10(水) 22:33:460901デフォルトの名無しさん
2010/03/10(水) 22:37:530902デフォルトの名無しさん
2010/03/10(水) 22:46:5630Gぐらい書いて、4Gの位置の場所のデータを書き直すには、InputOutput両方開いて、読んで書いてって4G分繰り返して、書き直すしかない?
http://java.sun.com/javase/ja/6/docs/ja/api/java/io/FileOutputStream.html
をみると、書き込みで開いてしまうと、読み込みで開けなさそうだから、そういうプラットフォームだとメモリに一度置くか、別ファイルに書いてファイル名変更かな。
0903デフォルトの名無しさん
2010/03/10(水) 22:49:500904デフォルトの名無しさん
2010/03/10(水) 22:50:14書き直すなら RandomAccessFile 使え。
http://java.sun.com/javase/ja/6/docs/ja/api/java/io/RandomAccessFile.html#seek(long)
java.nio.channels.FileChannel でもいいけど、メモリマップドファイルは 2Gまで。
0905デフォルトの名無しさん
2010/03/10(水) 22:51:15ありがとう。
あと、自分の間違い、offsetは渡したバッファのオフセットだった・・・
0906デフォルトの名無しさん
2010/03/10(水) 23:04:38DIGEST認証
FORM認証
この3つはできたのにCLIENT-CERT認証だけはできませんが
どうしたらいいでしょうか?
0907デフォルトの名無しさん
2010/03/10(水) 23:08:08どこまでやったとか
どこでつまづいたとか
こんなエラーが出るとか
どうしたら回答してもらえるかちょっとは考えろよ
0908デフォルトの名無しさん
2010/03/10(水) 23:09:470909デフォルトの名無しさん
2010/03/11(木) 11:12:01それしかないっすよね。
ありがとうございます。
0910デフォルトの名無しさん
2010/03/12(金) 00:40:00synchronizedではなくReadWriteLockでも大丈夫でしょうか?
0911デフォルトの名無しさん
2010/03/12(金) 00:45:56そんなのはとりあえず synchronized でやっておいて、後でプロファイラ計測で問題が確定して
からでかまわないだろ。public で Map 丸出しでもなければ設計が大きく変わるわけじゃないし。
0912デフォルトの名無しさん
2010/03/12(金) 00:50:35とりあえず、お勧めに従ってsynchronizedで実装してみます。
0913デフォルトの名無しさん
2010/03/12(金) 00:58:030914デフォルトの名無しさん
2010/03/12(金) 01:14:24http://pc11.2ch.net/test/read.cgi/php/1267094290/67-70
つまり、
1. Readが圧倒的多数でWriteは数十分に一回
2. インスタンスで使えるメモリ量が不明なので弱参照でGC任せにしたい
と、要件としてはこんな感じになってます。
余談ですが、今試したところ、どうもGCがガシガシ走っているらしく、
なかなか前途多難な感じです。
0915デフォルトの名無しさん
2010/03/12(金) 01:27:14お恥ずかしい。
0916デフォルトの名無しさん
2010/03/12(金) 01:34:57更新すくない場合はConcurrentHashMapが良いよ。
0917915
2010/03/12(金) 02:08:35同期制御しながらSoft参照で。。みたいな要件のMapを作る機能を提供しているようです。
使い方がややこしいですが、色々試してみて後ほどご報告したいと思います。
0918デフォルトの名無しさん
2010/03/12(金) 18:00:10socket通信って難しそう。
socket使える人ってどこから覚え始めた?
0919デフォルトの名無しさん
2010/03/12(金) 18:03:020920デフォルトの名無しさん
2010/03/12(金) 18:12:44Name/Fingerプロトコル(ネームフィンガープロトコル)および Finger ユーザー情報プロトコルは、ユーザー情報など人間に纏わるステータスを交換するための通信プロトコル。
なんだか業務用の技術みたい。素人には難しそうだ。
アプレットゲームで使うレベルのsocket通信の技術を覚えた人はどのあたりから覚えはじめた?
0921デフォルトの名無しさん
2010/03/12(金) 19:13:07ぐぐって簡単なサンプルでも作ってみた?
そんなに難しくないだろ。
つか、httpでやれよ
なんでわざわざソケット?
0922デフォルトの名無しさん
2010/03/12(金) 19:17:11とりあえず逆引きに載ってるサンプルプログラムを入力して実行したぐらい。
なんだかよくわからんかった。
httpでやるってどういうこと?JSPとかいう技術のこと?
0923デフォルトの名無しさん
2010/03/12(金) 19:25:37でやるつもりなん?
セキュリティ的に大変なんじゃない?
ふつー、通信対戦といったら
クライアントA ⇔ サーバ ⇔ クライアントB
サーバになんかプログラムが必要だぞ
0924デフォルトの名無しさん
2010/03/12(金) 19:46:16とりあえずレンタルサーバー借りてるんで、
サーバーは確保できてる。
ので923の言ってる
クライアントA ⇔ サーバ ⇔ クライアントB
で行こうと思ってる。
サーバーのプログラムはJAVA
クライアントのプログラムはJAVAアプレット
という風にすれば、プレイする人はプログラムをインストールしなくて済むのでいいかなと考えてる。
そこでなんとなくsocket使えばいいのかなーと思ったんだけど他にいい技術がある?
0925デフォルトの名無しさん
2010/03/12(金) 19:57:480926デフォルトの名無しさん
2010/03/12(金) 20:00:12http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=8920&forum=12
なんにせよhttp通信が一番しきいが低いよ
0927デフォルトの名無しさん
2010/03/12(金) 20:06:26カードゲームや、将棋あたりならhttpで十分
リアルタイム性のあるゲームならソケット
0928デフォルトの名無しさん
2010/03/12(金) 20:17:04その前に通信技術を覚えときたいので○×ゲーム
(縦横斜めに3つならべた人が勝つゲーム)
を作ってみようかなと思ってる。
(通信技術を使わない一人二役の○×ゲームアプレットはとりあえず作った)
対戦ゲームだからチャットも用意したほうがいいかなと思ったので
ソケットなら何でも対応できるかなと思ったんだけど。
httpってそんなにお勧め技術?解説本とかあるの?
0929デフォルトの名無しさん
2010/03/12(金) 20:52:20書きこんでるのもhttp通信
http通信自体はものすごい一般的な技術
解説本なんて腐るほどある
ざっくり言うとサーブレットやらJSPは
Javaによるhttp通信のサーバ側の技術
クライアントのアプレット ⇔ サーバのサーブレット、JSP
こんな感じ
○×やらチャットなら
とりあえずhttpでやったほうがいいよ
0930デフォルトの名無しさん
2010/03/12(金) 20:57:200931デフォルトの名無しさん
2010/03/12(金) 21:01:25http超お勧めっていうことだね。
929の言っている
クライアントのアプレット ⇔ サーバのサーブレット、JSP
ということなら、サーバをサーブレット、JSPで作る技術を覚えるのがいいってことだね。
JSPサーブレットはまだよくわかってないけど家に本が何冊かあるから、
ちょっと頑張って読んでみる。
0932デフォルトの名無しさん
2010/03/12(金) 21:05:50全部は読めん(経済的にも、読解力的にも)
「マスタリング tcp/ip」の基本書1冊だけよんでみる価値はある?
0933デフォルトの名無しさん
2010/03/12(金) 21:13:26Javaでhttpやらソケットするなら必要ない
0934デフォルトの名無しさん
2010/03/12(金) 21:20:170935デフォルトの名無しさん
2010/03/12(金) 21:25:55今みたらAmazonに在庫あるみたいだね。
内容考えたら安すぎる。
0936デフォルトの名無しさん
2010/03/12(金) 21:48:32ソケットも使えない奴が○×程度のネット対戦ゲームでも作れるわけないだろ。
あと対戦ゲームに HTTP とか言ってるアフォはチンカス業務コーダーだから無視して良し。
0937デフォルトの名無しさん
2010/03/12(金) 22:03:35逆引きから引用したんだけど
この状態でサーバー、クライアントの情報伝達はどうする?
サーバー側
package sample323;
import java.io.*;
import java.net.*;
public class Sample323 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO 自動生成されたメソッド・スタブ
try{
ServerSocket svsock=new ServerSocket(2525);
Socket sock =svsock.accept( );
PrintWriter out =new PrintWriter(sock.getOutputStream(),true);
out.println("Hello Java!");
sock.close();
}catch(Exception e){
System.out.println("例外"+e+"が発生しました。");
}
}
}
0938デフォルトの名無しさん
2010/03/12(金) 22:05:13package sample324;
import java.net.*;
import java.io.*;
class Sample324 {
/**
* @param args
*/
public static void main(String[] args) {
// TODO 自動生成されたメソッド・スタブ
byte[] buff=new byte[1024];
try{
Socket sock=new Socket("127.0.0.1",2525);
InputStream in=sock.getInputStream();
int n=in.read(buff);
System.out.println("サーバーから");
System.out.write(buff,0,n);
System.out.println("を取得しました");
sock.close();
}catch (Exception e){
System.out.println("例外"+e+"が発生しました");
}
}
}
0939デフォルトの名無しさん
2010/03/12(金) 22:07:030940デフォルトの名無しさん
2010/03/12(金) 22:10:00逆引きが一番コードの短いサンプルが載ってたから引用したんだけど、
とりあえず、サーバーとクライアントの接続ができた→文字列の送信→ソケットを閉じる。
これを改造して、変数のやり取りをできるようになるとネット対戦ゲームができるのではないかと思うんだけど。
方向性は間違ってないかな?
0941デフォルトの名無しさん
2010/03/12(金) 22:16:52送受信を交互に繰り返すならストリームのフラッシュを忘れない様に。
0942デフォルトの名無しさん
2010/03/12(金) 22:17:45どんなデータをどんな手順で送受信して実現するかってことを決めないとな。
その手順が、今回作るプログラムのプロトコルっつーことになる。
0943デフォルトの名無しさん
2010/03/12(金) 22:18:070944デフォルトの名無しさん
2010/03/12(金) 22:20:07javaなんだからbufferdreaderで読み込めばどんなstreamでも
行ごとのオーダーでデータを読めるということを思い出したまへ。
0945デフォルトの名無しさん
2010/03/12(金) 22:21:060946デフォルトの名無しさん
2010/03/12(金) 22:22:37開けたらすぐ閉じなきゃなんないわけでもないけどね。
0947デフォルトの名無しさん
2010/03/12(金) 22:24:440948デフォルトの名無しさん
2010/03/12(金) 22:27:25途中にタイムアウト付きのプロキシが居たら終わりだし。
0949デフォルトの名無しさん
2010/03/12(金) 22:27:36キー=値,キー=値\n
みたいな感じでストリームに書き込んで、
読む側は適宜readLine()とかすればいい感じ。
両方向通信するんだったら接続先1つにつきソケット1つづつ増やしちゃって問題ないぞ。
0950937,938
2010/03/12(金) 22:28:17sock.close();
は削除しても動くみたいだから
つなぎっぱなしの状態にしておくこともできると考えていいかな?
その間に○×の座標や手番のデータをやり取りするコードを入れちゃえばもう少し対戦ゲーム
っぽくなるかな?
0951デフォルトの名無しさん
2010/03/12(金) 22:32:020952950
2010/03/12(金) 22:44:13とりあえず今わかるソケットのソースコードはのコードぐらい。
いろいろソケットについて書いてある本にソースコードはあるんだけど長すぎて今の段階では、理解不能。
とりあえずJAVAの逆引きもこれ以上詳しくは書いていないので、
コメントしてもらった
InputStream/OutputStream
readLine()
close();
について調べてみる。
0953952
2010/03/12(金) 22:45:450954デフォルトの名無しさん
2010/03/13(土) 00:59:48サーバプログラム書いてソケット自前で管理してって
○×ゲーム&チャットくらいなら
httpでポーリングすればいいじゃん
0955デフォルトの名無しさん
2010/03/13(土) 01:14:050956デフォルトの名無しさん
2010/03/13(土) 01:21:460957デフォルトの名無しさん
2010/03/13(土) 01:24:510958デフォルトの名無しさん
2010/03/13(土) 01:28:500959デフォルトの名無しさん
2010/03/13(土) 01:32:160960デフォルトの名無しさん
2010/03/13(土) 01:33:530961デフォルトの名無しさん
2010/03/13(土) 01:58:190962デフォルトの名無しさん
2010/03/13(土) 02:07:250963デフォルトの名無しさん
2010/03/13(土) 02:09:530964デフォルトの名無しさん
2010/03/13(土) 02:13:570965デフォルトの名無しさん
2010/03/13(土) 02:35:23あんまりないからだろう。
0966デフォルトの名無しさん
2010/03/13(土) 02:45:56空いてねーよ。てか家庭用ルータに接続してどうすんだ。
そもそも>>924の構成だったらそんなの関係ないじゃん
0967デフォルトの名無しさん
2010/03/13(土) 02:46:150968デフォルトの名無しさん
2010/03/13(土) 02:49:16LAN側とWAN側どっちの話をしてるんだ
0969デフォルトの名無しさん
2010/03/13(土) 02:56:21どっちの話してる気だと聞きたいのはこっちだっつーの。
0970デフォルトの名無しさん
2010/03/13(土) 03:00:060971デフォルトの名無しさん
2010/03/13(土) 03:02:090972デフォルトの名無しさん
2010/03/13(土) 03:07:150973デフォルトの名無しさん
2010/03/13(土) 03:56:340974デフォルトの名無しさん
2010/03/13(土) 04:13:29どこの借りてるんだろ。
レンタルサーバーって任意のポート開けれるんかな?
0975デフォルトの名無しさん
2010/03/13(土) 04:15:34Java ネットワークプログラミング 【教えて!】
upnpでつまづくと思うけどな。
0976デフォルトの名無しさん
2010/03/13(土) 14:11:50上記メッセージの後に、
「[OK]をクリックして再実行するかインストールパッケージ ‘jre1.6.0_12.msi‘を含むフォルダに対する代替パスを以下のボックスに入力します」
と表示出て、その先には進まずインストールが中断されてしまいます。
Javaヘルプセンターで調べてみたり、ネットで調べてみて、
旧バージョンのアインストールをしてみようと思いコントロールパネルを開いてみたのですがプログラム自体にJavaが存在しませんでした。
どなたか分かる方いらっしゃいますでしょうか?
ちなみにOSはVistaです。
0977デフォルトの名無しさん
2010/03/13(土) 15:02:02ダウンロード中にインストーラのファイルがぶっ壊れたんじゃね?
0978デフォルトの名無しさん
2010/03/13(土) 15:36:43復元作業したらなんとか出来ました。
0979デフォルトの名無しさん
2010/03/13(土) 17:35:23みなさんはtree構造を利用したい場合は自分で実装されていますか?
もし定番ライブラリみたいなものがあれば教えていただけないでしょうか。
0980デフォルトの名無しさん
2010/03/13(土) 17:36:230981デフォルトの名無しさん
2010/03/13(土) 23:08:15XML最強!
0982デフォルトの名無しさん
2010/03/13(土) 23:16:15fast Infosetじゃ半分の大きさにしかならないからEXIで。
0983デフォルトの名無しさん
2010/03/13(土) 23:39:49>com.sun.java.swing.plaf.nimbus.NimbusLookAndFeel
だったと思っていたんですが
0984デフォルトの名無しさん
2010/03/14(日) 00:03:280985デフォルトの名無しさん
2010/03/14(日) 00:04:060986983
2010/03/14(日) 00:40:07java7からはnimbusがjavax.swing.plafに入るらしいけど
nimbusどこへ行った
0987デフォルトの名無しさん
2010/03/14(日) 01:02:000988デフォルトの名無しさん
2010/03/14(日) 01:04:010989デフォルトの名無しさん
2010/03/14(日) 08:58:09梅。
0990デフォルトの名無しさん
2010/03/14(日) 17:43:260991デフォルトの名無しさん
2010/03/15(月) 01:00:000992デフォルトの名無しさん
2010/03/15(月) 14:29:51膿め。
0993デフォルトの名無しさん
2010/03/15(月) 14:33:580994デフォルトの名無しさん
2010/03/15(月) 17:14:330995デフォルトの名無しさん
2010/03/15(月) 18:43:35個別にファイルの出力先変えられないのですか?
実装上はインスタンスごとに出力先変えられるのに、設定ファイルだとうまく行かないようなのですが??
0996デフォルトの名無しさん
2010/03/15(月) 23:15:48諦めてオンコードで書くことだな。
0997デフォルトの名無しさん
2010/03/15(月) 23:31:530998デフォルトの名無しさん
2010/03/15(月) 23:42:070999デフォルトの名無しさん
2010/03/15(月) 23:50:57知識として、知っておきたいだけ
1000デフォルトの名無しさん
2010/03/16(火) 00:00:0110011001
Over 1000Threadもう書けないので、新しいスレッドを立ててくださいです。。。
レス数が1000を超えています。これ以上書き込みはできません。