【初心者】Java質問・相談スレッド57【大歓迎】 >>951 新しいインスタンスを生成して実引数として渡しているだけ。
>>952 つまり
add(new ThreadableButton())
は
ThreadableButton a = new ThreadableButton()
add(a);
これと全く同じと考えていいのでしょうか?
954 :
デフォルトの名無しさん :04/12/06 22:18:26
if(!rs.next){ とれてる場合; }else{ とれない場合; } これじゃだめかな 初心者のおいらが携帯からカキコ
まちがった 逆だった…orz
957 :
950 :04/12/06 22:59:55
>>954 さん
条件判断文に行く前に、String id = rs.getString(1);
のところでexceptionに飛んでしまいます・・・
958 :
950 :04/12/06 23:03:25
>>954 さん
あ。 NEXTメソッドの戻り値で判断すればいいのですね・・
試して見ます
>>953 新しい変数を宣言してるのに「全く同じ」なわけがない。
重箱
だったら「全く同じ」ものなんてこの世に存在しません。
>>906 >ふと疑問に思ったので質問させてください。
>
>>887 >で、new FileOutputStream()やnew OutputStreamWriter()で例外が発生した場合、
>bwはどうなるのでしょう?
>>906 みたいなバカに騙されるなよ。
コンストラクタで例外が発生した場合は、「bwに何かが代入される前」に
例外処理ブロックに飛ぶ。bwには「未初期化」の状態のまま。nullなど入っていない。
>>887 のコードで「bw.close()にたどり着く」ということは「コンストラクタが例外を発せずに実行された」ということ。bwは絶対にnullにならない。
964 :
デフォルトの名無しさん :04/12/07 01:01:42
質問です〜 下のように文字列がある場合 「あいうえおかきくけあああいうえこあ」 あの個数を数えるサンプルプログラムを教えてください。。 この場合結果は、5個になる。
public class あを数えらー { public static void main(String[] args) { String 下のような文字列 = "あいうえおかきくけあああいうえこあ"; int あの数 = 下のような文字列.replaceAll("[^あ]", "").length(); System.out.println(あの数); } }
966 :
デフォルトの名無しさん :04/12/07 01:06:46
>>901 じゃないんだけど。
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(filename), "Windows-31J");
で、例えばnew BufferedWriter()で例外が出た場合、
その前のnew FileOutputStream()などは正常に終了していますよね?
この場合FileOutputStreamとかのcloseって呼ぶ必要はないのでしょうか。
>>966 呼ばないといけないけど、呼べない。呼ぶ手段が無い。それはデメリット。
ただし、そこまで気にしないといけない場面(※)がどれだけあるかというと、ほとんどない。
※new FileOutputStream()が成功して、上位のnew OutputStreamWriter(), new BufferedWriter(), new PrintWriter()のどこかで例外が起こる場面。
99.9%以上、「new FileOutputStream()の時点で失敗する」か、「すべて成功するか」のどちらかだろう。
968 :
デフォルトの名無しさん :04/12/07 01:17:32
教えてください。 Java等はおもいっきり初心者なのですが、今1つの問題をかかえています。 ホームページビルダーを使って、パスワード付きリンクを作りました。 このホームページはフレームページで、フレームの左側にリンクを作りました。 しかし、フレームの右側に、BBSなどの自分が作ったページ以外のものが表示されている状態だと、スクリプトエラーが発生してしまいます。 なにが悪いのかすらわかりません。 どうすれば外部のリンク先を表示したままパスワード入力ができるようになるのでしょうか?教えてください。
>>966 完璧にやるなら下のようになる。ただし日常的にここまでやる奴はキチガイ。
原発のシステムならいいかもね。
>>967 の方針でも、最悪GC時にfinalize()が走ってリソースのclose()は実行される。
FileOutputStream fos = null;
OutputStreamWriter osw = null;
BufferedWriter bw = null;
PrintWriter pw = null;
try {
try {
pw = new PrintWriter(bw = new BufferedWriter(osw = new OutputStreamWriter(fos = new FileOutputStream(filename), "Windows-31J")));
pw.println("Hello, World!");
} finally {
if (pw != null) {
pw.close();
} else if (bw != null) {
bw.close();
} else if (osw != null) {
osw.close();
} else if (fos != null) {
fos.close();
}
}
} catch (IOException e) {
throw new RuntimeException(e);
}
またJavascriptの質問が・・・(´・ω・`)
首(ry ↓ 首から下を省略 ↓ 首から下がない ↓ 首切っ
>>967 そういう例外的な状況を「確実に」処理するための仕組みが
try-catch-finallyの例外機構だと思ってる俺は間違ってますか?
問題発生率がいくら無視できるほど小さいからといっても
いろいろな場所で積み重なれば無視できないほど大きくなるわけですが。
>>975 間違ってる。
「そういう例外的な状況」を確実に処理できて、且つ、
>>970 以上にまともな方法を考えてみれ。
>>976 間違ってないかも。↓みたいにすれば970は冗長だな。
try {
FileOutputStream fos = new FileOutputStream(filename);
try {
PrintWriter pw = new PrintWriter(new BufferedWriter(new OutputStreamWriter(fos, "Windows-31J")));
pw.println("Hello, World!");
pw.flush();
} finally {
fos.close();
}
} catch (IOException e) {
throw new RuntimeException(e);
}
978 :
デフォルトの名無しさん :04/12/07 10:18:31
サーバからクライアントに一方的に気まぐれにデータを送りたいので、 ずっとSocketをつなぎっぱなしにして、 送りたいときに、データを送るようにしているんですが (クライアントからは送信なし) クライアント側が接続を切った場合(もちろんちゃんとclose()で) それをサーバ側が送る前に検知する方法ってないんでしょうか? 送る前に、Socket.isClosing(), isConnecting() とかやってるんですが、まったくもって反応なしな上に、 Socket.write()が何事もなかったかのように終わってしまいます。。。
979 :
デフォルトの名無しさん :04/12/07 11:04:15
無いです。
980 :
950 :04/12/07 11:59:53
>>954 さん
うまくいきました。ありがとうございます。
API見れば一発でした・・・
プログラムと全く関係ない話で恐縮ですが、他に適切なスレが見つかりませんでした。
2ch用のMSPゴシックをインストールした辺りからJAVAアプレットの表示が
おかしくなりました。
ttp://www.imgup.org/file/iup2440.png 上図のように日本語表記が出来なくなりました。
設定をいじろうにも日本語が読めないのでどうすることも出来ません。
システムの復元をしても駄目でした。
日本語を表示する方法があれば教えて頂けると幸いです。
OS:WindowsXP HomeEdition SP2 Build 2600
JAVA Plug-in 1.4.2_06
try { while (true) { byte b = in.readByte(); sha.update(b); md5.update(b); } } catch (EOFException ignore) { } こういう書き方どう思います? 結城浩氏のサンプルコードみたいなんだけど。
2ch用のMSPゴシックってなんだろう?
>>981 じゃあMSPゴシックをアンインストールすれば?
>>982 printStackTrace()しる!
986 :
デフォルトの名無しさん :04/12/07 14:52:36
例外にはあくまで例外的な事象を表現させたい
987 :
デフォルトの名無しさん :04/12/07 14:53:49
JavaからRealPlayerを操作することってできないでしょうか。 曲の再生が終わったかを判定したいんですが。
>>987 C/C++からRealPlayerが操作できるなら、JNI経由でJavaからも操作できるだろ。
メソッドの命名規則の質問なんですがpublic void setHoge()という メソッドを定義するとして、実際にHogeをsetする内部処理を 行う部分をprivateな別のメソッドとして定義して、setHogeの中で 呼び出したいんですが、こういうメソッドはどういう風に命名すべきでしょうか?
991 :
デフォルトの名無しさん :04/12/07 16:34:08
>>982 前後が読めないがDataInputインターフェース使ってるのかな
それならEOFかどうかの判断には例外しかないのでそれであってる
>>990 setHogeInternal() とか setHogeImpl() とか使うね。
>>993 どうもです
implてimplantですよね
いえ、implementation。 内部処理というよりは、公開されたインタフェースの実装、という意味合いの方が強い時は こちらを使っています。
996 :
初心者 :04/12/07 19:39:48
あるアプリケーションドメインを対象に現実世界をモデル化するクラスの集合を作成しなさい の意味がいまいち分かりません・・・ 具体例など挙げてもらえると非常に嬉しい・・・
998 :
デフォルトの名無しさん :04/12/07 20:46:31
java.io.Serializableとは、どのように使用するものですか? APIにある、直列化とはどういう意味でしょうか・・。
999 :
998 :04/12/07 20:47:31
次スレ立てて、そこで再度質問します。
1000 :
998 :04/12/07 20:50:46
1001 :
1001 :
Over 1000 Thread このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。