[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 04/05 15:43 / Filesize : 271 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



1 名前:デフォルトの名無しさん [2007/06/27(水) 07:23:27 ]
プログラミング言語Javaに関する質問スレです。
JavaScript, Ajaxの質問は、ここでは受け付けていません。
Web製作板をご利用ください。pc10.2ch.net/hp/

過去ログ、関連スレッド、よくある質問とその回答など、
質問をする前に、貴方が見なければならないサイトについての情報は、
下のwikiのページにまとめてあります。
www.wikiroom.com/java/
これからJavaでプログラミングを始めたいが、何をすればいいかわからない人も、
wikiからのリンクをおたどりください。

よくある質問
・「コマンドまたはファイル名が違います」
 「'javac' は、内部コマンドまたは外部コマンド、
 操作可能なプログラムまたはバッチ ファイルとして認識されていません。」
 「Exception in thread "main" java.lang.NoClassDefFoundError: 」
 www.wikiroom.com/java/?path,classpath
・String に == は使うな。equals() を使え。
・「\12288 は不正な文字です。」
文字リテラル以外で全角スペースは使えません。半角スペースに。
・その他の質問→「APIのjavadoc見ろ」

前スレッド
【初心者】Java質問・相談スレッド102【大歓迎】
pc11.2ch.net/test/read.cgi/tech/1180419689/

/* 既出の質問や、他に適切なスレが存在する質問は、容赦なく無視されます。
質問をする前にwikiで過去ログ、関連スレ、FAQをチェックしてください。 */
また、当スレで質問をするかたは、回答をもらえたときに、
wikiの更新をして頂ければ、忝なく存じます。

次スレは>>980あたりで。

501 名前:デフォルトの名無しさん mailto:sage [2007/07/10(火) 08:28:03 ]
メール受信のためのプロキシーを作りたいのですが…。

パソコンのバックグラウンドで待機して、メール受信時にまずプロキシがメールデータ
を取得し、迷惑メールでなければそのままメールクライアントにメールデータを渡したい
です。

サーバーソケットを作って待機しているのですが、メール受信時にローカルにバインド
されるポート番号を検出できず悩んでいます。当然、110番で待機してはダメですよね?

メールクライアント側でプロキシサーバーアドレス、ポートを指定できれば早いのですが…。
(IEのように)

アンチウィルスソフトは、ローカルにプロキシサーバーを置いているように見受けられる
のですが、どうやって実現しているのでしょう?

どなたか、アドバイスをお願いいたします。

502 名前:デフォルトの名無しさん mailto:sage [2007/07/10(火) 10:33:56 ]
JTableなんだけど、他のコンポーネントからTABでフォーカス移動してくると、
まだ一度もセルにフォーカス取得してない状態だとフォーカスが消えたようになる。
もう一度TABを押すとようやくセルが選択状態になるのだが・・・・・。
一度セルにフォーカスを取得すると他のコンポーネントから一発で移動できるように
なるんだがな・・。
ちなみにScrollPaneは使っても使わなくても同じでした。
JDKは1.5す。

どなた原因&回避策おながいします。

503 名前:デフォルトの名無しさん mailto:sage [2007/07/10(火) 10:43:18 ]
>>501
あれはシステムに食い込んでるからこそできること。
Java では原理的に無理。
メーラーではメールサーバーに localhost を指定して、
設定その他は自分のプログラムでやるしかないと思う。

504 名前:501 mailto:sage [2007/07/10(火) 11:35:41 ]
>>503
レスありがとうございます。

メーラーのメールサーバーに localhost を指定して、通信をパイプする
ような感じで実装してみようと思います。

この場合、メールアカウントごとの設定がめんどくさいっすねー・・・。
どうやって保持しようかしら。




505 名前:デフォルトの名無しさん mailto:sage [2007/07/10(火) 14:25:52 ]
そもそも、メーラー側が優秀なフィルタを持ってるこのご時世に自分で作っても意味はないよ。
屑メーラーを捨てれば良いだけ。

それとも、まともなスパムフィルタを作れるほどの
技術があるならメーラーそのものから作るって方法もある。

506 名前:デフォルトの名無しさん [2007/07/10(火) 14:44:29 ]
>>505
既にあるから作る意味ないって?
つまらない考え方だな。

507 名前:デフォルトの名無しさん mailto:sage [2007/07/10(火) 14:44:52 ]
業務ロジッククラスXでDB接続とBEGIN
  ↓
  DBクラスYで振込情報をINSERT
  ↓
  DBクラスZで入金情報をINSERT
  ↓
業務ロジッククラスXでCOMMITとDB切断

をする際にDBクラスY,Zでconnection.commit()をさせない、
コンパイルエラーにする方法ってありますか?
INSERTをさせるためにはDBクラスY,Zにconnectionを渡さなければならず
connectionを渡せばcommit()が可能になってしまいます。
commit()やrollback()が不可能なDB接続を渡すとかできないでしょうか?
テストでバグ潰せばいいじゃんというのもわかりますができればコンパイル時にはじきたいです。


508 名前:デフォルトの名無しさん mailto:sage [2007/07/10(火) 15:22:18 ]
メーラーの(優秀な)フィルタと自分のフィルタを置き換えなくちゃ
いけないならともかく、上乗せできるなら悪いことじゃないでしょ、
普通に考えても

509 名前:デフォルトの名無しさん mailto:sage [2007/07/10(火) 16:25:27 ]
>>507
java.sql.Connectionをラップしたクラスを作れば?
ほとんど全てのメソッドはスルーするけど、
commit()やrollback()が呼ばれたらIllegalStateExceptionを投げるようなの。



510 名前:509 mailto:sage [2007/07/10(火) 16:28:05 ]
コンパイルではじきたいのね。スマン。
それならAspectJという手も。
ttp://www.kronos-jp.net/tech/tech100/tech100.html

511 名前:デフォルトの名無しさん mailto:sage [2007/07/10(火) 16:49:20 ]
commit()やrollback()が無いインターフェイスNewConnectionを新しく作る。
DBクラスY,ZにはNewConnectionを渡す。
NewConnectionのラッパークラスを作り、DBクラスY,Zからconnectionのアクセスが出来るようにする。
で、どうよ?

512 名前:デフォルトの名無しさん mailto:sage [2007/07/10(火) 17:16:50 ]
実行入力画面でアルファベットでなく日本語を入力するにはどうすればいいのですか?

513 名前:デフォルトの名無しさん mailto:sage [2007/07/10(火) 17:40:48 ]
てか、それはJavaの質問なのか?
WindowsマシンならALT+変換押せ

514 名前:デフォルトの名無しさん mailto:sage [2007/07/10(火) 17:56:06 ]
>>509-510
ありがとうございます。そうです、コンパイル時にはじきたいです。

>>511
その場合、
Connection connection = DriverManager.getConnection( 略 );
↓※
NewConnection newConnection = new NewConnectionWrapper();

※の部分の、実際のconnectionをnewConnectionにどうやって渡してあげればいいですか?
頭がこんがらがってきた・・・

515 名前:デフォルトの名無しさん [2007/07/10(火) 18:02:00 ]
>>514
まずは落ち着け。


516 名前:デフォルトの名無しさん [2007/07/10(火) 18:06:05 ]
変数の型を調べる方法ってありますか?


517 名前:デフォルトの名無しさん mailto:sage [2007/07/10(火) 18:07:04 ]
これでよかろ。
NewConnection newConnection = new NewConnection(connection);
ただし、NewConnection は java.sql.Connection になれないので、
java.sql.Connectionを前提にしているプログラムが既にあるなら、
それを書き直さないといけなくなる。新規開発ならいいけどね。

あとは個人的な感覚だけど、独自規則のAPIを強制されるのはイヤダ。
APIは標準だが実装は(APIの範囲内で)独自、なら許せるが。

518 名前:デフォルトの名無しさん mailto:sage [2007/07/10(火) 18:17:13 ]
>>517
なるほど。newConnectionの中でconnectionをprivateで持っておいて
commit()とrollback()は作らず、それ以外はnewConnectionのpublicメソッドを通して
connectionに投げると。ありがとうございます。

>あとは個人的な感覚だけど、独自規則のAPIを強制されるのはイヤダ。
>APIは標準だが実装は(APIの範囲内で)独自、なら許せるが。

自分も独自APIを強制して自由度を奪うのは好きじゃないですが
DB関連クラスだけでcommit()とrollback()のみの制限ならギリギリ許容範囲内かなと思っています

519 名前:デフォルトの名無しさん [2007/07/10(火) 18:20:17 ]
>>516
判定したい型が決まっているなら
instanceof演算子
とりあえず型を知りたいだけなら
"不明オブジェクト".getClass().getName()



520 名前:デフォルトの名無しさん mailto:sage [2007/07/10(火) 19:57:44 ]
SPAMメールを受けたときに
逆に送信者に攻撃を仕掛けて
二度と送ってこないようにするには
Javaではどのような方法がありますか?

521 名前:デフォルトの名無しさん mailto:sage [2007/07/10(火) 20:32:13 ]
Javaを辞めるしかないです。
さようなら。

522 名前:デフォルトの名無しさん mailto:sage [2007/07/10(火) 20:48:44 ]
>>520
オーケー。いい方法を思いついた。
試してみたいので、お前のメールアドレスを教えてくれ。

523 名前:デフォルトの名無しさん mailto:sage [2007/07/10(火) 21:41:06 ]
root@localhost

524 名前:デフォルトの名無しさん [2007/07/10(火) 21:58:09 ]
javaのプログラムからコマンドプロントを使ってcdコマンドなどで自動的に特定のフォルダに移動して、特定のファイルを実行したいのですが、探しても方法が見つかりません。

よろしければ教えていただけないでしょうか?

525 名前:デフォルトの名無しさん mailto:sage [2007/07/10(火) 22:05:35 ]
フレームのサイズ変更についての質問です。
サイズを変更したことをリアルタイムに感知したいんですが、どのような方法があるでしょうか?
MouseMotionだとD&Dしてる間はメッセージが送られず、componentResizedも試しましたがマウスボタンを離した瞬間しか感知しません
(できればその移動距離か変更後のサイズも知りたいです)
JAVAではそういうのは想定してないんでしょうか。

>>524
Windowsなら、○○.batっていうファイルつくって右クリック編集
中に
------------
cd 移動先
java メインクラスの名前
-----------
の2行を書けばできるます。
詳しくはバッチファイルでしらべてくらはい

526 名前:デフォルトの名無しさん mailto:sage [2007/07/10(火) 22:06:09 ]
Excelのファイルがいくつかのフォルダに分かれて存在していて
それぞれのフォルダはさらにサブフォルダをいくつか持っています
全部のフォルダをたどって全部のExcelファイルから
特定のシートの特定のセルを抽出していきたいのですが
どのようにすればよいのか検討も付きません

527 名前:524 [2007/07/10(火) 22:12:30 ]
バッチファイルをつかってjavaのクラスファイルを実行するのではなく、javaのプログラムからコマンドプロントのコマンドを入力して特定の処理をしたいのですが。

そのやり方を知っていたら教えて下さい。

528 名前:デフォルトの名無しさん mailto:sage [2007/07/10(火) 22:14:57 ]
>>527
そういうことね、勘違いしてた

529 名前:デフォルトの名無しさん mailto:sage [2007/07/10(火) 22:57:20 ]
>>524
Runtime.getRuntime().exec(☆DOSコマンド☆);
特定の処理がわからないのでここまで



530 名前:デフォルトの名無しさん mailto:sage [2007/07/10(火) 23:06:56 ]
>>527
jrunscriptつかえ。そういうときのためにわざわざ用意されたんだから

531 名前:デフォルトの名無しさん mailto:sage [2007/07/10(火) 23:27:40 ]
ワンランク上になりたいんだけどなにしたらいい

Java歴半年くらいでいまJSPとかデータベース使って小規模なシステム作ってる

532 名前:デフォルトの名無しさん mailto:sage [2007/07/10(火) 23:42:01 ]
>>524
java1.5ならProcessBuilderが熱い

533 名前:デフォルトの名無しさん mailto:sage [2007/07/10(火) 23:49:44 ]
>>531
EclipseのプラグインとかSwingなどのGUI
イベントドリブンなアプリケーションに慣れ、スレッドをある程度使いこなすと差は出来る

534 名前:デフォルトの名無しさん mailto:sage [2007/07/11(水) 00:29:28 ]
>イベントドリブン
そこで Visual C++ ですよ

535 名前:デフォルトの名無しさん mailto:sage [2007/07/11(水) 00:40:07 ]
>>533
EDTで時間かけてイベントキュー詰まらせてアーーーー!!とか・・・
VMのスレッド実装の差異やCPUの数が2以上あってアーーー−!!とか?

個人的にはJWSに触れとくのお勧め。

536 名前:デフォルトの名無しさん mailto:sage [2007/07/11(水) 02:45:59 ]
MouseListenerとMouseMotionListenerは同時に使えない?なんてことはないよな・・・
どっちかを消すと上手くいくのに、
どちらも宣言するとシンボルが見つかりませんといわれる・・・

537 名前:デフォルトの名無しさん mailto:sage [2007/07/11(水) 02:51:48 ]
自己解決。頭がおかしくなっていたようだった

538 名前:デフォルトの名無しさん [2007/07/11(水) 13:28:05 ]
Javaを用いて掲示板を作っています
形はそこそこ出来てきたので「同一人物(同IP)からの二重投稿を禁止する」機能をつけようとしているのですが
こういったものを作るのに便利なクラスはあるのでしょうか?

539 名前:デフォルトの名無しさん mailto:sage [2007/07/11(水) 15:19:11 ]
インデント不良って何ですか?



540 名前:デフォルトの名無しさん mailto:sage [2007/07/11(水) 15:23:12 ]
if (a > b)
  b = a;
  a = 1;
System.out.println(b);

みたいに書いてa > bでないときでもa = 1;が実行されるように錯覚させる悪い奴のこと

541 名前:デフォルトの名無しさん mailto:sage [2007/07/11(水) 15:25:29 ]
逆だ
a > bの時にしかa = 1;が実行されないように、だ

542 名前:デフォルトの名無しさん mailto:sage [2007/07/11(水) 17:19:25 ]
はじめからブロックにしとけば良いんだよ。
どうせ後から変更されるんだし。

if (a > b){
  b = a;
}
a = 1;
System.out.println(b);

543 名前:デフォルトの名無しさん [2007/07/11(水) 19:31:51 ]
if (a>b) b=a;
a = 1;
System.out.println(b);

こう書けば短い。

544 名前:デフォルトの名無しさん mailto:sage [2007/07/11(水) 23:26:19 ]
1:JSPの画面での入力処理
2:javaでcsvファイル読んだりあれこれしてDBに書き込む
3:DB書き込み結果をJSPで表示、というのを作っています。

これに規定の時間を越したらエラーとしてタイムアウト画面へ遷移する機能を
追加しようと思っています。

で、Actionで
try{
 Timer timer = new Timer();
 timer.schedule(new myTimer(),3000);
 色々
}catch(myTimeoutException e){
 return (mapping.findForward("error"));
}

myTimer#run() ←TimerTask継承クラス
myTimeoutException e = new myTimeoutException ();
throw e;
みたいにやってみましたが
myTimer#run()までは来るけどActionの方にmyTimeoutException で飛んでこないです。


なんでException飛んでこないのでしょうか?

545 名前:デフォルトの名無しさん mailto:sage [2007/07/11(水) 23:33:56 ]
>>544
Threadに関して基本から学びなおして来い
簡単なサンプルをおいておくので実行してみてくれ

class ThreadA extends Thread {
   public void run() {
      throw new RuntimeException();
   }
   public static void main(String[] args) {
       new ThreadA().start();
   }
}

546 名前:デフォルトの名無しさん [2007/07/11(水) 23:56:24 ]
swingのフレームワークで定番なのは何なのでしょうか?
今注目されてるのがあれば教えてください。

547 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 00:12:42 ]
swingの定番って意味ワカラネーよ
java3dとかその拡張ライブラリのことか?

548 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 00:21:01 ]
たった2行正確に読めないのかよ。
"フレームワークの"定番って書いてあるだろ

549 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 00:21:57 ]
Swing自体がフレームワークのような気もする。



550 名前:デフォルトの名無しさん [2007/07/12(木) 00:31:47 ]
そうだね


551 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 00:34:40 ]
フレークワークの意味が解っていないに1票。
定番はBorderLayoutとGridBagLayoutだよ、で満足するのかな(=ω=.)

552 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 00:36:31 ]
>>544
runメソッド内でThread.currentThread().getName()を出力してみれば?
あと、myTimeoutExceptionクラスのコンストラクタの中でもThread.currentThread().getName()を出力して
違いが分かれば無問題♪


553 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 00:43:35 ]
>>544
Webサーバとクライアントのイベントのやり取りを調べてくれ、それじゃ実装できん
1.クライアントでタイムアウトを検知したい
 ⇒ JavaScriptなどで実装
2.サーバーでタイムアウトを検知したい
 ⇒ 最初のアクセス時間を記録していて差分を取ればいい

尚、2の場合、「せっかっく頑張って入力したのに><」ってなるので注意。

554 名前:546 [2007/07/12(木) 00:46:37 ]
>>546です。
swing自体フレームワークなのですが、
journal.mycom.co.jp/news/2007/04/27/015/index.html
itpro.nikkeibp.co.jp/article/COLUMN/20070516/271165/
をみて、只気になっただけです。

555 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 05:40:19 ]
結局、どれもSwing作法の定型句を隠ぺいして楽する枠組みに落ち着く気がする。
javaでswing以上のGUI出しても高度なだけでどのOSでも通用するGUIが提供できなくなるんじゃないかな?

LnFがjavaなだけでwin/macユーザーは避けるし。
ポトペタ支援はJSRガンガン出すだろうね。
そんなところじゃない?
やっぱベクターベースのGUIツールキットはまだ早いだろうか?

556 名前:デフォルトの名無しさん [2007/07/12(木) 06:50:33 ]
java.lang.Mathクラスを使わずに、double型の変数を
小数点以下二桁まで残して切り捨てたいです。

第一感はこういう感じですが、もっと良い方法があれば教えてください。

double total = 1234.5678;

int tmp = (int)(total*100);
total = tmp/100.00;

557 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 07:00:49 ]
>>556
表示の時にのみ切り捨てるべきと考えて、NumberFormat
小数点2桁と固定ならば、intで【全て】計算して、表示する時に100で割る。

558 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 07:13:07 ]
>>556
total = new BigDecimal(total).setScale(2, BigDecimal.ROUND_DOWN).doubleValue();

559 名前: [2007/07/12(木) 10:31:48 ]
部分検索するプログラムを考えています。
String型のabcがあってabcともにnullならDBの内容を全部返し、bcだけnullならaの値を返すなど全8通りのif文をうまく考えられません。
どなたか1つでもいいのでお願いします。



560 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 10:36:26 ]
aを返すとか全部返すとかどういう意味?
全部返すときはa列とb列とc列を連結して返すの?

561 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 10:42:08 ]
SQLのWHERE句をStringのパラメータによって変更するってこと?

562 名前: [2007/07/12(木) 10:55:29 ]
559です。
値を取得するってことです。
いまアプリケーション作っててサーブレットに書く内容がうまく表現できなくて…
if (i == null && t == null && p == null) {
String sql = "select * from *****";
ResultSet rs = stmt.executeQuery(sql);
とか考えてたんですけど…

563 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 11:40:11 ]
なにがしたいのかさっぱりわからない。説明足りなすぎ

564 名前:デフォルトの名無しさん [2007/07/12(木) 11:45:05 ]
String abcという書き方ではなく、a,b,cの3つのStringがあり、それぞれnullかnullでないかを判断する必要があるということなのでしょう。


565 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 11:56:27 ]
質問というか、Javaの可変長引数の仕様で疑問に思ったのですが、

void test(int... vector) {
 if (vector.length == 0)
  System.out.println("vectorは空です.");
 else
  for (int i : vector)
   System.out.print(i + " ");
}

こういうメソッドを書くと、可変長引数は引数なしでも実行できるので、
test();
と呼び出すと、"vectorは空です."と表示されます。
ですが、同名の以下のメソッドを同じクラスで定義すると、
オーバーロードされますので、引数が0のときの振る舞いが不定のように見えます。

void test() {
 test(1);
}

実際にやってみたところ、下の関数が呼び出され、"1 "が表示されました。
可変長引数よりもオーバーロードのほうが優先されることがわかりましたが、
引数的にはどちらでも呼び出せるので、しっくりこません。
よければこのようになる理由を教えてもらえますか?

566 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 12:43:04 ]
>>565
java.sun.com/docs/books/jls/third_edition/html/expressions.html#15.12.2.5
あたりだね。

567 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 12:52:47 ]
>>566
もうちっと上だった。 15.12.2.3 の一番最後に
> If no method applicable by method invocation conversion is found,
> the search for applicable methods continues with phase 3 (§15.12.2.4).
> Otherwise, the most specific method (§15.12.2.5) is chosen among the methods that are applicable by method invocation conversion.
メソッド呼び出し変換で適用可能なメソッドが見つからなければ、
メソッド探索はフェイズ3(可変長引数で適用可能なメソッドを探すフェイズ)に移行。
そうでなければ、最適なメソッドはメソッド呼び出し変換で適用可能なメソッドから選ばれる。

568 名前:565 mailto:sage [2007/07/12(木) 13:09:21 ]
>>566-567
こんな質問に、的確な返答をありがとうございます。

そうですか、文書で定義されているんですね。

以下チラ裏
Javaって言語の定義が明確なイメージがあるから、こういうどっちとも取れる構文を許容するのは少し以外。
C++なんかでも、オーバーロードには定義が重ならないように注意しているのに、なんか意図して許容してるのかなあ。
まあ、「実装するのがややこしいorパフォーマンスに問題が出る」っていう可能性が一番高い気もする。

569 名前:デフォルトの名無しさん [2007/07/12(木) 13:15:48 ]
>>568
printfがやりたかっただけ。



570 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 14:47:05 ]
>>568
だからこそJLSで明確な定義があるんじゃないか

571 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 16:17:51 ]
printfって要る派と要らん派でもめなかったけ?
swap要るか要らんかの話みたいだと思った記憶があるんだが。

572 名前:sage [2007/07/12(木) 21:59:27 ]
いまjaxb2.0を使って、xmlからjavaオブジェクトに変換するロジックを考えてるんだけど、
<hoges>
<hoge id="hoge1"><value>ほげでーた</value></hoge>
<hoge id="hoge2"><value>ほげでーた</value></hoge>
<hoge id="hoge3"><value>ほげでーた</value></hoge>
</hoges>
pubric class Hoges {
@XmlElement(name="hoge")
private List<Hoge> hogelist = new ArrayList<Hoge>();
・・・
}

@XmlRootElement
pubric class Hoge {
@XmlAttribute(name="id")
private String id;
@XmlValue
private String value;
・・・
}
このxmlの<value>タグが無駄に思えて仕方ない。
<hoges>
<hoge id="hoge1">ほげでーた</hoge>
<hoge id="hoge2">ほげでーた</hoge>
<hoge id="hoge3">ほげでーた</hoge>
</hoges>
ってな書き方で、"ほげでーた"をHoge.valueにセットする方法ない?

573 名前:デフォルトの名無しさん [2007/07/12(木) 22:11:25 ]
スレッドを指定して停止したり、再開させることってできますか?

574 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 22:13:14 ]
>>573
できません。自分でフラグを用意してください。

575 名前:556 mailto:sage [2007/07/12(木) 23:15:53 ]
>>557
レスありがとうございます。

doubleを使わないんですね。
intで計算すると、どんな良い事があるんでしょうか。

>>558
ごめんなさい
使えるのはjava.util.*だけでした。


576 名前:デフォルトの名無しさん mailto:sage [2007/07/12(木) 23:48:21 ]
すいません、質問させてください。

「UDTの通信で自分のIPアドレスと、通信している相手のIPアドレスを比較するプログラム」というプログラムを作っています。そこで、
相手のIPアドレスは、DatagramPacket.getAddress() で
「192.○.○.○」という様に普通に取れるんですが、
自分のIPアドレスを、InetAddress.getLocalHost().getHostAddress() で
「2001:0:4136:・・・・」という様に(ググってみるとIPv6のIPアドレスらしいんですが)比較できません。
IPv4で自分のIPアドレスを取得するにはどうすればいいんでしょうか?

よろしくお願いします。


577 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 00:04:31 ]
>>572 うろ憶えだけどXmlMixed?だったかで出来たかも

578 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 00:52:58 ]
>>576
UDT?

579 名前:デフォルトの名無しさん [2007/07/13(金) 00:59:48 ]
>>574>>573
たしか一時停止とかならできるのが有ったよ




580 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 01:01:46 ]
>>579
どうやってやるのですか?
特別なライブラリを使用するとかでしょうか??

581 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 01:18:02 ]
指定してってのは無理じゃねーの

582 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 01:22:08 ]
対象の Thread が分かってるなら suspend も resume も可能だろが

583 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 04:25:34 ]
イベント処理がGUIの例ばかりでよくわかりません。
どなたかGUIではないイベント処理のサンプルコードを教えてくださいませんでしょうか。

584 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 05:21:09 ]
じゃあ、プッシュ型のxmlプログラミングでも・・・

まあ、それは良いとして単純なCUIだとループ中にキー入力拾うだけ。
それ以上のものはコンソール制御できないjavaには無関係で
どっちにしても例に出すようなサンプルコードはないよね。

イベントドリブンでググった方が良いと思う。

585 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 05:28:47 ]
>>583
public class Clock implements java.awt.event.ActionListener {
public void actionPerformed(java.awt.event.ActionEvent e) {
System.out.println(new java.util.Date());
}
public static void main(String[] args) throws InterruptedException {
Clock c = new Clock();
new javax.swing.Timer(1000, c).start();
synchronized (c) {
c.wait();
}
}
}

586 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 08:15:59 ]
>>585
それ結局はGUI+スレッドに関連したプログラミングなんじゃ・・・。

まあ、java.awt.*パッケージにイベント周り集中してるからjavaのイベント処理は
ヘッドレスじゃないだろって考え方もできるから>>583の質問も的を射てないかも知れんが。


587 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 11:16:43 ]
java.io.File#listFiles や java.io.File#list は

> 結果の配列の名前文字列は特定の順序にはなりません。
> アルファベット順になるわけではありません。

とありますが、これは名前文字列以外の点においても
不定(少なくとも保証はしない)と言うことなのでしょうか?

588 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 11:21:40 ]
>>587
実装的にはOSのAPIが返す順番そのものなので、たいていはディスク上の
ディレクトリに記録されている順番になる。だから、意味のある順番で
はない。


589 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 11:42:40 ]
>>587
そゆ事。

原文みりゃ分かると思うけど
> There is no guarantee that the name strings in the resulting array
> will appear in any specific order; they are not,
> in particular, guaranteed to appear in alphabetical order.
日本語訳では in particular の部分がスッポリぬけてるのね。

もちろん、>>588がいう「OSのAPIが返す順番そのもの」ってのも一切保証されてない。



590 名前:デフォルトの名無しさん [2007/07/13(金) 11:46:45 ]
Tomcatのコネクションプーリングについて以下でOK?

server.xmlのJNDI(ResourceParams)の設定でfactoryにBasicDataSourceFactoryなどの
コネクションプーリングに対応した、データソース実装クラスのfactoryを
指定する事で行われる。

factoryの指定がない場合は、driverClassNameで指定したJDBCドライバの
DataSource実装クラスが使用される。

よって、factoryなしで、JNDIの記述だけでは、プールが行われるとは限らない。
PostgreSQLの場合、付属のJDBCドライバでは、プールはされない。

591 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 11:57:10 ]
>>588-589
ありがとうございます。やはり、と言うところですが
訳抜けと言う点は驚きました。

592 名前:デフォルトの名無しさん [2007/07/13(金) 14:14:10 ]
JFreeChartで描画したグラフの上にかぶせるようにShapeを描画する事は可能でしょうか

593 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 14:40:21 ]
>>592
可能

594 名前:592 [2007/07/13(金) 15:02:09 ]
JFreeChartについてもう一点
axisを共有した異種チャートの混合表示も可能でしょうか


595 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 15:25:30 ]
>>591
javadocでは普通、原文とサイトのチュートリアルよく読むのオヌヌメ

596 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 15:44:35 ]
>>594
異種で共有ってのがよく分からないけど、それも出来たと思う
前使った時に5,6種類のグラフを重ねてプロットしてたはず

597 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 15:45:43 ]
>>1
てsと

598 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 17:02:50 ]
計算についての質問です
double test = 17.56;
というのがあって、これの100倍の答え(1756)を出したいのですが、
計算すると、1755.9999999999998などという答えがでてきます。
どのようにすれば期待した答えがでてくるのでしょうか。

試したことは下記の2つでどちらも変な結果になりました
System.out.println(test * 100.0);
System.out.println(test * 100.0f);

599 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 17:19:33 ]
>>598
BigDecimal test = new BigDecimal("17.56");
System.out.println(test.multiply(new BigDecimal(100)));



600 名前:デフォルトの名無しさん mailto:sage [2007/07/13(金) 17:20:37 ]
>598
System.out.println(Math.round(test*100));







[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<271KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef