【初心者】Java質問・相談スレッド104【大歓迎】
at TECH
1:デフォルトの名無しさん
07/07/27 08:46:32
プログラミング言語Javaに関する質問スレです。
JavaScript, Ajaxの質問は、ここでは受け付けていません。
Web製作板をご利用ください。URLリンク(pc10.2ch.net)
過去ログ、関連スレッド、よくある質問とその回答など、
質問をする前に、貴方が見なければならないサイトについての情報は、
下のwikiのページにまとめてあります。
URLリンク(www.wikiroom.com)
これからJavaでプログラミングを始めたいが、何をすればいいかわからない人も、
wikiからのリンクをおたどりください。
よくある質問
・「コマンドまたはファイル名が違います」
「'javac' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。」
「Exception in thread "main" java.lang.NoClassDefFoundError: 」
URLリンク(www.wikiroom.com)
・String に == は使うな。equals() を使え。
・「\12288 は不正な文字です。」
文字リテラル以外で全角スペースは使えません。半角スペースに。
・その他の質問→「APIのjavadoc見ろ」
前スレッド
【初心者】Java質問・相談スレッド103【大歓迎】
スレリンク(tech板)
/* 既出の質問や、他に適切なスレが存在する質問は、容赦なく無視されます。
質問をする前にwikiで過去ログ、関連スレ、FAQをチェックしてください。 */
また、当スレで質問をするかたは、回答をもらえたときに、
wikiの更新をして頂ければ、忝なく存じます。
次スレは>>980あたりで。
2:デフォルトの名無しさん
07/07/27 08:55:33
刀、 , ヘ
/´ ̄`ヽ /: : : \_____/: : : : ヽ、
,. -‐┴─‐- <^ヽ、: : : : : : : : : : : : : : : : : : : : : : }
/: : : : : : : : : : : : : :`.ヽl____: : : : : : : : : : : : : : : : : : /
,. -─「`: : : : : : : : : :ヽ: : : : : : : : :\ `ヽ ̄ ̄ ̄ フ: : : : :/
/: :.,.-ァ: : : |: : : : : : : : : :\: : : : :: : : :ヽ \ /: : : :/
 ̄ ̄/: : : : ヽ: : : . . . . . . . . . . .、 \=--: : : :.i / /: : : : :/
/: : ∧: \: : : : : : : : : : ヽ: :\: : : 〃}/ /: : : : :/ 、
. /: : / . : : :! ヽ: : l\_\/: : : : :\: ヽ彡: : | /: : : : :/ |\
/: : ィ: : : : :.i: : | \!___/ ヽ:: : : : : : :\|:.:.:.:/:! ,': : : : / |: : \
/ / !: : : : :.ト‐|- ヽ \: : : : : l::::__:' :/ i: : : : :{ |: : : :.ヽ
l/ |: : :!: : .l: :| \: : : l´r. Y {: : : : :丶_______.ノ: : : : : :}
l: : :l: : :ト、| 、___,ィ ヽ: :| ゝ ノ '.: : : : : : : : : : : : : : : : : : : : : : /
|: : :ト、: |: :ヽ ___,彡 ´ ̄´ ヽl-‐' \: : : : : : : : : : : : : : : : : : イ
!: :从ヽ!ヽ.ハ=≠' , ///// ///u /  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄
V ヽ| }/// r‐'⌒ヽ イ〉、
ヽ、______ー‐‐' ィ´ /:/:7rt‐---、 こ、これは>>1乙じゃなくて
ィ幵ノ ./:/:./:.! !: : : : :!`ヽ ポニーテールなんだから
r‐'T¨「 |: | !:.∨:/:./: :| |: : : : .l: : : :\ 変な勘違いしないでよね!
/: : .|: :| !:.!ィ¨¨ヾ、:.:/ !: : : : l: : : : : :.\
3:デフォルトの名無しさん
07/07/27 15:36:55
Java Communication APIというものを用いて,PCカードのポートに接続したGPS(機種はI-ODATAの
CFGPS2)から座標などの情報を取得しようとしています.
現在その前段階として,下記のサイトで公開されているポートの種類や数,通信状況を調べる
サンプルプログラムをお借りして,動作確認をしようとしています.GPS機器を接続しているポート
(COM1)が通信状態になるようにするため,他の電子地図アプリケーションなどでGPSからの情報を
受信している状況を作り出し,このサンプルを動作させました.しかしながら,『COM1が使用中で
ある』という出力が得られませんでした.
こちらでお尋ねするのが相応しいのかどうかの判断に困りましたが,一応Javaを使用している
こともあり,今回質問に参りました.なにかアドバイス等頂きたいと存じます.また,他に質問するに
相応しい場所があるようでしたら,お手数ですがそちらへの誘導をお願いします.
よろしくお願いします.
参考URL:URLリンク(www.javainthebox.net)
4:デフォルトの名無しさん
07/07/27 21:40:21
4ね
5:デフォルトの名無しさん
07/07/27 22:05:00
>>3
GPSはシリアルポートとして見える仕様なのか?
ノートでもオンボードでシリアルのチップが載ってるかもしれないので
まずそれを切ること(完全に切れない可能性も高いけど)
それか単にCOM3あたりで見える可能性もあり。あとはハイパーターミナルあたりで
確認すれ。
6:デフォルトの名無しさん
07/07/27 23:33:51
>996
synchronized でガードされるのはステートメントだけ
従って他のsynchronized メソッドおよびに、synchronized(this)で囲まれたブロックが同期化の対象になる
オブジェクト自体は保持しているクラスなどから自由に触れるわけで同期とは関係がないぞ
一般的に言えば、そのクラスの可変な変数に対して読み込みと書き込みを行っているメソッドを全てsynchronizedにすれば同期化の要件は満たす(ただし、実効性能は考えない)
7:デフォルトの名無しさん
07/07/27 23:38:53
javaでmidiファイルの生成中です。
import javax.sound.midi.spi.*;
import javax.sound.midi.*;
で、何とかメロディを作ったり、音色を変えたりできる様になったのですが、
ドラムの音の出し方が分かりません。
どうぞご教授お願いします。
8:デフォルトの名無しさん
07/07/28 00:21:52
マルチか?
それともこっちのスレで質問しなおす事にしたのか?
もしそうならあっちに一言書いてからこっちに書くべきじゃないか?
誘導もされてなかったのに質問だけしてほったらかしってのは正直どうかと思うよ。
9:デフォルトの名無しさん
07/07/28 02:22:02
どっちにしろjavaの質問じゃないね。
midi関連を扱う板/スレへ池。
10:デフォルトの名無しさん
07/07/28 02:34:03
FileInputStream fis = new FileInputStream("flight.dat");
として読み込んだファイルの行数を得る方法ってありますか?
教えてください。m(_ _)m
11:デフォルトの名無しさん
07/07/28 02:36:38
LineNumberReaderってのがある。
12:デフォルトの名無しさん
07/07/28 03:17:27
>>11
ありがとうございます!
13:デフォルトの名無しさん
07/07/28 06:21:58
jarファイルにもクラスファイルにも同じクラスを置いたら、誤作動起こす?クラスノットファウンドとか?
14:デフォルトの名無しさん
07/07/28 06:48:37
クラスローダが先に見つけたクラスがロードされる
15:デフォルトの名無しさん
07/07/28 08:57:22
ソケット通信を実装しています。
スレッドは使わず、Selectorクラスを利用して複数クライアントからのデータ受信を
実現しようと思っているのですが、一つ確認させてください。
Selectorクラスでイベントが発生したチャネルを取得するselectedKeys()メソッドからは
Keyがイベント発生順に格納されているのでしょうか?
Aさんが送信→Bさんが送信→Cさんが送信→Aさんが送信
とやった場合、上記の順序は確実に保証されてselectedKeys()から取得できるのでしょうか?
16:13
07/07/28 11:59:23
>>14
レスサンクス
もう一つ質問
とあるサイトで配布されているjarファイルを使用する時に、
一部のクラスがソースも配布されていたため、
その対象のクラスだけリコンパイルして実際に動かすJava環境と
同じJavaのバージョンでクラスファイルを作成し、
ソースが提供されていないクラスはそのままにして、
それらをもとの一つのjarファイルとして作り直したら、
キャスト変換エラーが起きた。
リコンパイルしてjarを作り直しただけなのに、わけわかんね。
17:デフォルトの名無しさん
07/07/28 12:11:22
>>15
ソケット通信の実装ってかなり高度だぞw
Selector.selectedKeys() はSetを返すように定義されている
従って、順番が保証されているとは通常は考えられない
保証しているならば、SortedとかListを返すだろう
そもそも、送信順番は受信側では基本的に保証できないよ
どんな順番でServerSocketがacceptするかには関与できないから
"おそらく"送信順番に受け付ける、ってくらいじゃね?
そこまでソケット通信の実装をしているならば別だがw
18:デフォルトの名無しさん
07/07/28 13:32:11
オンラインゲームってかw
19:デフォルトの名無しさん
07/07/28 14:01:40
ダイアログを親フレームとの相対位置に表示したいです。
親フレームの絶対位置が分かれば出来そうですが、それを取得する方法が分かりません。
それとも他に適した方法がありますか?
教えてください。
20:デフォルトの名無しさん
07/07/28 14:37:39
javaの基本文法は一通り終了して、更にjavaの勉強を続けようと思うのですが、どのような勉強方法がよいでしょうか?
21:デフォルトの名無しさん
07/07/28 14:41:54
何か作ったことある?
電卓とか○×ゲームくらいは作れる?
22:デフォルトの名無しさん
07/07/28 14:43:47
>>21
アプレットで電卓、それとC言語で○×ゲーム(コンソールアプリ)は作成したことあります。
23:デフォルトの名無しさん
07/07/28 14:48:41
そか
URLリンク(www.geocities.jp)
こういうアルゴリズムとデータ構造の勉強はした?
24:デフォルトの名無しさん
07/07/28 14:53:28
有名なアルゴリズムに関しては基本情報技術者試験の勉強で一通り目を通しましたが、
自分で実装まではしていません。
このようなデータ構造とアルゴリズムは一通り自分で実装して動きを確かめた方がよいのでしょうか?
25:デフォルトの名無しさん
07/07/28 15:05:37
>>16 同名の別クラスがあって、部分的なソースでコンパイルした時と、完全なソースでコンパイルした時ではロードされるクラスが違う、とか。
//////////////Test.java////////////////
public class Test{
public static void main(String[]args){
System.out.println(new StringBuffer("Test"));
}
}
//////////////StringBuffer.java////////////////
public class StringBuffer {
String a;
public StringBuffer(String a){ this.a=a; }
public String toString(){ return a.toUpperCase(); }
}
//////////////////////////////
例えばこんなん。Test.javaだけでコンパイルした場合とStringBuffer.java付きでコンパイルした場合では動作が違う。
26:デフォルトの名無しさん
07/07/28 15:12:40
>>24
そりゃするに越したことはない
ある程度規模の大きなものを作る事と
色んなクラスの使用を経験しておくのがいいと思う
27:デフォルトの名無しさん
07/07/28 15:56:22
javaでエディタ作ろうと思っているんだけど、
TextArea内に行数を表示させる箇所を作るのって不可能ですよね。
今考えてるのは、文章入力用のTextAreaとそれに対応するように
行数表示用で編集不可のTextAreaを並べておこうと思っているんだけど。
もし、swing使ったり他の方法でこれが実現できるようなら教えてもらえないでしょうか。
28:デフォルトの名無しさん
07/07/28 16:07:41
>27
TextAreaの中に書くことは無理
独自にComponentを作成するか、JTableなどと組み合わせれば可能
29:デフォルトの名無しさん
07/07/28 17:10:54
>>25
うーん、自分の環境はそれは考えにくいと思うんだけど。。
30:デフォルトの名無しさん
07/07/28 20:32:42
for(int idx = 0 ; idx < 32; idx++) {
if (i<<idx < 0) {
System.out.print("1 ");
} else {
System.out.print("0 ");
}
}
↑はint型の変数iのビット列を表示するやつなんですけど、
これのbyte型バージョンを作ろうとしたらうまく動きません
(for文の条件のところを idx < 8 に変更し、iをbyte型のbに変更)
なぜでしょうか?
31:デフォルトの名無しさん
07/07/28 20:47:42
インターフェースを渡して、それを実装したクラスを返すプログラムを作りたいんですが。
(今はとりあえずから実装)、可能でしょうか?
public class Hoge{
public static Class<? extends T> createClass(Class<T> c){
if(c.isInterface()){
なんらかの手段を使ってメソッドを空実装したクラスをreturn;
}else return null;
}
}
public interface Hello{
String sayHello();
}
public class Hogehoge{
public void main(String[] args){
Hoge.createClass(Hello.class<Hello>);
}
}
32:デフォルトの名無しさん
07/07/28 21:19:28
>>30
たぶん、シフト演算でされる単項数値昇格を忘れてるんだと思う。
シフト演算のオペランドの型が byte、short、char なら
シフト演算する前に暗黙のうちに int 型に変換される。
33:デフォルトの名無しさん
07/07/28 21:25:33
>>32
単項数値昇格ですか。初めて聞きました。
これから調べてみます
どうもありがとうございました。
34:デフォルトの名無しさん
07/07/28 21:31:33
>>31
可能。でも、そこのサンプルなんか変じゃね?
35:デフォルトの名無しさん
07/07/28 23:04:28
このスレで見つけたJUnitとかいうツール使ってみたんだけど、これって戻り値がない場合は使えないの?
36:デフォルトの名無しさん
07/07/28 23:28:20
>35
お前には使えなそうだ
37:デフォルトの名無しさん
07/07/28 23:47:17
>>26
そういうことをやろうかと考えていたのですが、
具体的にはどんなことをすればよいのでしょうか?
38:デフォルトの名無しさん
07/07/28 23:59:15
>>29
考えにくい、じゃなくて実際に確かめようぜ。大した手間じゃないだろ。
うまく行かない時ってのは大抵自分の思い違いが原因でな(だからゴムのアヒルに話すのが有効なデバッグになる)。
すぐにわかる事を調べずに、思いこみでコードいじってる内は若葉マーク取れないよ?
39:デフォルトの名無しさん
07/07/28 23:59:16
>>37
アルゴリズムは知識レベルでも十分だと思う
ソート スタック キュー リスト マップ ハッシュ
これらは既にJavaがAPI化しているからJavadocでも読んで理解してればいい
どっちかっていうと、学校や会社であまり詳しく教えてくれないデザインパターンを勉強した方が為になる。
Java デザインパターン でぐぐれ
40:デフォルトの名無しさん
07/07/29 00:07:17
>>38
レスありがd。
一応jarの中身を見たけど、別のjarファイル内にあるクラスファイルとは重複してなかったんだ。
実行時にどのjarファイルを読んでクラスの情報を取得したかについてはデバッガで調べて正しかった。
そのクラスがimport宣言しているクラスが実はJavaのバージョンによっては対象外だったりしてたのかも。。
41:名無しさん@そうだ選挙に行こう
07/07/29 03:21:32
>jarの中身を見たけど、別のjarファイル内にあるクラスファイルとは重複してなかったんだ。
>実行時にどのjarファイルを読んでクラスの情報を取得したかについてはデバッガで調べて正しかった。
複数のjarがあり、ソースのあるjarは別のjarのクラスを利用しているわけか(後付けすんなよ…)。
で、調べたのはそれだけ?同じパッケージ内のクラスは?
>import宣言しているクラスが実はJavaのバージョンによっては対象外
無ければコンパイル時に見つからないと出るし、複数あってもコンパイル時にどれか分らないって出ると思うけど。
つーかそもそもどこまで分ってるんだ?
1.キャスト変換エラーが出る場所が分っている。
2.キャスト変換エラーが出るインスタンスが分っている。
3.キャスト変換エラーが出るインスタンスの本来あるべきクラスが分っている。
4.キャスト変換エラーが出るインスタンスがいつ、どこで作成されるか分っている。
5.キャスト変換エラーが出るインスタンスの実際のクラスが分っている。
6.上記3.と5.は異なっている事が分っている。
#一応ソースとかコンパイル→jar固め手順が誤って無いって前提で話してるけど、そのへんは大丈夫だろうか
42:名無しさん@そうだ選挙に行こう
07/07/29 03:40:42
>>39
Java デザインパターン
でぐぐってみる
サンクス
デザインパターンでオススメの参考書とかってある?
43:名無しさん@そうだ選挙に行こう
07/07/29 03:47:36
>42
CollectionとかSwingの実装
本だと結城本が入門用で定番
個人的にはリファクタリングによるデザインパターン入門とかってやつがオススメ
44:名無しさん@そうだ選挙に行こう
07/07/29 03:55:56
>>43
なるほど
明日本屋行って買ってくる
遅い時間にありがとう
45:名無しさん@そうだ選挙に行こう
07/07/29 15:36:09
FileDialogで選択したファイルのパスとファイル名をTextFieldにsetTextで入れて
そのTextField内の文字列を初期値にFileを作りたいのですがうまくいきません。
そのFileでhashCodeとgetNameを行うためにはどうすればいいんでしょうか?
46:デフォルトの名無しさん
07/07/29 15:39:46
>>41
詳細に説明してくれて、感謝感激雨あられです。
>つーかそもそもどこまで分ってるんだ?
もっと詳しくソース追ってみたけど、実はキャスト変換の前のコードでそもそもの問題が見つかってしまって。。
ClassクラスのforName()のnewInstance()の戻り値が、事前にstaticなオブジェクト変数に値が入っていることで、
別のインスタンスが返されるように出来ているっぽい。コンストラクタ上でforNameの引数に渡したクラス名とは
別のオブジェクトを返すように実装されている感じ。
>#一応ソースとかコンパイル→jar固め手順が誤って無いって前提で話してるけど、そのへんは大丈夫だろうか
jar固め手順とは?
jar -cvf "jarファイル名" "フォルダ1(リコンパイルしたもの)" "フォルダ2(もともとjarに格納されていたもの)" "ファイル(*.propertiesなど)"
みたいな感じでjarを作っている。
もしリコンパイルしたソースが他のパッケージ内のクラスを参照しているのであれば,
上記の場合、フォルダ1とフォルダ2は逆かな?パッケージ名は単純にアルファベット順にならべてんだけど。。
47:名無しさん@そうだ選挙に行こう
07/07/29 16:26:50
>>45
うまくいきませんじゃ、分からないのだが?
そのような内容では、出来るはずですとしか答えられん・・・。
うまくいかないコードをはってくれ。
48:名無しさん@そうだ選挙に行こう
07/07/29 16:53:53
書き込んだあとに調べてみたところ
tf1.setText(fd.getDirectory()+fd.getFile());
とやってはディレクトリの区切り文字が\になってしまってるのが原因のようでした。
この\を\\に置き換えることってできますかね?
49:名無しさん@そうだ選挙に行こう
07/07/29 18:32:40
JFrameの表示座標ってどうにか変えられないだろうか
JButtonに反応して表示するように下はいいけど左上が画面の左上に吸着したような位置にでてしまう
50:名無しさん@そうだ選挙に行こう
07/07/29 19:27:39
public void setLocationRelativeTo(Component c)
引数をnullとすれば画面中央に表示
51:名無しさん@そうだ選挙に行こう
07/07/29 19:50:10
>49,50
setLocationRelativeTo(parentFrame) でね?
parentFrameは、JButtonを配置したJFrameな
52:名無しさん@そうだ選挙に行こう
07/07/29 20:09:04
>>49 >>50
setLocationRelativeToでググってみたらsetLocationなんていうのもあるんだな
ちょっとこれ使ってやってみる
返答サンクス
53:デフォルトの名無しさん
07/07/30 12:32:04
ファイルの入出力について詰まったので、教えてください。
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
public class TextReader {
public TextReader(){
try{
String strLine;
FileReader in = new FileReader("stage.txt");
BufferedReader reader = new BufferedReader(in);
while((strLine = reader.readLine()) != null){
System.out.println(strLine);
}
reader.close();
}catch(IOException ie){
System.out.println("error");
}
}
}
↑のようなプログラムで、stage.txtというファイルの中身をコンソール上に表示させたいのですが、エラーになってしまいます。
ちなみにstage.txtというファイルは、このプログラムファイルと同じディレクトリに入れています。
どこがおかしいのかご指摘頂けないでしょうか、お願いします。
54:デフォルトの名無しさん
07/07/30 12:34:42
すいません、書き忘れましたが、
public static void main(String s[]){
TextReader t = new TextReader();
}
もTextReader内に入っています。
お願いいたします。
55:デフォルトの名無しさん
07/07/30 14:34:36
>>53
System.out.println("error"); を ie.printStackTrace() に変えて、
どんなエラーなのか調べれば?
56:デフォルトの名無しさん
07/07/30 14:41:55
>>55
レスありがとうございます。
それを試してみたら(指定したファイルが見つかりません)になりました。
同じディレクトリ内にファイルを入れてるんですが・・・。何かファイルの指定法に間違いがあるんでしょうか?
57:デフォルトの名無しさん
07/07/30 19:07:28
同じディレクトリってどこと同じなんだYO
File file = new Filr("stage.txt");
と書いてみて、絶対パス表示してみろ
58:デフォルトの名無しさん
07/07/30 20:23:24
俺が思うに、綴りが間違ってるんじゃないかな。
59:デフォルトの名無しさん
07/07/30 20:26:28
>>57
うわ・・・なんというミス・・・ありがとうございます。
確かにどこと同じなんだよって話ですね・・・。解決しました。ありがとうございます。
60:デフォルトの名無しさん
07/07/30 20:37:12
次のようなCSVダウンロードプログラムをLinuxサーバー上で実行し、
Windowsでダウロードした場合、なぜか、Windowsで改行コードがCR/LFになってしまう。
なぜ、LFでなく、CR/LFになるのでしょうか?
ブラウザが変換している?
response.setHeader(xxxxxx);
PrintWriter pw = response.getWriter();
pw.println(XXXX);
pw.close();
61:デフォルトの名無しさん
07/07/30 20:41:52
>>60
printlnが出力する改行コードはJVMが動いているシステムにとって自然な改行コードになる。
もし変えたくなければ自分で必要な改行コードを出力する。
62:61
07/07/30 20:44:18
あ、すまん。勘違い。>>61は忘れてくれ。
63:デフォルトの名無しさん
07/07/30 20:51:32
>60
どこにCSVファイルがあるか教えてくれ、ただのサーブレットにしか見えない
64:デフォルトの名無しさん
07/07/30 21:37:00
setHeaderでapplication/octet-streamにする
65:19
07/07/30 23:08:45
どなたか分かりませんか?
66:デフォルトの名無しさん
07/07/30 23:16:40
setLocation / setLocationRelativeTo
67:デフォルトの名無しさん
07/07/30 23:25:27
なんかgdgdだがsetLocationRelativeTo なんてあったのか。
Swingはデカすぎるから困る。
68:デフォルトの名無しさん
07/07/30 23:28:48
SWT/JFaceに比べりゃ・・・
Eclipseで入力補完使いながら、setといれれば直ぐ見つかる程度だろう
69:デフォルトの名無しさん
07/07/30 23:44:22
質問javamail使ってwebmailみたいのつくりたいんだけど、HTMLメールを
どうしようかなって思ってて。
やろうと思ってるのはHTMLタグ(&)だけ抜いて、テキストだけで
実装しようかと思ってるんだけど、HTML抜くライブラリとかってあるの?
smtp実装してるのはあるんだけど、popしてメール表示するようなサンプルって
あんましないんだよね。。誰かやったことある人おしえてください。
文字コードencodingは次考えます。
70:61
07/07/30 23:46:28
プログラムのXXXの部分は適当です。カンマ区切りで出力と仮定しています。
なぜ、Linuxなのに、CRがつくのかがわからないです。
71:デフォルトの名無しさん
07/07/31 00:13:39
JMSって何をする目的で使うのでしょうか?
72:質問です
07/07/31 01:11:55
サーブレット間通信について質問です。
あるコンテキスト内で2つのサーブレットが起動しています。
この片方からもう片方のメゾッドを呼び出すことが出来ることを知りました。
書籍には
Servlet ServletContext.getServlet(String str)
でもう片方のサーブレットを取得できると書いてありますが、
如何せん書籍が古いため、現在このメゾッドはサポートされていないそうです。
同等の機能を実現するためにはどうすればいいのでしょうか?
73:デフォルトの名無しさん
07/07/31 06:17:50
>>61
Servletの設定がそうなっているんじゃない?
>>72
相当古い本だな、それ
そのメソッドをServletではなく共通で使える普通のクラスにすればいい
Servletの何か(パラメータ等)が必要ならば、それを引数に渡せばOK
74:質問です
07/07/31 09:23:13 BE:42319687-2BP(6)
>>73
回答ありがとうございます。
片方のサーブレットが持つ情報をもう片方がほしければ、
その「普通のクラス」のstaticなクラス変数を介してもらえばいいということでしょうか?
75:デフォルトの名無しさん
07/07/31 15:45:43
予約後って全部暗記したほうがいいの?
76:デフォルトの名無しさん
07/07/31 15:48:27
うん
77:デフォルトの名無しさん
07/07/31 16:52:41
Math.abs(-10);
のメソッドの結果がなんで-10じゃなくて10なんですか?
78:デフォルトの名無しさん
07/07/31 17:08:02
[バージョン]JDK1.5
[内容]
java.util.concurrent パッケージの ArrayBlockingQueue と LinkedBlockingQueue は
どのように使い分ければ良いのでしょうか。
URLリンク(java.sun.com)
URLリンク(java.sun.com)
実際にやろうとしていることは、ThreadPoolExecutor 生成でこれらを用い、
・実行されるスレッド数の上限を決めたい(例えば10)
・上限に達したら、submit された際キューに積まず例外で返したい
なのですが、この場合、
ThreadPoolExecutor executor = new ThreadPoolExecutor(10, 10, 0L,
TimeUnit.MILLISECONDS, new LinkedBlockingQueue<Runnable>(10));
executor.setRejectedExecutionHandler(new ThreadPoolExecutor.AbortPolicy());
と言った感じで良いものなのでしょうか。
URLリンク(www-06.ibm.com)
を見ると、LinkedBlockingQueue だと取りあえず受けてしまう様にも見えるのですが、
Javadoc の説明からは読み取りきれず悩んでいます。
79:デフォルトの名無しさん
07/07/31 18:24:09
>>77
Math.abs がどんな機能なのか知ってるか?
>>78
>どのように使い分ければ
Array〜は固定サイズ限定だから、無限にしたければLinked〜を選ぶしかない。
でなければ、別にどっちでも。
>実行されるスレッド数の上限を決めたい(例えば10)
>上限に達したら、submit された際キューに積まず例外で返したい
SynchronousQueue を使う。
他のキューだと、スレッド数が上限に達しても、さらにキューが一杯になるまでタスクが溜まる。
80:デフォルトの名無しさん
07/07/31 18:52:16
>>77
現役中学生に聞いてみれば?
81:デフォルトの名無しさん
07/07/31 18:54:22
>>80
なんで?
Math.absってどういう意味?Mathはなんとなく数学っぽいが。
82:デフォルトの名無しさん
07/07/31 18:56:44
absは阿部さんの略
83:デフォルトの名無しさん
07/07/31 19:12:25
つーかjavadoc嫁よ屑
84:デフォルトの名無しさん
07/07/31 19:44:07
>>82
つまんねぇんだよカス
85:デフォルトの名無しさん
07/07/31 19:48:11
ご、ごめん
86:デフォルトの名無しさん
07/07/31 19:55:48
質問させていただきます。
ArrayList を Iterator で順序アクセスした場合、この順序はもとのリストの順序と一致しないのでしょうか?
87:デフォルトの名無しさん
07/07/31 20:30:05
一致する
88:デフォルトの名無しさん
07/07/31 20:43:36
てか順序が一致しないListってあるの?
Setと違って並びありきなクラスだと思うんだけど。
89:デフォルトの名無しさん
07/07/31 21:05:26
一致しないとまずすぎるだろ常考・・・
90:デフォルトの名無しさん
07/07/31 21:11:38
>>88
no
91:デフォルトの名無しさん
07/07/31 21:13:29
セックル中?
92:デフォルトの名無しさん
07/07/31 21:16:09
回答ありがとうございます。
自分もそう思って、
for (int i=0; i < list.size(); i++) {
// list.get(i) を処理
}
を
for (Object obj: list) {
// obj を処理
}
のように書き換えたら問題がおきたのです。
他の問題があったのかな。
93:デフォルトの名無しさん
07/07/31 21:31:13
どんな問題が起きたんだよw
ClassCastExceptionとかNullPoだったら氏ね
94:デフォルトの名無しさん
07/07/31 21:39:48
>>78
最初にExecutors.newHogeHoge の標準ファクトリメソッドで生成されるものを使うのが推奨されている。
それでダメならばカスタマイズ汁
で、こんな場所で質問しているヤシはマルチスレッドなんかに手を出すべきじゃない
95:デフォルトの名無しさん
07/07/31 21:46:57
こんな場所で質問しているヤシはJavaなんかに手を出すべきじゃない
96:デフォルトの名無しさん
07/07/31 22:23:16
じゃあどの言語がいいんだよ
97:デフォルトの名無しさん
07/07/31 22:53:34
>>96
それをこんな場所で質問しているヤシはプログラムなんかに手を出すべきじゃない
98:デフォルトの名無しさん
07/07/31 23:09:41
じゃあこのスレにいるやつらはなんなんだよw
99:デフォルトの名無しさん
07/07/31 23:31:39
質問があるんですが,アプレットで文字とかを描画するときに,
paintメソッドで,Graphics gとかを引数にとっていると思うのですが,
gが良くわかりません.
他のクラスから,アプレットのメソッドを呼び出したりして,
アプレットに文字列を描画したいのですが,gのところをどうすればよいかわかりません.
どなたか詳しい方教えてください
100:デフォルトの名無しさん
07/07/31 23:43:30
>>99
もしかして、paintを自分から呼び出して描画処理を行おうとしていない?
paintには描画したい内容を記述して、
それを呼び出すのはjavaの処理系が再描画すべき時点でやってくれる。
もし自分から描画させたい場合はpaintを直接呼び出さず、
repaintなどの再描画を促すメソッドを呼び出せばいい。
こちらからアクティブに描画する方法もあるが、
初心者のうちはこういうパッシブ描画でがまんしておけ。
101:デフォルトの名無しさん
07/07/31 23:43:40
>>99
gは大事にしてね。
引数渡しするかキャンバスクラスに実装して使い回せばおk
102:デフォルトの名無しさん
07/08/01 00:16:19
>>101
使いまわしたら生きてるか死んでるかの確認と再生成を自力でやらなきゃいけなくない?
103:デフォルトの名無しさん
07/08/01 00:34:08
すみません、自力では限界なので誰か教えてください。
当方、専門学校の選択でJAVAを取った1年生です。
Eclipseを使ってJAVAをやっているのですが
import model.product;
の行で「インポートされた model は見つかりません。」とエラーが表示され、先に進めず困っています。
このぐらい自力で解決しろ、と思われますが、
検索をかけても解るものがヒットしないのです、どうか宜しくお願いします。
…教諭がソース(コメント、解説無し)のプリントを配布するだけで質問に答えてくれないんです。
104:デフォルトの名無しさん
07/08/01 00:55:35
パッケージを理解しろ。「java パッケージ」でぐぐれ。
srcフォルダの下に、model/product っていうディレクトリはあるのか?
専門学校ってEclipseとかやるんだ。
105:デフォルトの名無しさん
07/08/01 01:37:05
専門学校でツール使うばあい、ツール教える側が理解してなくてカオスってるときがあるけどな。
それでサポやらされる身にもなってみろ。
106:デフォルトの名無しさん
07/08/01 01:51:48
じゃあやめちまえ
107:デフォルトの名無しさん
07/08/01 02:26:30
>>103
>質問に答えてくれないんです
嘘つくな
108:デフォルトの名無しさん
07/08/01 02:32:44
int test[]={80,43,43,32,84};
109:デフォルトの名無しさん
07/08/01 02:40:44
>>103
どこの学校か教えてくれたら、完全な解説を書きます。
110:103
07/08/01 06:19:13
>104
回答有難う御座います、srcというフォルダ自体がありません。
Wikipediaでパッケージというものがどういうものか、一応は理解できたつもりです。
プリントの中に package model.Product; と書かれたソースファイルが無いです…
>105
多分その通りかと…とても若い人で出欠取ったらどこかへ行ってしまいます。
>106
辞めてもいいのですが単位が…
>107
授業中に質問ができなく、職員室に突撃して聞いても「自分で調べろ」の一点張りで…
>109
日本工学院です
111:デフォルトの名無しさん
07/08/01 07:55:06
>授業中に質問ができなく、職員室に突撃して聞いても「自分で調べろ」の一点張りで…
質問に答えるとボロが出るからな
112:デフォルトの名無しさん
07/08/01 11:27:37
>>110
model.product なんてクラスが必要なければそんな import 文は単に消しちまうか、
どっかで使われてるなら model パッケージを作って product クラスを適当にでっちあげればいいんでない。
113:デフォルトの名無しさん
07/08/01 15:00:44
>>103
エラーメッセージをググる事を覚えるといいかも。
例えば「インポートされた は見つかりません」
固有部分を抜いて検索してみるのね。
114:デフォルトの名無しさん
07/08/01 18:11:16
配列のソートがよくわからん。
誰かおせーて。
115:デフォルトの名無しさん
07/08/01 18:12:34
>>114
URLリンク(www.geocities.jp)
ここら辺の話?
116:デフォルトの名無しさん
07/08/01 18:43:30
>>114
Arrays.sort で出来るよ
117:デフォルトの名無しさん
07/08/01 19:18:47
専門学校の教師に聞いた話だが、2年制とかになると早めに辞めさせてしまう方が評価が高いらしい
下手に全員が進級すると教室が足りないんだってw
118:デフォルトの名無しさん
07/08/01 20:07:32
>>117
教室と言うか教室の中にある設備機材のほうだなw
だから講師が生徒潰しにかかって、それに触発されて生徒間も潰し合いし出して
マジで頭おかしくなって精神科・心療内科行く奴が増えて
そっち系の知識が豊富になりつつ、潰し合いに生き残った者たちはどんどん専門学校に洗脳されて外でワケワカメな事言いだすんじゃないか。
そもそも、コンピュータ系専門に常駐してる講師なんて業界の底辺から溢れて食ってけないから講師をry
それを補うためにたまに外部からプロ呼ぶんだろうが。
119:デフォルトの名無しさん
07/08/01 21:48:40
>>118
まるでヒューマ○みたいな専門学校だなww
もっとツールを使わないで一から作る技術を身につけたほうが
いいんだろうけど。
120:デフォルトの名無しさん
07/08/01 22:08:50
ツール類の環境を整えてるのが売りなんじゃ?
まあ、今は学生書があれば激安で一式そろえれるから今は独学でも勉強が。
仕事で使うような自社ライブラリとかはそもそも入手できないし。
仕事で使う数十万から100万するモデリングツールや動画編集ソフト類も無理だろうし。
121:デフォルトの名無しさん
07/08/01 23:09:58
JMSのことが詳しくのってる本かサイトはありませんかね?
できれば日本語希望です。
122:デフォルトの名無しさん
07/08/01 23:16:50
JMSなりActiveMQでぐぐって、最初のリストに出てくるサイトの中に無ければないんじゃね?
123:デフォルトの名無しさん
07/08/02 01:38:04
struts関連の事ですので、多少スレ違いかも知れませんが
ご容赦下さい。
環境:JDK1.5 apache+tomcat struts winXP (+Exlipse3.2 All in One)
アクセスログ出力の為、RequestProcessorを拡張する事に
なりました。(Actionのexecute発行前後でログを出す)
で、今回画面項目のチェック等でvalidationを使用する為、
TilesPluginとTilesRequestProcessorを使用しています。
(参考www.atmarkit.co.jp/fsecurity/rensai/struts03/struts03.html)
上記サイトを参考にし、TilesRequestProcessorをextendsした
クラスをstruts-config.xmlのcontroller processorClass に
指定していますが、何の反応も有りません。
(ロジックを通っていない、エラーも特に起きない)
((エラーが起きる様なロジックをわざと用意しても同様))
で、PukiWiki様の説明によると、TilesPlugin使用時には
TilesRequestProcessorが自動的に指定される、との事でした
ので、ワザとcontroller processorClassに変なクラスを
指定してみたりもしたのですが・・・・やはり何も起きません。
上記の結果、controller processorClass指定時は。
他の設定ファイル(web.xml等)も設定が必要なのでは?
他に設定が無い限り、TilesRequestProcessoの自動指定
が外れないのでは無いか?と疑っているのですが、何か
ご存知の方、他に設定が必要でしたらお教え下さい。
お願い致します。
124:デフォルトの名無しさん
07/08/02 08:07:54
URLリンク(www.atmarkit.co.jp)
URLリンク(www.atmarkit.co.jp)
125:デフォルトの名無しさん
07/08/02 11:15:57
統計ライブラリは何を使ってますか
フリーのものでお勧めのがあればご紹介ください
126:デフォルトの名無しさん
07/08/02 12:17:49
setColorでRGB値で色を作ろうとした時に、
色を格納している変数の名前をr,g,bにしていたところ、
hoge.java:18: シンボルを見つけられません。
シンボル: コンストラクタ Color(int,java.awt.Graphics,int)
場所 : java.awt.Color の クラス
g.setColor(new Color(r,g,b));
というエラーが出たのですが、これどういうことでしょうか?
変数名をred,green,blueに変えたらコンパイルちゃんと通ったのですが、
引数に禁止されてる変数名とかあるのですか?
127:デフォルトの名無しさん
07/08/02 12:33:40
>>126
gの型は何のつもりなんすか。int or Graphics?
128:デフォルトの名無しさん
07/08/02 12:39:59
>>127
あ…Graphics gを引数で受け取ってて、
記憶域の都合で関数外でint r,g,bを宣言してたから
名前が被ってた…orz
Javaは昨日からだけどC/C++は2年くらいやってるのに
何をこんな間違いを…orz
ちょっと吊って来ます。
129:質問です
07/08/02 12:47:08 BE:9069034-2BP(6)
java で特定の日時を保存するには何のクラスを使えば適切なのでしょうか?
130:デフォルトの名無しさん
07/08/02 12:56:48
>>129
君の言ってる保存って何?
ファイルに出力する事?
131:質問です
07/08/02 13:15:19 BE:11335853-2BP(6)
>>129
あ。すいません。
メモリー上で保持することです。JavaPlatform SE 6でお願いします。
Dateかと思ったんですが、ドキュメントをみるとメンバー関数に
推奨されてない的なことが沢山あったので別にあるのかなと思って質問いたしました。
132:質問です
07/08/02 13:42:15
int i;
for (int j = 1 ; j <= 9 ; j++){
i = 2 * j;
System.out.println("2 × " + j + " = " + i);
for文なんですが、出力部分の"+"の意味がわかりません。
どういう意味なんでしょうか?
133:デフォルトの名無しさん
07/08/02 13:45:34
>>131
yyyy年MM月dd日 hh時mm分ss秒のDateインスタンスを作りたいってことね。
java.util.Calendarを使うこと。例えば今日の日付ならこうなる。
Calendar cal = Calendar.getInstance();
cal.set(2007, 7, 2, 13, 32, 40); // 2007年8月2日 13時32分40秒
Date today = cal.getTime();
Calendar#set()の第二引数は月の指定だが、0スタートなので注意。
詳しくはjavadoc参照。
134:デフォルトの名無しさん
07/08/02 13:49:37
>>132
System.out.println("aaa"+"bbb");
表示されるのは「aaabbb」
int x=5;
System.out.println("aaa"+"x");
表示されるのは「aaax」
int x=5;
System.out.println("aaa"+x);
表示されるのは「aaa5」
135:デフォルトの名無しさん
07/08/02 13:50:26
>>132
+は文字列同士の連結の意味
iとかjはintだけど文字列に自動で変換されたあとで連結される
たとえばj=3,i=6の場合、
System.out.println("2 × " + j + " = " + i);
↓
System.out.println("2 × " + "3" + " = " + "6");
↓
System.out.println("2 × 3 = 6");
になる
136:デフォルトの名無しさん
07/08/02 13:50:35
>>132
なんだ、足し算教えろっていってるのか?
137:デフォルトの名無しさん
07/08/02 13:51:45
>>132
文字同士の連結
文字通りの足し算だね
138:質問です
07/08/02 13:52:10 BE:31739876-2BP(6)
>>133
おおお、詳しくありがとうございます(ノ∀`)
参考になりました
139:デフォルトの名無しさん
07/08/02 13:57:15
さすがに千葉工業大学だなw
つりもレベル低いや
140:デフォルトの名無しさん
07/08/02 20:23:37
よくわかったね
141:デフォルトの名無しさん
07/08/02 21:20:10
よくわかるも何も自己紹介してるじゃん
142:デフォルトの名無しさん
07/08/02 21:23:20
Be付けて恥さらし(笑)
143:質問です
07/08/02 21:35:16 BE:7557252-2BP(6)
>>142
ニセ者をニセ物と見抜けないおまいも(略
144:デフォルトの名無しさん
07/08/02 21:44:49
やってることが恥晒しってことだろ
145:デフォルトの名無しさん
07/08/03 10:03:28
JTextAreaで表示するテキストの行間の間隔を変えたいのですが、それっぽい設定が見つかりませんorz
どこをいじれば良いのでしょうか・・
146:145
07/08/03 12:02:22
自己解決しました。
147:デフォルトの名無しさん
07/08/03 12:32:27
してないです。
148:デフォルトの名無しさん
07/08/03 13:07:38
test
149:デフォルトの名無しさん
07/08/03 14:09:41
メゾッド内で引数に与えられたboolean型の値の変更をするために
Boolean型を使おうと思っているのですが、使い方がよくわかりません。
private void _found_error(Boolean error_frag)
{
error_frag = Boolean.valueOf(true);
}
public void readFormData()
{
// 初期値はfalse
Boolean error_frag = Boolean.valueOf(false);
// 内部でtrueにしているはずなのに
_found_error(error_frag);
if(error_frag.booleanValue())
{
// なぜかここが実行されない
}
}
何が悪いのか教えてください
150:デフォルトの名無しさん
07/08/03 14:32:02
_found_error の error_frag が指す先を別のオブジェクトに変えても、
readFromData の error_frag が指す先は変わらないから。
151:デフォルトの名無しさん
07/08/03 14:33:43
>>149
Boolean はimmutableなのでインスタンスの状態の変更はできない。
そしてJavaは全て値渡し。
error_frag の参照値がコピーされて _found_error に渡され、
_found_error ではコピーされた参照値をBoolean.valueOf(true) が戻す参照値で上書きする。
その際、readFromData の error_frag は影響を受けない。
解決法としてはインスタンスメソッドなら error_frag をインスタンス変数にする、
それが嫌なら boolean[] やら class MyBoolean{ boolean flag; } を使うなどして
インスタンスの状態を変更できるものを使う。
152:デフォルトの名無しさん
07/08/03 14:38:54
考えてみれば
error_frag = Boolean.valueOf(true);
ではerror_fragの実体の指す先が変わってしまいますよね、失礼しました。
値を変えたいboolean型をこれらのメゾッドの関数が含まれるクラスのメンバー変数にして
解決することにしました。
どうもありがとうございます。
153:デフォルトの名無しさん
07/08/03 15:10:46
連絡がありません。いいかげんな対応をされては困ります。あと一週間以内に何も連絡が無い場合、
落札者都合で削除すると同時に悪い評価が付きます。
154:デフォルトの名無しさん
07/08/03 15:42:52
ServerSocket.accept()や、BufferedReader.readLine()のような
入力がある、終わるまで待機するような方法を探しているのですが、スレッドを使って値を
155:デフォルトの名無しさん
07/08/03 15:45:24
途中で書き込んでしまったorz
ServerSocket.accept()や、BufferedReader.readLine()のような
入力がある、終わるまで待機するような方法を探しているのですが、スレッドを使って値を
監視する、以外に方法はないでしょうか?なんかこれだとCPUの無駄遣いのような気がしますし
もっと効率のいい方法がないかなと。
156:デフォルトの名無しさん
07/08/03 16:05:35
何を待ちたいのかわからないが、
自スレッドを Object#wait で寝かせて、他のスレッドから #notify もしくは #notifyAll で起こすことはできる
157:デフォルトの名無しさん
07/08/03 16:09:32
それか、複数のソケットを同時に待ちたいってことなら、Selector を使うと幸せかもしれない。
ぜんぜん違う話なら、もっとくわしく・・・
158:デフォルトの名無しさん
07/08/03 18:22:06
初期状態の時にJListが描画(表示)されません。
中央の"set"の下らへんをクリックするとJListが初めて描画される感じです。
これを簡単に解決したいんですが、どうしたらいいでしょうか?
やはり、上の描画部分はCanvasで下はボタン等のパネルにすべきでしょうか?
URLリンク(up.spawn.jp)
159:デフォルトの名無しさん
07/08/03 18:22:51
すいません、"set"じゃなくて"m"です。とりあえず中央のボタンの下らへんにJListがあります。
160:デフォルトの名無しさん
07/08/03 19:00:50
thread内でDBにSELECTしたりINERTしたりする時ってデッドロックって起きる?
同じテーブルの同じレコードに同時にINSERTしたりしたら起きるんかな?
161:デフォルトの名無しさん
07/08/03 20:01:20
>>159
まあ、SwingというかAWTから勉強した方が良い。
162:デフォルトの名無しさん
07/08/03 20:12:21
>>158
とりあえず super.paint(g);
レイアウトマネージャとか、AWTとSwingを混ぜるなとか、色々あるけど、まぁね。がんばれ。。
163:デフォルトの名無しさん
07/08/03 20:18:01
そもそもprintConponent()な。
164:デフォルトの名無しさん
07/08/03 20:20:08
paintComponentじゃね?
165:デフォルトの名無しさん
07/08/03 20:25:51
>>157
Jinputを使ってgamepadからの入力を受け付けるんですけど
Jinputだといわゆるイベント(keyEvent)とかを発行しないんです。
だから現状はいつボタンが押されたか常にスレッドで〜msごとに
どのボタンが押されてるかチェックしてるんですが、
もっと効率よくイベント発行するタイミング(ボタンおされた時)を調べるにはどうしたらいいかなと。
166:デフォルトの名無しさん
07/08/04 00:33:16
jinputなんか知りまへん・・・と言いたいが、そのうち自分も使いたくなるかもしれないから調べてみる。
・・・・・・
だめっぽいね。 一定時間ごとに poll するしかなさそうです。
よく考えたら DirectInput も joyGetPos も自分で取りに行くしかないっけか。。。
結論 → むり
167:デフォルトの名無しさん
07/08/04 09:28:53
ソースコード上に書いたクラスのフィールドやメソッドの順番って、
コンパイル後やHotSpotコンパイラがネイティブコンパイルした後も維持されますか?
どのVMならというのではなくて、言語仕様としてどうなのかなと。
168:デフォルトの名無しさん
07/08/04 10:37:28
ソースの字面出現順にメモリにアラインメントされるかってこと?
それなんて構造体?
javaはレジスタすら動的に配置して定期的にメモリ内容かわってるのに。
ていうか配列すら最適化のために連続しておかれる保証はないのに。
169:デフォルトの名無しさん
07/08/04 11:24:42
>>155
Swingとかでの話か?
1文字入力がある度に、KeyEventListenerで拾って処理するってのが定石
お前さんが思うほど不可はかからない
もしくは、フォーカスが外れたタイミングで処理する
CUIとかでの話であれば、System.in.read() 等はブロックする筈
170:デフォルトの名無しさん
07/08/04 11:54:11
自作classの使用方法についての質問です。
次のような構造でDBにアクセスするプログラムを作成しています。
(Console)--[入力取得と出力]--[データ加工]--[DBAHelperImpl implements DataStoreAccessHelper]--(MySQL)
注 [xxx]:自作Javaクラス、(xxx):システム外部を表します
[DataStoreAccessHelper]は、情報の取得、情報の保存、取得した情報からオブジェクトを作成、
取得した情報をjava.util.Listで戻す、などのメソッドを宣言したインタフェースです。
[DBAHelperImpl]は、そのインタフェースをMySQL用に実装したクラスです。
ここで、[DBAHelperImpl]を使用する方法について調べたところ、3通りの方法が見つかりました。
(1) DBAHelperImplをnewして使用する
(2) DBAHelperImpl内にstaticなインスタンスを作成し、
作成したインスタンスをDataStoreAccessHelperとして戻すメソッドを通じて使用する
(3) DBAHelperImplをDataStoreAccessHelperとして作成して戻すクラスを新たに作り、
そのクラス経由で取得、使用する
私は(1)の方法で使用していたのですが、(1)の方法はあまり勧められないとの記述があり、迷っています。
諸兄のご意見をお聞かせください。
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
5257日前に更新/116 KB
担当:undef