【初心者】Java質問・相談スレッド57【大歓迎】

このエントリーをはてなブックマークに追加
952デフォルトの名無しさん:04/12/06 22:10:07
>>951
新しいインスタンスを生成して実引数として渡しているだけ。
953デフォルトの名無しさん:04/12/06 22:16:46
>>952
つまり
add(new ThreadableButton())

ThreadableButton a = new ThreadableButton()
add(a);

これと全く同じと考えていいのでしょうか?
954デフォルトの名無しさん:04/12/06 22:18:26
if(!rs.next){
とれてる場合;
}else{
とれない場合;
}

これじゃだめかな
初心者のおいらが携帯からカキコ
955デフォルトの名無しさん:04/12/06 22:19:36
>>953
Exactly, Sir.
956デフォルトの名無しさん:04/12/06 22:25:32
まちがった
逆だった…orz
957950:04/12/06 22:59:55
>>954さん
条件判断文に行く前に、String id = rs.getString(1);
のところでexceptionに飛んでしまいます・・・
958950:04/12/06 23:03:25
>>954さん
あ。 NEXTメソッドの戻り値で判断すればいいのですね・・
試して見ます 
959デフォルトの名無しさん:04/12/06 23:17:13
>>953
新しい変数を宣言してるのに「全く同じ」なわけがない。
960デフォルトの名無しさん:04/12/06 23:22:00
重箱
961デフォルトの名無しさん:04/12/06 23:24:41
だったら「全く同じ」ものなんてこの世に存在しません。
962デフォルトの名無しさん:04/12/07 00:11:51
>>895 >>903
なんだ正規乱数の人じゃなかったのか。ならgroovy使え。
963デフォルトの名無しさん:04/12/07 00:20:30
>>906
>ふと疑問に思ったので質問させてください。
>>>887
>で、new FileOutputStream()やnew OutputStreamWriter()で例外が発生した場合、
>bwはどうなるのでしょう?

>>906みたいなバカに騙されるなよ。
コンストラクタで例外が発生した場合は、「bwに何かが代入される前」に
例外処理ブロックに飛ぶ。bwには「未初期化」の状態のまま。nullなど入っていない。

>>887のコードで「bw.close()にたどり着く」ということは「コンストラクタが例外を発せずに実行された」ということ。bwは絶対にnullにならない。
964デフォルトの名無しさん:04/12/07 01:01:42
質問です〜
下のように文字列がある場合
「あいうえおかきくけあああいうえこあ」
あの個数を数えるサンプルプログラムを教えてください。。
この場合結果は、5個になる。
965デフォルトの名無しさん:04/12/07 01:05:45
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って呼ぶ必要はないのでしょうか。
967デフォルトの名無しさん:04/12/07 01:12:57
>>966
呼ばないといけないけど、呼べない。呼ぶ手段が無い。それはデメリット。

ただし、そこまで気にしないといけない場面(※)がどれだけあるかというと、ほとんどない。
※new FileOutputStream()が成功して、上位のnew OutputStreamWriter(), new BufferedWriter(), new PrintWriter()のどこかで例外が起こる場面。

99.9%以上、「new FileOutputStream()の時点で失敗する」か、「すべて成功するか」のどちらかだろう。
968デフォルトの名無しさん:04/12/07 01:17:32
教えてください。
Java等はおもいっきり初心者なのですが、今1つの問題をかかえています。
ホームページビルダーを使って、パスワード付きリンクを作りました。
このホームページはフレームページで、フレームの左側にリンクを作りました。
しかし、フレームの右側に、BBSなどの自分が作ったページ以外のものが表示されている状態だと、スクリプトエラーが発生してしまいます。
なにが悪いのかすらわかりません。
どうすれば外部のリンク先を表示したままパスワード入力ができるようになるのでしょうか?教えてください。
969デフォルトの名無しさん:04/12/07 01:20:12
>>968
>>1
>JavaScriptの質問は、ここでは受け付けていません。
>Web製作板をご利用ください。http://pc5.2ch.net/hp/
回線切って首(ry
970デフォルトの名無しさん:04/12/07 01:36:58
>>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);
}
971デフォルトの名無しさん:04/12/07 01:39:16
>>969
回線切って首も切れ、ってか?
972デフォルトの名無しさん:04/12/07 01:47:39
>>971
不謹慎だったな。反省
973デフォルトの名無しさん:04/12/07 01:48:35
またJavascriptの質問が・・・(´・ω・`)
974デフォルトの名無しさん:04/12/07 02:04:34
首(ry

首から下を省略

首から下がない

首切っ
975デフォルトの名無しさん:04/12/07 02:23:50
>>967
そういう例外的な状況を「確実に」処理するための仕組みが
try-catch-finallyの例外機構だと思ってる俺は間違ってますか?

問題発生率がいくら無視できるほど小さいからといっても
いろいろな場所で積み重なれば無視できないほど大きくなるわけですが。
976デフォルトの名無しさん:04/12/07 02:35:14
>>975
間違ってる。
「そういう例外的な状況」を確実に処理できて、且つ、>>970以上にまともな方法を考えてみれ。
977976:04/12/07 02:56:25
>>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
無いです。
980950:04/12/07 11:59:53
>>954さん
うまくいきました。ありがとうございます。
API見れば一発でした・・・
981デフォルトの名無しさん:04/12/07 12:44:20
プログラムと全く関係ない話で恐縮ですが、他に適切なスレが見つかりませんでした。
2ch用のMSPゴシックをインストールした辺りからJAVAアプレットの表示が
おかしくなりました。
ttp://www.imgup.org/file/iup2440.png
上図のように日本語表記が出来なくなりました。
設定をいじろうにも日本語が読めないのでどうすることも出来ません。
システムの復元をしても駄目でした。
日本語を表示する方法があれば教えて頂けると幸いです。

OS:WindowsXP HomeEdition SP2 Build 2600
JAVA Plug-in 1.4.2_06
982デフォルトの名無しさん:04/12/07 14:18:57
try {
 while (true) {
  byte b = in.readByte();
  sha.update(b);
  md5.update(b);
 }
} catch (EOFException ignore) {
}

こういう書き方どう思います?
結城浩氏のサンプルコードみたいなんだけど。
983デフォルトの名無しさん:04/12/07 14:24:20
2ch用のMSPゴシックってなんだろう?
984デフォルトの名無しさん:04/12/07 14:39:49
>>981
じゃあMSPゴシックをアンインストールすれば?
985デフォルトの名無しさん:04/12/07 14:40:19
>>982
printStackTrace()しる!
986デフォルトの名無しさん:04/12/07 14:52:36
例外にはあくまで例外的な事象を表現させたい
987デフォルトの名無しさん:04/12/07 14:53:49
JavaからRealPlayerを操作することってできないでしょうか。
曲の再生が終わったかを判定したいんですが。
988デフォルトの名無しさん:04/12/07 15:39:15
>>987
C/C++からRealPlayerが操作できるなら、JNI経由でJavaからも操作できるだろ。
989デフォルトの名無しさん:04/12/07 15:41:14
>>982
ダメコードの見本。
理由は>>986も書いてるが例外を通常処理で使っているため。
990デフォルトの名無しさん:04/12/07 16:08:50
メソッドの命名規則の質問なんですがpublic void setHoge()という
メソッドを定義するとして、実際にHogeをsetする内部処理を
行う部分をprivateな別のメソッドとして定義して、setHogeの中で
呼び出したいんですが、こういうメソッドはどういう風に命名すべきでしょうか?
991デフォルトの名無しさん:04/12/07 16:34:08
jsecom16d.sun.com へのネットワーク接続を試みている時に接続がタイムアウトしました。
という警告ダイアログが表示された。


IEでダウンロードできるかと思いきや
ネットワーク ロケーション
http://java.sun.com/webapps/download/GetFile/1.4/2_06-b03/windows-i586/sz142060.cab へアクセスできません
という情報ダイアログが表示されインストールが完了しない。
992デフォルトの名無しさん:04/12/07 17:07:57
>>982
前後が読めないがDataInputインターフェース使ってるのかな
それならEOFかどうかの判断には例外しかないのでそれであってる

993デフォルトの名無しさん:04/12/07 17:38:15
>>990
setHogeInternal() とか setHogeImpl() とか使うね。
994デフォルトの名無しさん:04/12/07 17:42:36
>>993
どうもです
implてimplantですよね
995デフォルトの名無しさん:04/12/07 17:47:38
いえ、implementation。
内部処理というよりは、公開されたインタフェースの実装、という意味合いの方が強い時は
こちらを使っています。
996初心者:04/12/07 19:39:48
あるアプリケーションドメインを対象に現実世界をモデル化するクラスの集合を作成しなさい

の意味がいまいち分かりません・・・
具体例など挙げてもらえると非常に嬉しい・・・
997デフォルトの名無しさん:04/12/07 19:44:36
>>996
どこからの引用ですか?
998デフォルトの名無しさん:04/12/07 20:46:31
java.io.Serializableとは、どのように使用するものですか?

APIにある、直列化とはどういう意味でしょうか・・。
999998:04/12/07 20:47:31
次スレ立てて、そこで再度質問します。
1000998:04/12/07 20:50:46
1000ゲッツ

そして次スレ↓
【初心者】Java質問・相談スレッド58【大歓迎】
http://pc5.2ch.net/test/read.cgi/tech/1102420209/
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。