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


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

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



1 名前:デフォルトの名無しさん mailto:sage [2008/11/17(月) 01:09:54 ]
プログラミング言語Javaに関する質問スレです。
JavaScript, Ajaxの質問は、ここでは受け付けていません。
Web製作管理    pc11.2ch.net/hp/
Webプログラミング pc11.2ch.net/php/
をご利用下さい。

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

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

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

過去ログ、関連スレッド、よくある質問とその回答など、
質問をする前に、貴方が見なければならないサイトについての情報は、
下のwikiのページにまとめてあります。
www.wikiroom.com/java/

83 名前:デフォルトの名無しさん mailto:sage [2008/11/20(木) 13:27:28 ]
[aaaa]ssssssという文字列から
aaaaを取り出したいんですがsubStringを使おうにも、[aaaa]の長さは変動しますので
subStringが使えません。なにかいい方法は無いでしょうか?

84 名前:デフォルトの名無しさん mailto:sage [2008/11/20(木) 13:34:07 ]
>>83
String s = "[aaaa]ssssss";
int start = s.indexOf('[') + 1;
int end = s.indexOf(']');
String r = s.substring(start, end);
System.out.println(r);

85 名前:デフォルトの名無しさん mailto:sage [2008/11/20(木) 14:18:12 ]
>>84
たすかりました

86 名前:デフォルトの名無しさん mailto:sage [2008/11/20(木) 14:37:05 ]
>>83
この機に、java.util.regex 辺りをマスターするんだ

87 名前:デフォルトの名無しさん [2008/11/20(木) 14:43:44 ]
swingスレッドがないのでここでお聞きしますが、
guiでのpaintやrepaintはシングルスレッド設計が多いのですがこれはどうしてなのでしょうか?
プロパティに反応してrepaintするときなど、シングルスレッドのままだと順番まちのためpaintがされずに、
ボタンが押されっぱなしのような固まったような状態が0.5秒ぐらいなってしまいこっとの方が大問題だと思います。
似たような現象は今でもfireforxとかでたまにあります。
それでもguiをマルチスレッドにしないのはなにかほかにデメリットがあるのでしょうか。

88 名前:デフォルトの名無しさん mailto:sage [2008/11/20(木) 15:30:41 ]
>>87
java.sun.com/products/jfc/tsc/articles/threads/threads1.html
の最後あたりに書いてある

89 名前:デフォルトの名無しさん mailto:sage [2008/11/20(木) 15:59:34 ]
個人的には、あらゆるイベント処理を漏らさず synchronized でガードしなければならないことを考えると、今のままでいい

90 名前:デフォルトの名無しさん mailto:sage [2008/11/20(木) 16:59:54 ]
>こっちの方が大問題
何と比べて大問題なんだよ。
例えばデッドロックよりも大問題なのか?


91 名前:デフォルトの名無しさん [2008/11/20(木) 17:21:56 ]
そのリンクですけど、guiプログラマーにはthreadの深い理解は不要だとかオーバーヘッドどうとかですけど、
プログラム処理でこれといったデメリットではないと思いますがこの程度が原因でマルチスレッドを捨ててるんですか?

これからguiやデスクトップアプリは2dやnetなどの通信などどんどん大規模になっていって、ほとんどの処理にスレッドの同期・非同期処理が必要になるとおもうのですが、
それでもシングルスレッドなのは何か他に理由があるのでしょうか?

jdkがいくら進化してもシングルスレッドのままだと昔のシングルタスクOSの限界と同じかとおもいます。
デッドロックとかcuiでもあるわけでなくなるわけではないし、guiとなにか関係あるんですか。
仮に全てのメソッドをsynchronizedにしても今のCPUなら全く遅くならないんですけど、それよりも先のようにシングルスレッドの処理待ちのほうが大問題だと思いませんか?



92 名前:デフォルトの名無しさん mailto:sage [2008/11/20(木) 17:36:40 ]
synchronized万能主義者か
synchronizedで囲うだけでマルチスレッド化による問題が解決すると思っているようなら勉強し直すことだ
フレームワークがシングルスレッドであることによるシンプルさを捨てさせてまで
マルチスレッドヘルに飛び込まないといけないほど反応時間を気にしないといけないのなら
自分が作ろうとしているものの設計の方をこそ見直すべきだ

93 名前:デフォルトの名無しさん [2008/11/20(木) 17:40:27 ]
DOMに関する質問です。
あるDTDにvalidなXML文書からDOM木を作成するとします。
普通にXML文書をparseすると文章中の改行やタブもTEXTノード
としてDOM木の中に表現されますよね(規格通り)。

こういった改行等のTEXTノードは削除して、DTD中に定義された
CDATAやPCDATAに対応するTEXTノードのみを残す、小粋な
お掃除方法は無いでしょうか?

94 名前:デフォルトの名無しさん mailto:sage [2008/11/20(木) 17:41:46 ]
GUIってユーザープログラムからだけでなく、OSからの処理も受け付けないといけないんだから、
つーかOSの一部の機能を借りている状態で実行してるんだから、
イベントディスパッチがシングルスレッドってのは納得しやすいと思うんだけど。

別にマルチで自前で書いてもスレッドセーフかどうかさえ気をつければ良いんじゃないの?

95 名前:デフォルトの名無しさん mailto:sage [2008/11/20(木) 17:44:07 ]
>>91
通信のような処理はGUIと無関係なんだから単純にGUIと別のスレッドでやればよかろう
そのことでGUIをマルチスレッドにする必要はないと思うが

仮にこれからそれらが必要になるとしても、swingが作られたのは10年も前なわけだが、
10年後の未来を予測して設計しておくべきだったと? 設計当時の理由はそのリンク先の通りで、
残念ながら(?) 今後来るかもしれないメニーコア時代のことまで考慮されて作られてはいなかった

synchronizedで遅くなることよりも、synchronizedし忘れてバグったり、デッドロック起きたりする方が俺は怖い
それに単純にすべてsynchronizedするんならシングルスレッドと同じじゃまいか
synchronizedかける場所を慎重に取捨選択するのはなかなか面倒な作業だと思うが

96 名前:デフォルトの名無しさん mailto:sage [2008/11/20(木) 17:53:15 ]
最近設計されたGUIでマルチスレッドなものってなにがあるっけ?SubArctic ?
日本語情報が少なすぎて全く使ってないからよくわからん。

97 名前:デフォルトの名無しさん mailto:sage [2008/11/20(木) 18:51:20 ]
JTableってデータを更新する際初期化とか必要ですか?
[1111]
[2222]
[3333]
[4444]
こんな感じでデータが入ってて
そこからsetModelでデータを上書きしたら
[5555]
[]
[7777]
[]
見たいな感じになります。



98 名前:デフォルトの名無しさん mailto:sage [2008/11/20(木) 19:10:44 ]
>>97
試してみたけど大丈夫だったよ
(import省略)
public class Test{ public static void main(String[] args){
final Object[] columns = { "x" };
final Object[][] dataA = {{ "1111" }, { "2222" }, { "3333" }, { "4444" }};
final Object[][] dataB = {{ "5555" }, { "6666" }, { "7777" }, { "8888" }};
final JTable table = new JTable(dataA, columns);
JButton button = new JButton("update");
button.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e){
table.setModel(new DefaultTableModel(dataB, columns));
}});
final JFrame frame = new JFrame();
frame.add(table); frame.add(button, BorderLayout.PAGE_END);
SwingUtilities.invokeLater(new Runnable(){ public void run(){ frame.pack(); frame.setVisible(true); }});
}}

99 名前:デフォルトの名無しさん mailto:sage [2008/11/20(木) 19:11:48 ]
GUIツールキットの多くがシングルスレッドなのは、伝統だと思います。
非同期にやってくるイベントをキューにためて、後はイベントループを
回して順繰りに処理していく方法は一つの成功した設計モデルとして
とても長い伝統と実績があります。

ソースが公開されているGUIツールキットを幾つかバらしてみれば、
多くの場合はイベントループ等の根っこの設計がどれもよく似通って
いる事が分かるかと思います。
また他の部品の振る舞いをあまり意識せずに個々の部品にイベント
ハンドラを書いてイベントを投げるだけでGUIの振る舞いが定義出来
るのも、イベントがシーケンシャルに処理される事を仮定出来る点が
大きいと思います。
そういう意味では、ツールキットを利用するプログラマに「楽をさせる」
良い設計ともいえます。

時代遅れとの見方もありますが、むしろこれに代わるリーズナブルな
設計モデルがまだ無いという辺りではないかと思います。

100 名前:デフォルトの名無しさん mailto:sage [2008/11/20(木) 19:36:48 ]
>>98
すいません・・・別の箇所で問題が原因でした。
ご迷惑をおかけしました。

101 名前:デフォルトの名無しさん mailto:sage [2008/11/20(木) 19:55:17 ]
>>99
イベントがどのタイミングで処理されるのかを
マルチスレッドだと制御できるとは思えないからなぁ。
シングルスレッドだからこそ、予測しやすいわけで。
まぁ、予測ができるだけで、確実にシーケンシャルに実行されるかどうかはわからんのだけど。



102 名前:デフォルトの名無しさん mailto:sage [2008/11/20(木) 19:56:55 ]
どう考えてもシンプルでコストが安いしな。
今のマシンなら楽勝って考えるてるなら、
自分で作ったらいい。環境はあるんだから。

103 名前:デフォルトの名無しさん mailto:sage [2008/11/20(木) 20:19:49 ]
UIがマルチスレッドなら、特別な仕掛けがない限り
UIコンポーネントから取得するデータは、取ってきた時点で
既に古いものになっていると考えなければならない。

こんなもので何を決められようか?

104 名前:デフォルトの名無しさん mailto:sage [2008/11/20(木) 21:50:54 ]
複数のインターフェースを使ってボタンをクリックすることで
画面の切り替えをしたいのですが、この場合CardLayoutを使うと思うんですが
本を読んでもイマイチ分からないので、使い方を教えていただけませんか?

それともCardLayout以外にも画面の切り替えを行う方法はありますか?

よろしくお願いします

105 名前:デフォルトの名無しさん mailto:sage [2008/11/20(木) 21:57:06 ]
JTabbedPaneはどう?

106 名前:デフォルトの名無しさん mailto:sage [2008/11/20(木) 22:29:15 ]
>>105
教えていただきありがとうございます

タブを使うやり方もいいんですが、
できれば、ボタンをクリックしてカードを
切り替える感じのものがいいのですが
ありませんでしょうか?

107 名前:デフォルトの名無しさん mailto:sage [2008/11/20(木) 22:29:35 ]
private static final String TEISUU = "定数";

と定義された定数に対して
インスタンスメソッドの中から、クラス名を付けずにTEISUUにアクセスしてもエラーになりません。
これは何故でしょうか?
具体的には、

class Test{

private final static String TEISUU = "定数";

public void method(){
String var;
var = TEISUU;
System.out.println(var);
}

と書けてしまいます。

文法的には
var = Test.TEISUU;
とすべきではないのですか?

private final String TEISUU = "定数";
としても解決すると思うのですが、
自分が勉強した限りではどの本見ても定数にはstaticを付けてるんですよね。
定数にはstaticを付けるというのがお決まりなのでしょうか?

108 名前:デフォルトの名無しさん mailto:sage [2008/11/20(木) 22:45:57 ]
Javaでどの様にハッキングするの?
どの位の所まで分かる様になったらハッキング系の事出来るの?
JavaでLAN周りを調べる事何て出来るの?
どの様にJavaにネットと通信出来るように書くのか気になる。

109 名前:デフォルトの名無しさん mailto:sage [2008/11/20(木) 22:52:45 ]
>>107
TestクラスのTEISUUの値は,インスタンスの状態にかかわらず常に"定数"になるんでしょ?
それならstaticにするのが自然。メソッドの場合も同様の考え方をする。
Test.を省略できるのは同じクラス内だから。そういうルールだから仕方ない。

110 名前:デフォルトの名無しさん mailto:sage [2008/11/20(木) 22:53:14 ]
>>107
書けてしまうのは文法的に誤っていないから。
文法的に誤っているということだがJLSのどこに書かれているの?
static finalが付いているものは変更不可のクラス変数。
インスタンスごとの変更不可変数であればstaticは不要。

111 名前:デフォルトの名無しさん mailto:sage [2008/11/20(木) 23:39:55 ]
>>109
>>110
ありがとうございます!
自分のクラスのstaticフィールドにアクセスする場合は
クラス名省略できるんですね。知りませんでした。

よく考えてみたらインスタンスごとの定数ってあまり考えられないですね。。
単純に例が少なかったのかな。



112 名前:デフォルトの名無しさん mailto:sage [2008/11/20(木) 23:43:04 ]
>>73
レスサンクス。

同じブラウザで一度フォームデータをsubmit、ブラウザの戻る、またsubmit
っていう操作を何回もしていると、不定期でおきているから、
cookieが未設定とか、ブラウザで無効にしているってのはなさそうなんだよね。
CookieはsetMaxAge(-1)でブラウザが閉じられるまでは消えないから、有効期限ってのも
関係なさそうだし・・・。

Hoge test = new Hoge(HttpServletRequest);
って感じで、Hogeクラスのprivateメンバに保持しておいて、
Hogeクラスのメソッド内で使おうとすると、時々nullになるんよ。

よくわからなかったから、メンバに持たせるのはrequestそのものじゃなくて、
コンストラクタ内でgetHeader("cookie")やってStringメンバに入れておくことにしますた。

113 名前:デフォルトの名無しさん mailto:sage [2008/11/20(木) 23:43:40 ]
定数をインスタンス毎に持っても意味ないからstaticにするぐらいにしか考えてないぜ

114 名前:デフォルトの名無しさん mailto:sage [2008/11/20(木) 23:46:52 ]
Javaが趣味って奴いるの?
個人レベルで何する気なんだ?Javaで

115 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 00:17:07 ]
>>112
待て、おまえはServletにおけるオブジェクトのライフサイクルをちゃんと理解してるのか???
そのHoge testはどこに定義されている?

116 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 00:43:27 ]
>>115
Hoge testはHttpServletのdoPost内でインスタンス化されて、
threadとして動いてます

117 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 01:10:01 ]
スレッドってよくわかんねーーー
スレッドセーフなクラスって何だよ…
横槍ごめんなさい。

118 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 01:19:43 ]
>>116
よくわからん。該当部分のコードを見せろ。Hoge testの定義位置も含めて。
HttpServletRequest/HttpServletResponseの生存期間はHTTPのリクエストを受け付けてからレスポンスを返すまでってことは理解してるよな?

119 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 01:51:32 ]
>>114
Javaが趣味でもおかしくはないと思うが

それより、趣味の何らかの計算とか集計とかに使うと非常に便利>Java

120 名前:デフォルトの名無しさん [2008/11/21(金) 01:52:00 ]
引数の戻り値について、質問です。

class Cara{
int num;
double gas;

int setNum(int n){
num = n;
System.out.println("車のナンバーを" + num + "にしました");

return n;
}

double setGas(double g){
gas = g;
System.out.println("車のナンバーを" + num + "にガソリンの量を" + gas + "にしました");

return g;
}
void show(){
System.out.println("車のナンバーは" + num + "です");
System.out.println("ガソリンの量は" + gas + "です");
}
}

121 名前:デフォルトの名無しさん [2008/11/21(金) 01:57:03 ]
class Sample_return{

public static void main(String args[]){
Cara car1 = new Cara();
car1.show();

car1.setNum(1234);
car1.setGas(20.5);

//戻り値
int nums = //←戻り値を代入したい
double gass = //←戻り値を代入したい
System.out.println("サンプルから車を調べたところ");
System.out.println("ナンバーは" + nums + "ガソリンの量は" + gass + "でした");
}
}

これらの、ソースで
"int setNum(int n){" や"double setGas(double g){"のメソッドように
引数の受け取りメソッドに戻り値を付けて、返す事はできないのでしょうか?
要するに、引数の受け取り処理とreturnの処理を、同時に・・・

因みに、そうした場合、どうすればいいかわかりません
"//戻り値
int nums = //←戻り値を代入したい
double gass = //←戻り値を代入したい
"
ご教授、お願い致します。




122 名前:120-121 [2008/11/21(金) 02:04:00 ]
やはり、このように
class Cara{
int num;
double gas;

void setNumGas1(int n, double g){
num = n;
gas = g;

System.out.println("車のナンバーを" + num + "にガソリンの量を" + gas + "にしました");
}

int getNum1(){ //int型の値を返すメソッドです
System.out.println("ナンバーを調べました");
return num; //呼び出し元に値を返します
}

double getGas1(){ //double型の値を返すメソッドです
System.out.println("ガソリンの量を調べました");
return gas; //呼び出し元に値を返します
}


void show1(){
System.out.println("車のナンバーは" + num + "です");
System.out.println("ガソリンの量は" + gas + "です");
}
}

123 名前:120-121 [2008/11/21(金) 02:07:29 ]
class Sample_return{

public static void main(String args[]){
Cara car1 = new Cara();

car1.setNumGas1(1234, 20.5);


int number1 = car1.getNum1(); //戻り値を持つメソッドを呼び出します、戻り値を変数numberに代入します
double gasoline1 = car1.getGas1(); //戻り値を持つメソッドを呼び出します、戻り値を変数gasolineに代入します


System.out.println("サンプルから車を調べたところ");
System.out.println("ナンバーは" + number1 + "ガソリンの量は" + gasoline1 + "でした");

}
}

受け取り処理のメソッド"void setNumGas1(int n, double g){"
戻り値の処理メソッドは、"int getNum1(){" "double getGas1(){"
のように分けないと、ダメなのでしょうか?

124 名前:デフォルトの名無しさん [2008/11/21(金) 04:02:00 ]
万能主義はあなたの方でしょw
実際は、シングルスレッドすることは全てのメソッドをsynchronizedにするのとほとんど変わりませんよ。
それにsynchronizedは同期のことでしょ?あなたはスレッドを分かってないようですね。

勘違いしているようですけど別にswingのスレッドとかの設計に文句があるんじゃなくて、
どうしてシングルスレッドにこだわるのかって事です。もともとswingはコンポーネントなのであってguiが前提なわけで、マルチスレッドで設計するものかと思います。
swingはピュアjavaというよりも全てpaintで済ますって理念なんで分からなくもないんですけど・・・

125 名前:デフォルトの名無しさん [2008/11/21(金) 04:11:01 ]
>>95
通信の処理とかがGUIと関係あるかではなくて、処理の結果をGUI(のコンポネント)が受け取ります。
それで、計算や処理など既にハード上の能力は十分ですぐ結果が出ても、肝心の表示の方がイベントまちとか
シングルスレッドで0.5...1秒待たされるようじゃそのコンポネント(swing)を使うにはストレスがあります。
たまに複雑なJTableでもあるでしょ、少しもたつくことが。

swing workerにもありますが、計算結果や通信結果の受信はguiと関係なので次のswing frameworkでは切り離したわけで、
だから描画とは関係ないeventやproperty fireとかもシングルスレッドにしてるのはどうしてなのかということです。
将来が予測できるかどうかじゃなくて、マルチスレッドにしてviewを独立させないことは自分自身で未来を潰しているようにみえませんか。

126 名前:デフォルトの名無しさん [2008/11/21(金) 04:33:04 ]
>>99
伝統的に、イベント処理がシングルスレッド(シーケンシャル処理)だからですか。
なんかcui(今ではwebアプリとかサーブレットとか)ではThreadを導入していても、
gui(swingツールキット? invokeLaterなど)の設計の発想は昔のcのシーケンシャル処理・構造処理のままでOO指向じゃなかったんですね。

guiの(コンポネントじゃなくて)次のツールキット設計は、その古いシーケンシャル処理からの分離してコンポネント間の独立で
正しくOO指向のツールキットでしょう。最近guiやMVCなどの概念を使って、自作のコンポネント開発してみてるんですけど、
awtパッケージやawt.Toolkitはマルチスレッド設計ですよね?それで開発しているとよく気になって、swingは描画と
関係ない処理・イベント受付が絡み合ってるみたいなんでその辺りをすっきし指せれば別に遅くもないし、
透明かも擬似的に出来るし、逆に洗練され使いやすいんですけど。

SUNがswingに関心をもたなくなって次に向いている理由もなんとなく分かります。

127 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 08:44:26 ]
>>126
お前は、Sunが何故GUIのマルチスレッド化を諦めたのかをちゃんとしらべたほうがいい。
AWTは失敗だった、マルチスレッドでGUIを「正しく」実装するのは現実的には不可能だ、と言ってるんだから。


128 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 09:23:05 ]
AWTはマルチスレッド対応じゃねーし、
マルチスレッド対応だから失敗したわけじゃないでしょ。

129 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 10:59:18 ]
こんなGUIのフォームを作りたいんですが、
その中でいくつか質問があります。

テーブルA  ボタン  テーブルB
ID Name        ID  Name
[1 ][A ]       [1 ][E ]
[2 ][B ]  (追加)  [2 ][F ]
[3 ][C ]  (削除)  [3 ][G ]
[4 ][D ]       [4 ][H ]

1.テーブルID項目は非表示にさせたいけどできますか?
2.テーブルAセルを選択した状態で追加ボタンをおしてテーブルBに追加したいんですが、
 選択したセルの情報を取得する方法はありますか?

以上です。よろしくお願い致します。

130 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 11:16:02 ]
>>129
できますか、ありますかといわれたら、できますありますと答えるしかないw

131 名前:デフォルトの名無しさん [2008/11/21(金) 11:19:12 ]
>>130
やり方を教えてほしいです。




132 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 11:23:06 ]
あげてすいませn

133 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 11:27:23 ]
Java低速GUI Swing 8
pc11.2ch.net/test/read.cgi/tech/1227234261/

134 名前:31 [2008/11/21(金) 11:35:33 ]
エクリプスにアプレットプラグイン追加してやってみたのですが
>>32と同じエラーがでます。

どうやら画像が読み込めてないようなのですがどうしたらいいのでしょうか?

135 名前:デフォルトの名無しさん [2008/11/21(金) 11:44:25 ]
>>127
SUNはどうしてGUIのマルチスレッド化を諦めたんですか?
GUIとマルチスレッドはあまり関係ないんで当然だと思うんですが、何を正しく実装するんでしょうか?

136 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 11:51:34 ]
起きたばっかりで書き込んで所々重大な誤字がありますね。
少し誤解があるみたいなんで直しておきましたw

計算結果や通信結果の受信はguiと関係ないので、次のswing frameworkでは切り離したわけで、

古いシーケンシャル処理からの分離してコンポネント間の独立で、まさしくOO指向のツールキットでしょう。



137 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 12:01:27 ]
それでJavaFXの方はJavaとは独立してリッチ何とかと宣伝してるんでけど、結局は新しいツールキットなんですか?
それともswingみたいなコンポネント(デベロパ)の延長なんでしょうか?

nativeピアで透明化が可能なawt.Windowが(ネイティブ依存でも)取得できれば、
awtとjava2d,3dでなんとでも出来る感じがしますけど。ただswingがなくなる事はないでしょうけど、
java seはOS依存と思われるシステムトレイもサポートしたので、そのうちそんなwindowの取得も出来るんでしょうか。

138 名前:31 [2008/11/21(金) 12:08:34 ]
読み込み方法を変えたら無事に動きました。

139 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 13:02:16 ]
>>126
webアプリがマルチスレッドになってるのはwebアプリにはクライアントが複数あるから。
基本的には 1クライアントに対して、一度に 1スレッドしか動かないようにするわけで。

140 名前:デフォルトの名無しさん [2008/11/21(金) 13:25:22 ]
それと同じような構造でgui toolkit frameworkを作ればいいんじゃないですか?
今のハードならスレッドにしたところでたとえすべて同期にしたとしても全く問題ないわけで。
webやデータベース問い合わせはすぐ処理が終わりますが、paintは少し計算が必要なだけでそんなのは今のハードなら屁でもないでしょw

今の時代のguiコンポネントは、テキストフィールドとか情報表示程度なので多少もたつく程度であまり気にならいのでしょう。
プロパティ更新などのイベントとpaintは全く関係ないのでこの辺りを切り離なせばswingはかなり有用なコンポネントになるんじゃないでしょうか。

問題もわかったことなので作るのはそんなに難しくはないのですが、どっちにしてもこんな根底部分の機構は私一人ではどうにもならないものなので、誰かjava.net辺りのプロジェクトで提案してリードしてくださいなw

141 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 13:32:07 ]
不満があって知識があって明確な目標があるのに何で自分で実装して提示してみないんだろう。
最初から実用に供することのできるGUIフレームワークなんか期待していないけれど、
スレッドセーフな小規模実装を出して技術的実現性とその有用性を示して見せれば否定的意見は減ると思う。
俺としてはGUIのスレッドセーフ化をsunが諦めたのは分からんでもない。



142 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 13:33:58 ]
言いだしっぺがやるべき

143 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 13:38:11 ]
>>140
それを自分自身で提案すればいいじゃないか
文句を垂れてみせるだけでもいろいろ意見が出てくるはずだぜ
だれも>>140自身にコード書いてみせろとは言わんよ

144 名前:31 [2008/11/21(金) 13:40:14 ]
プログラムは>>31と同じです。

画像を変更したら、うまく赤い枠で囲むことができなくなりました。
もっと精度よく検出するにはどうしたらいいでしょうか?

実行した画像
www2.uploda.org/uporg1799104.jpg

145 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 14:08:09 ]
Executors.newSingleThreadExecutor();で処理すれば
マルチスレッドの勉強しなくてもよくない?って思ったんですけど
考えが甘いですか?

146 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 14:21:16 ]
勉強しないで取捨できるって天才だな

147 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 14:21:38 ]
例えば
メッセージ: 「実行時にフォーマットを行いますか?」
ラジオボタン: 「はい(デフォルト)」「いいえ」 ボタン: 「実行」

なんてダイアログがあって、次のイベントが入ってくるとします。

(1)「ラジオボタン[いいえ]をクリック」 (2)「[実行]をクリック」

この場合、入力イベントがシーケンシャルに処理されるのであれば
(2)のイベントを処理する段階では(1)が既に処理されている事を概ね
仮定出来ます。ラジオボタンの現在状況を気にせず、選択状態を示す
内部変数を参照して処理を開始できます。
ところが、このラジオボタンはとても重要なので"シャッキーン"とか
派手なビジュアルエフェクトの後に内部変数を[いいえ]側に倒す実装の
場合はどうでしょう。
となると[実行]ボタンの側では処理を開始する前に、ラジオボタン等々の
処理内用に関連する全てのGUI部品向けのイベントが全て処理済みで
あるか確認する必要があります。
もし個別のGUI部品が非同期にイベントを受領して処理する事が可能
なのであれば、プログラマは常に部品間の依存関係に注意して適切に
ロックなどを設計する必要があります。これが結構大変。

あるいは、高度なユーザーであれば、ダイアログボックスの生成に要
する0.5秒より短い時間でいいえ「付近」と実行「付近」をカンでクリック
してくるかも知れません。
ラジオボタンの生成やpaintが完了する前に[実行]ボタンがイベントを
受領してしまうと、どうでしょう。

148 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 14:22:41 ]

いずれにしても上記の(1)->(2)というイベント「順」で表現された
「フォーマットはしないで、実行」という「文脈」を正しくとり
扱う必要があります。GUIの側は非同期処理で実装されていてもOK
ですが、その処理内容は常に上記のイベントの入力順番を意識する
必要があります。

まとめると、ユーザー操作のイベントは個々が単発で存在している
のではなく、「[いいえ]をクリック」「[実行]をクリック」とその
イベント列で表現された文脈の中に存在しています。
さらにGUIを持つアプリケーションは、多くの場合内部状態をもって
いるステートフルなアプリケーションです。
ステートフルなアプリケーションは非同期に入力されるイベントを
適切に取り扱うためにキューやロックを慎重に設計する必要がある、
これはGUIのみならずアクセンスカウンターからAmazonに至る
全てのウェブアプリケーションについても同じ事です。

ただGUIは内部状態の更新を引き起こすイベントの粒度がウェブに
比べより細かく、数も多いです。
また前述のようにイベント列は文脈をもっています。
この問題に対してイベント列をキューにためて順繰りに処理を行う
方法がプログラマが管理しやすい「現実的な」解として長らく支持
されてきたのだと思います。

もし現在の実装よりマルチスレッドなGUIツールキットの開発を目指
しているのであれば、個人的には入力イベントの文脈依存性をどの
ように取りさばくのか、その実装アイデアに興味があります。

149 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 14:57:13 ]
>>147
一つのアイデアとして、そういうことはやらない、ってのはどうかな?

150 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 15:27:18 ]
>>147
1.フェイルセーフの観点からは、「フォーマットしない」をデフォルトにすべき
2.内部変数のセットは、「シャッキーン」の前に実行すべき

151 名前:デフォルトの名無しさん [2008/11/21(金) 16:23:06 ]
>>150
いや・・・全くそのとおりなのですが・・・

要はイベントの入力順を気にせず処理できるものからパクパク
処理していくと時に致命的な結果を招きかねませんよ、という事を
説明するために無理矢理作った例です。寝ないで考えたのに〜。



152 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 16:29:09 ]
マルチスレッドGUI君は、自分の答えやすいレスへしか返事してないな。
なんというチキン。

153 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 16:49:31 ]
>俺としてはGUIのスレッドセーフ化をsunが諦めたのは分からんでもない。

デッドロックとかも心配しるようですが、スレッドセーフは同期の問題なので、guiのpaintとは全く関係ありませんよ。
これでもまだ分からないなら、たぶんスレッドの本質部分があまり分かってないんじゃないでしょうか。

少なくともguiやpaintを上手く設計したところで、デッドロックがなくなるわけではないでしょw

せっかくOO指向をサポートしている言語なのに、paintを従来型のツールキットにあるイベント処理(ロジック)か何か勘違いしてるんでしょうね。

154 名前:デフォルトの名無しさん [2008/11/21(金) 16:57:41 ]
>>147
たぶんそれは、jsr提案で次のswing frameworkにあるSwignWorkerで分離してると思うんですけど。

イベント処理つまりイベントのデータの取得、計算、結果の過程と、描画paintを区別・分離した実装
のことを書いてあるんですがお分かりになりませんでしたか?

実装にもよると思いますが、OO指向的には、計算とその表示は別に連動している必要はありませんよ。
どうしても連動させたいならsynchronizedでしょうかね。といってもスレッドのことわかってないみたいなんで、
そういう方はリンク先にもありましたけど、you do not have to understand the thread or sync deeply.とかなんですかねw

155 名前:デフォルトの名無しさん [2008/11/21(金) 17:11:25 ]
>>148
あなたに技能があり、そのようなツールを開発してたりオープンソースに多少でも関係してるなら答えてもいいんですけどね。
というよりも、もし個人そういうことをやってたり考えてるなら、オープンソースのグループに参加してみると今までのあなたの狭い見識が一気に変わりますよw
私が見たところ、従来型のシーケンシャル処理とイベントキューから抜け出せず、さらに計算結果とその表示を連動させようと四苦八苦しています。
まさに、cuiやcの時代の思考方法でしょうかw

>さらにGUIを持つアプリケーションは、多くの場合内部状態をもって いるステートフルなアプリケーションです。

例えばこの一文でも、OO的な極端なところでは、その内部フィールドを全てクラスにして同期にすればなんとでもなりますよw
イベントキューの順次処理はそれが一番単純で確実で実装も容易なので問題ないのですが、
この順次処理とguiのpaintは連動している必要はないので、そういった発想の転換が求められてるんじゃないですか?

アイディアとかも、別に私より上の方々が既に実験実装してるんで、そっちに参加した方が面白いですよw
java 2d程度の数学知識があれば、flushのライブラリとかも普通に作れるし、そんなに難しくないんですけど、
とにかくイベントキューでpaintがもたつくのは数学では解決できずawtやswingなどツールキットの問題です。

156 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 17:39:39 ]
swingの設計について不満があるのはわかったが、
ここで何を言っても開発者に届くわけじゃないし意味ないと思うよ

157 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 17:48:28 ]
swingの開発者にこんな訳分からんのが届いちゃってもマズいと思うが。
時間の無駄だしストレス増加するだろうし。
swing開発者がハゲちゃったらどーすんだよ。

158 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 18:04:23 ]
>>155
う〜ん、なので私自身は最初に「伝統です」と答えたのです。
正直あなたがどの程度の知識を持ち合わせているのか分からなかった
ので、「どうしてそのような伝統なのか」という事情を具体例を挙げて
説明しようと試みました。
どうやら完全にスキルを読み違えた返答になってしまったようで申し訳
ありません。

確かに私はGUI方面からは暫く離れた古い人間で、しかも当時の専門
はどちらかというとVRとかいったやや特殊な表示方面でした。
ちょっと昔の事例ですが、CaveLib辺りを弄くっていました。
で、同期には大変苦労しました。

確かに仰る通り計算と表示は必ずしも同期する必要はありません。
(特にVRでは「しない」前提でないと設計できない事が多いです)
問題は、ユーザの操作シーケンスと計算(というかアプリケーションが
実現する処理一般)の内容は一致させる必要がある、という点です。

で、これを実現するためには描画は別CPUに丸投げ、とは案外いか
ないなというのが実感でした。
少なくとも再描画周りであればLayoutまではきっちり首に縄を付けて
おかないと、「座標xyzをクリック」というイベントを「部品Aをクリック」
といった論理イベントに解釈するところで大いにハマります。
でも分散しないとフレームレートが上がらない、ので苦労しました。

なので、仮に最近のOOを用いたアプローチでより洗練された設計
モデルが実現されているのであれば大変興味があります。
(興味、ですよ。今はこの分野からは離れているので。)
もしある程度確立したモデルがあれば教えていただけると幸いです。
あるいは参考になる実装なりプロジェクトがあれば幾つか挙げて
もらえないでしょうか?

159 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 18:05:52 ]
なんで2chでやるかな

160 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 18:13:46 ]
やっぱSwingよりSWTだよね!
・・・SWTに詳しいサイト教えてください><

161 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 18:14:28 ]
「Java並行処理プログラミング」に、その辺の事情が説明されている
イベントドリブンモデルでは、リソースに適切な順序でロックをかけるのが非常に難しい

Swingも当初はマルチスレッドを狙ったらしいが、
途中で無茶だと分かりシングルスレッドに変更とのこと
「マルチスレッドのGUIフレームワークは、非常に慎重に設計すれば無理ではないだろうが、
マルチスレッドの専門家しか扱えない代物になるだろう(大意)」とは、Sunの偉い人の弁



162 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 19:33:38 ]
>>161
どこで読んだか思い出せず、よーやく発掘したと思ったら先を越されたorz
まー、これだけでは何なので、p.214より一部抜粋。
> マルチスレッドのGUIフレームワークを作る試みは過去にいろいろありま
> したが、どうしても競り合い状態やデッドロックの問題に付きまとわれる
> ので、結局全員があきらめてシングルスレッドのイベントキューを使う
> 方式に落ちつきました。《略》(AWTは最%8

163 名前:162 mailto:sage [2008/11/21(金) 19:37:11 ]
途中で切れたorz 以下続き。
>《略》(AWTは最初、相当本格的なマルチスレッド
> アクセスをトライしましたが、その失敗の経験に基づいてSwingはシングル
> スレッド方式になりました。)
何故うまくいかなかったかについては、上記以降のパラグラフに書いてある
が、ここに引用するには量が多いので、詳しくは該当書籍をあたってくれ。

まぁ、上記の問題については、>>140が画期的な案を持っているようだから、
ここで開陳すると乗ってくるやつがいるかもしれんぞ。過去のGUI専門家が
皆諦めたくらいだし。

164 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 20:09:19 ]
おまいら、
>実際は、シングルスレッドすることは全てのメソッドをsynchronizedにするのとほとんど変わりませんよ。
こう書いてある時点で、釣りであることに気づけ。

165 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 21:05:38 ]
マルチスレッドなGUIのメリットってなんだろ??
シングルスレッドなデメリットってほとんど回避できそうなんだけど。

166 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 21:32:02 ]
結局そこに尽きる
苦労しても実入りが少ないから誰もやらない

167 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 22:52:17 ]
>>135
素人考えだが、マルチスレッドにしたらそれぞれがフリーダムに動いて
フリーダムなの動きがお互いに悪影響で、
それを回避するためにあれこれしてたらあはーんなんじゃないだろうか

168 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 22:56:38 ]
どうでもいいことで盛り上がってるな!

169 名前:デフォルトの名無しさん mailto:sage [2008/11/21(金) 23:38:36 ]
マルチスレッドはマルチコアと関係ありますね?

170 名前:デフォルトの名無しさん mailto:sage [2008/11/22(土) 00:27:36 ]
>>118
今手元に無いのでちょっと出せませんが
>生存時間
これを理解してなかった・・・。

Hoge testが動き始めたときには、すでに呼び出し元の
Servletはレスポンスを返し終わってるから、だめってことか。
ありがと

171 名前:デフォルトの名無しさん mailto:sage [2008/11/22(土) 02:34:23 ]
オブジェクトの再利用ってのは
test a = new test()
test b = new test()

っていう風に同じオブジェクトをインスタンスしたということですか?



172 名前:デフォルトの名無しさん [2008/11/22(土) 02:37:47 ]
スレッドだいぶ勉強したんで、なんかソースみたいんだけど
あんまりネット上にないね。マルチスレッドを実務でつかうことも
ほとんど俺の場合ないから、無駄というか、不満なんだ。

スレッドを使った面白いアプリを組んでみたいなあ。だれかソースくれ。

173 名前:デフォルトの名無しさん mailto:sage [2008/11/22(土) 02:39:31 ]
>>171
毎回newし直さずに一度newしたインスタンスをずっと取っておいて何度も使いまわすことを指すんだと思いますが

174 名前:デフォルトの名無しさん mailto:sage [2008/11/22(土) 03:16:32 ]
>>172
つWebサーバ
……に限らず、Javaで書かれたサーバ系のソフトはふつーマルチスレッドと思われ。

175 名前:デフォルトの名無しさん [2008/11/22(土) 04:53:56 ]
>>158
VRというと1995年頃のあれでしょうか。
たぶんどんなに有用なりソースを紹介したところで、あなたの脳みそが順次処理(フローチャートw)に染まってるようなのでいくらUMLやOOを勉強しても無駄だと思います。
今でもまだ理解が足りませんが、私もOOの発想に切り替えるのに苦労したんでw
今教えて差し上げられる事は、先も書きましたがVRっぽくいえば、「大量の頂点座標の計算結果は、とくに描画せずに破棄してもよい」ということでしょうか。
ただ、同期しないといけないところは当然そのオブジェクトが有機体として一つになっているので、

例えば、首は右を向いた(イベント)なのに、胴体だけはpaintが追いつかず、表示しても首が180度回っちゃっているオーメンの呪われた少女wみたくなってるわけです。
これは、上のswingのように、胴体だけは座標計算は終わっているがイベントキューのためにpaint命令がつまっていてpaintが追いてないわけです。
ただこれも解決法がいくつもあるんで、こういうのは(数学上・手続き上で解決できる程度の)アルゴリズムとかですかねw

従来と同じ問題がありますが、100人でやる2人3足のように、そういう足が遅いものは他のオブジェクトからすると迷惑だと思いませんませんか?



176 名前:デフォルトの名無しさん mailto:sage [2008/11/22(土) 05:25:20 ]
>問題は、ユーザの操作シーケンスと計算(というかアプリケーションが 実現する処理一般)の内容は一致させる必要がある、という点です。

3Dとか複雑なアプリを作るぐらいになっているなら、プログラムをその場しのぎの独学でやるんじゃなくて、
ちゃんと数学知識の裏づけを持って作ってみたらどうでしょうか。
たぶんこの一文から見てもあなたは小技をいっぱい知ってるが・・・って程度なのが分かります。
例えば、1秒で60フレームとかにこだわらず、10フレームでいいんじゃないでしょうか。それが今のソフト上の限界なのかもしれませんが、あなたの発想は、数学ではなくて、その限界を飛び越えようとする哲学か何かをもってるんじゃないですか?

しかしその小技もシーケンシャル処理だと通用しても、オブジェクト指向だとまったく通用しなくなるんで、その辺りの発想が抜けてないんじゃないかと思います。
別に小技がダメだとかOOがいいんだとか言うのじゃなくて、class数が多くなったアプリだと一人のデベロパがそれを理解することや管理するのが不可能で、もう既にシーケンシャルの発想のままじゃ無理ですよ。

>なので、仮に最近のOOを用いたアプローチでより洗練された設計

javaなら、javafxとかですかねwまだアルファみたいですけど、このプロジェクトが完全中止になる事はないでしょう。
他には、頑張ってるみたいですけど、adobe flashとかも正当な2d guiの進化をしている気がします。


177 名前:デフォルトの名無しさん mailto:sage [2008/11/22(土) 05:26:47 ]

>イベントドリブンモデルでは、リソースに適切な順序でロックをかけるのが非常に難しい

だから、コンポネントを「情報表示のコントロール」と考えるとイベントと連動する発想で実装したくなりますが、
「コンポネントは独立していて、一種のアニメーションである」とかだと発想も変わるんじゃないですか。
旧来の発想ではいくらハードが進化しても描画イベントまち(paint)でもたつくわけで、これはソフト(toolkit)の描画機構の問題です。
つまり「コンポネントはイベントと連動して表示しなければならい」という発想が今の限界になってるんじゃないでしょうか?

これだけ問題点が出てきてるんで、後はこれを解決するような設計や機構をUMLとかで作るだけですよw
いくらguiが2dや3dを容易に扱えるようになっても、情報結果表示専用コントロールなどといった発想のままでは今後もテキストエリア程度のまま次の10年がすぎるんじゃないかなと思います。


178 名前:デフォルトの名無しさん [2008/11/22(土) 05:31:11 ]
質問させて頂きます。
仮に
KeisanというClassに
public int add(int x, int y){
return x + y;}
というメソッドがあるとし、このメソッドをKeisan以外のクラスで使用するにはどうすればいいのでしょうか。
よろしくお願いします。

179 名前:デフォルトの名無しさん [2008/11/22(土) 05:45:42 ]
なんか勘違いしてたのですが、オーメンじゃなくてエクソシストの少女でしたw
最後は神父さんが興奮のあまり2階の窓からダイブしちゃうアレですw

images.google.co.jp/images?gbv=2&hl=ja&q=%E3%82%A8%E3%82%AF%E3%82%BD%E3%82%B7%E3%82%B9%E3%83%88&btnG=%E3%82%A4%E3%83%A1%E3%83%BC%E3%82%B8%E6%A4%9C%E7%B4%A2


180 名前:デフォルトの名無しさん [2008/11/22(土) 06:09:00 ]
>>178
インスタンス化してaddメソッド呼び出しするんじゃないの?

181 名前:デフォルトの名無しさん mailto:sage [2008/11/22(土) 06:10:33 ]
並列処理の人もいるみたいなんでコメントしておきますが、

>イベントドリブンモデルでは、リソースに適切な順序でロックをかけるのが非常に難しい

これもすぐにソリューションが浮かびますよw
ただ私は仕事や専門でやってるわけでも報酬をもらってるわけでもないので、それをお答えするつもりはありません。

一番大事な事は、その問題の効率的・合理的な答えが存在することじゃないですか?
たぶん、並列処理のツールを実際何かで使ってみたり、簡単なGCを実装してみたりすると、あなたもよいアルゴが浮かんでくると思います。

今作ってるのはグラフ理論ですかね。
bkv.so-net.ne.jp/
iv.xight.org/
みたいのでしょうかw
というよりも、今までの私たちの発想になかった次世代のコンポネントの感じがしませんか?




182 名前:デフォルトの名無しさん [2008/11/22(土) 06:13:24 ]
インスタンス化する方法を教えてください。もしくはTUTORIALなどのリンクなどでも結構です。

183 名前:デフォルトの名無しさん [2008/11/22(土) 06:14:51 ]
new か?

184 名前:デフォルトの名無しさん [2008/11/22(土) 06:18:34 ]
>>175

>たぶんどんなに有用なりソースを紹介したところで、あなたの脳みそが
>順次処理(フローチャートw)に染まってるようなのでいくらUMLやOOを
>勉強しても無駄だと思います。

またまた、そんな出し惜しみせずにw
無駄かどうかは自分で判断しますし、少なくともコードは読めますから、
まずは具体例を列挙してもらえると大変助かります。
特に「実験実装」事例に興味があります。

>>adobe flashとかも正当な2d guiの進化をしている気がします。

幸いFlashについてはFlexについてライブラリの構造やイベント処理周りに
関してある程度理解があります。これまでの議論と関連して、どの辺りが
特に優れていると感じられますか?

一つ気になったのは、重いイベントの破棄や、フレームレートの程度や、
コンポーネントと描画の連動の是非は基本的にアプリケーションの仕様
で決まるものであり、OO等の設計論とは別の問題ではないでしょうか。

もう一つ判然としないのは、マルチスレッドの適用範囲です。意図されて
いるのは全体をざっくりMVCに分けたとして、MとVとCの間の結びつきを
非同期にすることを考えられていますか?
それともV相当の部分もより細かく分割して、内部を非同期で処理する
ことを目指されているのか、どちらでしょうか?

185 名前:デフォルトの名無しさん [2008/11/22(土) 06:30:10 ]
>>182
Keisanクラスをimportして普通にnewじゃないかな?
間違ってたらごめん。

186 名前:デフォルトの名無しさん [2008/11/22(土) 06:56:04 ]
jdkにあるdemoにグラフ理論のデモ・アプレットがあるので(先のリンクと全く同じものです)
それを参考にしたらどうでしょうか。今までの考え方が全く代わりますよ。

flashはもともとアニメーションから始まっているってことを知っているなら、
今までのコンポネントの設計・利用の発想と全く違うし、
MVCは完全に分離されているって事が理解できるのかもしれませんw
あなたのイベントに依存しているpaintモデルは、wikiの記事にもありましたがVCがくっついてるものですかね。

swingやツールキットの設計がOO思考じゃなくて従来のイベント処理を土台にしてるって事なので、
それを利用するアプリは否応なくイベントドリブンの作法に従わなければならないってことでしょう。

いま自作でグラフ論理ライブラリを作って実験してるところなのでなんともいえませんが、
仮にswingと全く逆のアプローチで、全ての視覚コンポネントをnew Thread(comp)としても、人間の感覚に触るようなストレス・コストはありませんよ。
それよりもpaint待ちの0.5秒問題の方がストレスな気がします。

VについてはSwingWorkerのようなソリューションで、内部の描画には触らないほうMVCの完全分離となるんじゃないでしょうか。
コンポネント・コントロール(extends java.awt.Component)は、自分でつくったもののみしかダメって訳じゃないでしょう。

最終的にはレイアウトマネージャの自作実装になるんでしょうけど、まだそこまで手が回らないんですが、
ネットではレイアウトマネージャの実装解説はあまりないですね。
ボタンとかリストぐらいなら、コンテナサイズ変更不可かつnull layoutでいいんでそんなに難しくないんですけど、これは一応guiですが実質的にコマンドライン・プログラムでしょう。

これだけヒントがあれば、必要最小でシンプルなadobe flashライブラリflexの自作などもそんなに難しくないでしょう。

187 名前:デフォルトの名無しさん mailto:sage [2008/11/22(土) 08:17:45 ]
最近の情報視覚化やってる連中って「グラフ理論やってる」って自称するもんなのか?

188 名前:デフォルトの名無しさん mailto:sage [2008/11/22(土) 08:21:12 ]
>いま自作でグラフ論理ライブラリを作って

ええと、ここは多分グラフ「理論」の事ですよね。グラフ論理だととても
意味が変わってくるので一応確認します。
つまりこれは、グラフ理論を用いて例えば描画にまつわる依存関係や
制約問題を解くライブラリという事でしょうか。

あるいはばねモデルによるインタラクティブなグラフ表示のような、
グラフ「を」描画するライブラリの事でしょうか。
TouchGraphやPrefuseといったライブラリに相当するものでしょうか?

あとFlashがMVCに完全に分離されている、というのは正直どのような
視点から述べられているのか不明確です。MVCのそれぞれに対応する
Flashの構成要素を具体的に示してもらえますか?

189 名前:デフォルトの名無しさん [2008/11/22(土) 08:24:02 ]
>>185
Thanks!やってみる。

190 名前:デフォルトの名無しさん mailto:sage [2008/11/22(土) 08:53:53 ]
これ人工無能だったら良い出来だよな

191 名前:デフォルトの名無しさん mailto:sage [2008/11/22(土) 09:06:18 ]
初心者の質問が無くなるから他でやれ



192 名前:デフォルトの名無しさん mailto:sage [2008/11/22(土) 09:29:45 ]
どこいっても迷惑がられると思うんだが

193 名前:デフォルトの名無しさん [2008/11/22(土) 10:07:23 ]
デバッグってなんですか。

194 名前:デフォルトの名無しさん mailto:sage [2008/11/22(土) 10:38:15 ]
>>193
鞄の中身を取り出して、
要らない物があったら棄てて
また入れ直す作業の事です。

あ、depackかorz

195 名前:デフォルトの名無しさん mailto:sage [2008/11/22(土) 10:49:39 ]
livedoorブログを使ってます。
Javaのソースコードをブログの記事に載せたいのですが
如何も奇麗に載せられません。

ソースコード HTML化 コンバーター「唐辛子」も
使ってみましたが奇麗に表示しません。
使い方が間違ってるのでしょうか?

何方かlivedoorブログでソースコード等を奇麗に表示されてる方及び、
奇麗に表示させる事をご存知の方教えて頂けませんか?
よろしくお願いします。

196 名前:デフォルトの名無しさん [2008/11/22(土) 11:11:40 ]
>>182
x = new Keisan();
int y = x.add(1, 2);

197 名前:訂正 [2008/11/22(土) 11:12:23 ]
>>182
Keisan x = new Keisan();
int y = x.add(1, 2);

198 名前:デフォルトの名無しさん [2008/11/22(土) 12:38:48 ]
>>188
あなたの文章を読んでいると、あなたは根っからのPG職人ってところですかねw
もし興味あるなら、まずはGraphcis2Dを使えるように勉強したらどうですか?
それと、あなたはいつまでも自分の意見を変えない宗教っぽい人だとおもんですけど、
一筆書き問題を計算して、その結果を表示する事、さらにどの位置にどのような表現で表示するかは、全く別ってことでわかるんじゃないでしょうか。

今作ってるライブラリは根底部分はjdk1.1のアプレットで動かすためにコレクションもMyHashtable, MyVectorとかで自作してるし、
classファイルが100を超えてるんで、UML知ってるかどうか以前にOO指向じゃないと一人では管理する事は明らかに無理です。
というか、こういう苦労話を聞きたいわけじゃないでしょw

199 名前:デフォルトの名無しさん mailto:sage [2008/11/22(土) 13:24:55 ]
人工無能のソフトウェアパターンとして、
「はい」か「いいえ」かで答えられるような質問に対しても明示的に答えず、
駄文で文字数稼いで如何にも答えているかのように見せかける
というのがあるのでしょうか。

200 名前:デフォルトの名無しさん mailto:sage [2008/11/22(土) 13:27:55 ]
>>186
お前、以前ここで、JFrameが数十回に1回白くなるのはバグだとか
アホを晒してみんなに呆れられてた奴だろ?w

201 名前:デフォルトの名無しさん mailto:sage [2008/11/22(土) 13:54:09 ]
>>198
いやぁ、宗教ぽいというより、単に疑問点に対してしつこいだけですよw
どうもあなたのレスの中には次々と新鮮な視点が提示されるため、それらに
対する疑問が解けないうちは意見も変えようが無いじゃないですよね。

特にFlashとMVCの対応は是非とも説明していただけると有り難いです。
これは個人的にはとても新鮮な視点で、故に理解が難しい点も多いです。
例えばFlash界にもCairngormやPureMVCといったMVCフレームワークが
存在します。しかしそもそもFlash自体が明確なMVC構造を持っているので
あればこのようなフレームワークは屋上屋を重ねるものでは無いでしょうか?

一筆書きを解くのと描くのは別問題なのはその通りだと思います。
で、現在開発中のライブラリの目的はどちらなのでしょうか?



202 名前:デフォルトの名無しさん mailto:sage [2008/11/22(土) 14:05:39 ]
しまった、真面目に相手して馬鹿を見た……。

203 名前:デフォルトの名無しさん mailto:sage [2008/11/22(土) 14:34:14 ]
中二でC言語遣らないで、
Javaから手出して配列とかやってる奴って凄いの?

204 名前:デフォルトの名無しさん mailto:sage [2008/11/22(土) 14:47:50 ]
>>200
反応ないところを見るとたぶんそのアホなんだろうなww
こんな鼻糞みたいな奴はほっといて俺達の初心者ちゃんの質問に答えてやろうぜ!

205 名前:デフォルトの名無しさん mailto:sage [2008/11/22(土) 15:17:37 ]
>>201
今までの伝統的な手法であったから行き詰まったんでしょう。
ということは全く別な始点でソリューソンする必要があるんじゃないでしょうか。
私から見ると、adobe flash, javafxなんかはtcl/tkの再来(だいぶ違うが)にしか見えないんですけど、
guiのコンポーネント操作(イベントとかも含めたツールキット)は、jvmをプラットフォームにして、java langとanother scriptに分けるぐらいにしないと自然な分離はできないんだなと思います。
つまり、VとCは別のものとして作っても全く問題ないってことです。この辺りに気がつくかどうかは、数学とかパズルのセンスが必要なのかなっておもいます。
逆にいえば、swingはシングルスレットであるって事が強みなんですけどね。

外部調達ならjavax.scriptサポートが必然的に必要だし、invokedynamic bytecodeも必要になってくるって事ですかね。
あまり深く追いかけてませんが、jdk1.1 applet用のライブラリを作っているとEnumerationとEnumeration用の内部クラスばかりなので、
どのjdkでも頻出イディオムだし、クロージャは早いところ仕様をまとめて導入して欲しいところです。

とうか、私はCとかポインタとかもバリバリ使えますよww
ライブラリですけど、アスペクト指向はまだ良く分かってないんでまだですけど、プロトタイプ指向はもう既に実装して実験的ですがライブラリに組み込んでますよ。
描画の方はもう弱点がわかったんでソリューションもできたし、今のところはレイアウトマネージャをどうやって実装するかってところです。

いくつかあるんですけど、グラフ理論に興味があるなら本格的なライブラリならこれですかね。
jung.sourceforge.net/presentations/index.html

206 名前:デフォルトの名無しさん mailto:sage [2008/11/22(土) 15:22:22 ]
あなたはまず改行を覚えた方がいいですよ

207 名前:デフォルトの名無しさん mailto:sage [2008/11/22(土) 15:23:31 ]
トリ付けろ
相手したい奴だけが相手したらいい
それ以外の人に迷惑だ

208 名前:デフォルトの名無しさん [2008/11/22(土) 15:28:55 ]
デッドロックを気にしている人もいましたけど、自分で実際に問題となる小さいプログラムを作ってみると上手いソリューションが浮かんでくるんじゃないでしょうか?
MVCのそれですけど、先も書きましたがflashはアニメーションから始まってることを知ってれば、従来のコンポネントとは違うってことを自然と分かるんじゃないでしょうか。
もしくは、>>201はアプレットでアニメーションとか作ったことあると、たぶん今までのイベントモデルでやるんじゃ難しすぎるって事がわかるんじゃないかと思います。
小さい脳みそで考えてばかりいないで、サルみたく手を動かせってことでしょうかww

209 名前:デフォルトの名無しさん mailto:sage [2008/11/22(土) 16:01:59 ]
もう俺にはおなかいっぱいw
本とキモイから死んでくれよw

210 名前:デフォルトの名無しさん [2008/11/22(土) 16:25:24 ]
やっぱり人工無脳なのかなぁ

211 名前:デフォルトの名無しさん mailto:sage [2008/11/22(土) 16:28:01 ]
初心者が質問しにくいナガレだな



212 名前:デフォルトの名無しさん mailto:sage [2008/11/22(土) 16:28:31 ]
人工無能でこれぐらいできるなら音声認識&読み上げ機能組み込んで
ボケ老人の相手とかさせたらビジネスになるんじゃないかと思ったりする

213 名前:デフォルトの名無しさん [2008/11/22(土) 17:09:45 ]
もうJAVAは難しすぎる!おれはC#にする!絶対!!

214 名前:デフォルトの名無しさん [2008/11/22(土) 17:46:39 ]
>>212
それは既に初ねミクで実装されてるよww
おまえ、頭大丈夫か?

215 名前:デフォルトの名無しさん mailto:sage [2008/11/22(土) 17:51:38 ]
あぁ、人工無脳を疑うコメにこれまた人工無脳で生成されたかの
ようなツッコミが。頭痛くなってきたよ〜

216 名前:デフォルトの名無しさん mailto:sage [2008/11/22(土) 18:20:54 ]
ジャバなんか鼻糞じゃんか。オレは最強のMVCであるMICROSOFT.NETをすすめる!

217 名前:デフォルトの名無しさん mailto:sage [2008/11/22(土) 18:29:02 ]
ありゃ。一気に脳みそレベルが下がっちゃったみあいw

218 名前:デフォルトの名無しさん [2008/11/22(土) 18:49:18 ]
もう次から次から新しいことなんか覚えられないよ
やっぱり俺はC#でいいや
マイクロソフトと俺は心中することに決めた

219 名前:デフォルトの名無しさん mailto:sage [2008/11/22(土) 19:06:14 ]
知ってたら教えて欲しい。

javaからクラスパスを取得する方法ってあるかい?

ClassLoader.getSystemResource("hogehoge.ini")
こんなコード書いてるんだけど、nullしか返ってこないんだ。

だから、クラスパスを表示してみてみたいと思ったんだ。

220 名前:デフォルトの名無しさん mailto:sage [2008/11/22(土) 19:21:34 ]
System.getProperty("java.class.path")
自己解決した、これで取得できた。

System.out.println(System.getProperty("java.class.path"));
これで表示できた。

ちょっとググルキーワード変えたら出てきた。

221 名前:デフォルトの名無しさん [2008/11/22(土) 20:59:08 ]
どうでもいいけど、>>200>>204
とてもわかりやすい自演をみた。



222 名前:デフォルトの名無しさん mailto:sage [2008/11/22(土) 21:09:00 ]
エスパーさんこんばんは

223 名前:デフォルトの名無しさん mailto:sage [2008/11/22(土) 21:38:15 ]
あの・・・エクソシストって映画なんですね・・・その首の女の子がこっち見てるんですけど・・・・

224 名前:デフォルトの名無しさん [2008/11/22(土) 22:35:50 ]
Javaの勉強してだいぶ立つんだけど(俺は超底辺のブラック勤務)
独学だからいかんせん抜けが多い。でも市販の書籍だけではとてもきちんと
知識をつけることはできない。色々ググってたら、www.rsch.tuis.ac.jp/~ohmi/software-basic/index-a.html
っていうページみてとてもうらやましく思った。で、大学の教科書が欲しくなった。
どうやったら大学の教科書って手に入るの?

225 名前:デフォルトの名無しさん mailto:sage [2008/11/22(土) 22:40:33 ]
amazon

226 名前:デフォルトの名無しさん mailto:sage [2008/11/22(土) 23:06:11 ]
質問です
文字列の中で変数を使いたいのですが
どのようにしたらよいのでしょうか?

227 名前:デフォルトの名無しさん mailto:sage [2008/11/22(土) 23:14:52 ]
変数らしきものを自力で探し出して置き換える
簡単な方法はない

228 名前:226 mailto:sage [2008/11/22(土) 23:21:20 ]
>>227
そうだったのですか・・・
では面倒ですけど、地道に変数の値を文字列に入力していくことにします。
ありがとうございました。

229 名前:デフォルトの名無しさん [2008/11/22(土) 23:30:57 ]
ん?

単純に
int a=3;
String str = "1足す2は" + Integer.toString(a);
System.out.println(str);

とか↑こんな感じのことをいってるんじゃないのか?

230 名前:226 mailto:sage [2008/11/22(土) 23:44:34 ]
>>229
まさにそんな感じでした。
いま試してみたらばっちり上手くいきました。
ありがとうございました!

231 名前:デフォルトの名無しさん mailto:sage [2008/11/22(土) 23:49:38 ]
>>229
String str = "1足す2は" + a;
でいいじゃん。文字列に+するときは自動的にtoStringされる。




232 名前:229 mailto:sage [2008/11/23(日) 00:45:58 ]
>>231
そうなのけ?Javaはもう4年くらいやってないからよくわからん。。

勉強になったよ。ありがとう。質問者さんも解決したみたいでよかった。

233 名前:デフォルトの名無しさん mailto:sage [2008/11/23(日) 01:27:55 ]
>>232
Javaでは、String自身を除く全てのデータ型(nullも含む)について、Stringへの変換が規定されてる。で、+演算子の前後どっちかがStringなら、もう一方もStringに変換される。(Java言語仕様第3版5.1.11, 5.4, 15.18.1参照)

234 名前:デフォルトの名無しさん mailto:sage [2008/11/23(日) 03:14:13 ]
String a=10; エラー
String a=""+10; OK

235 名前:デフォルトの名無しさん [2008/11/23(日) 05:01:11 ]
>>234
で?

236 名前:デフォルトの名無しさん [2008/11/23(日) 10:21:50 ]
沖縄に外国人3000万人受け入れ計画
life.bbs.thebbs.jp/1227401075/

こんな法案が可決したら日本は破綻する
(ちなみに東京の人口は1280万人)
選挙権がある方は良く考えて投票してください



237 名前:デフォルトの名無しさん mailto:sage [2008/11/23(日) 15:06:46 ]
あほみたいな質問なんですが、javaのパスは通るのですがjavacのパスだけ通ってくれません。
使用しているOSはwindows XP HE SP3
インスコしたのはver6のup10

パスの記述は間違っていませんし、実際にその階層にjavacもあります
OSを再起動をしてみるのですが、ずっと迷子のままです

wikiもggrksもしてみましたが、解決法にたどり着けずに苦しんでます
だれか、こんなあほの子に救いの手をください。

238 名前:デフォルトの名無しさん mailto:sage [2008/11/23(日) 15:32:06 ]
>>237
「パスが通らない」という意味がわからん。パスは通すもんだ。
マイコンピュータで右クリックメニューを出して「プロパティ」を選択
→「詳細設定」タブで「環境変数」ボタンを押す
→上半分の「xxx のユーザー環境変数」(xxx の部分はお前のユーザー名)のところに、変数「PATH」がないか探す
→→変数「PATH」がない場合は、「新規」ボタンを押して、変数名に「PATH」、変数値に「C:\Program Files\Java\jdk1.6.0_10\bin」を記入し、「OK」→「OK」と押す
→→変数「PATH」がある場合は、PATHの行をダブルクリックして、変数値の末尾に「;」(セミコロン。コロンと間違えないように)で区切って「C:\Program Files\Java\jdk1.6.0_10\bin」を記入し、「OK」→「OK」と押す
→コマンドプロンプトを開いて、「echo %PATH%」と入力してリターンを押す。表示される中に上で記入した値が入っていれば、設定が反映されている
→「javac」と入力してリターンを押し、使い方のメッセージが表示されれば、記入した値が正しいことが確認できる。そうじゃなければ何かミスってる


239 名前:デフォルトの名無しさん mailto:sage [2008/11/23(日) 15:55:23 ]
>>238
それでもうまくいかなかった
#echo %path% で通っているにも拘らず

ので、一度windowsから復元をかけてインスコ前にして、
再インスコしました。再インスコしたらうまくいったので、
インスコに失敗していたのかもです。どもです。

240 名前:デフォルトの名無しさん mailto:sage [2008/11/23(日) 16:16:04 ]
JSPでフォームに入力したテキストをMySQLに入れるプログラムを作っているのですが、
登録しても登録されていない。
MySQLのログを見ると確かにINSERT文がMySQLに送信されているのですが……
そのINSERT文を丸ごとコピペしてコマンドラインでmysqlコマンドを使って直接ぶち込むと
きちんと登録されます。
エラーログには何も残っていません。
これは何が原因でしょうか?

241 名前:デフォルトの名無しさん [2008/11/23(日) 16:20:38 ]
RMI(りもーとめそっどいんヴぉけーしょん)のサンプルをたくさんやってみたいんだけど
オライリーの本しかない(´・ω・`)
でも、オライリーは昔からあんまりすきじゃない(´・ω・`)ピアソンエデュケーションとかがすき。

そういうことでRMIのオライリー以外の本とかRMIのことが割合詳しく載ってるWebページしってるひといたら
おしえて(´・ω・`)



242 名前:デフォルトの名無しさん [2008/11/23(日) 16:22:29 ]
オライリーの本って、くどくど長たらしいよね(´・ω・`)

かといって、面白そうなページからやろうとすると、くどくどした
説明のところを何ページもやらないとできないようになってる(´・ω・`)

クックブックとか別だけど。

243 名前:デフォルトの名無しさん [2008/11/23(日) 16:36:51 ]
>>238
>javaのパスは通るのですがjavacのパスだけ通ってくれません。
使用しているOSはwindows XP HE SP3

javaは最初からパスが通ってる。だから、パスを設定しなくても実行できる(JVMをインストールした時点で)。
で、パスが間違いなく通っているのにjavacが使えないというのは、100%ない。だからパスが間違ってる。
1)パスとパスの区切りにセミコロンはいれたか?要するに前のパスとの区切りでセミコロンはいれた?
2)パスはエクスプローラ(マイコンピュータなど)を開いて、必ずアドレスバーを表示するようにして
  jdkのインストールディレクトリ\binまでたどっていき、アドレスバーの文字をコピーしてパス設定のダイアログに貼り付ける
  この際、今まで記述してあったパスとの区切りにセミコロンを必ずいれること。アドレスバーの出し方は↓
www.progless.com/soft/shatv2/samples/tips/addressb/addressb.htm



244 名前:デフォルトの名無しさん [2008/11/23(日) 16:41:29 ]
javaの勉強始めようと思ってる大学生です。
まともに使える言語がないので勉強しようと思ったんですが、どのような方法で
勉強するのがお勧めですか?
2週間ほどWebで教えてくれるサイトを巡って、書いてあることをひたすら読んでいるんですが、
正直スキル向上する気がしません。

for,ifなどの基本的な命令は使えます。

245 名前:デフォルトの名無しさん mailto:sage [2008/11/23(日) 16:48:53 ]
>>240
ちゃんと MySQL に接続できてるか、とか DB 名(っちゅーか DSN)間違ってないか、とか
テスト用にローカルに立てた MySQL につないでないか、とか調べろ。それ以上はエスパーに頼め。

>>241
2年前に仕事で RMI やったけどあんまり Web に情報無いよね。本もないし…。
仕事ではクライアント側が自分の RMI オブジェクトをサーバに登録して、サーバから呼び出してもらう
ってのを作ったけど、ググった情報だけでなんとかなった。
そもそも RMI って結局はメソッド呼び出しの遠隔版だからそんなに情報必要じゃないんだよね。
まあがんばれ。

246 名前:デフォルトの名無しさん mailto:sage [2008/11/23(日) 17:07:30 ]
>>244
ソースコードを読んで書く。適当なサンプルプログラムをひっぱってきて、読む。読んだらちょっと自分で機能を追加したり変更しりして動かしてみる。
動かすときは、デバッガで1行ずつステップ実行したり、要所要所にprint系の文を突っ込んで変数の値がどのように変化していくのかを見てみる。
何をどうやったらプログラムがプログラムとして成立しているのかを理解したら、1から書いてみる。


247 名前:デフォルトの名無しさん [2008/11/23(日) 17:17:51 ]
>>246
やっぱりソースコードを自分で作成することが大事なようですね。
自分も今の方法で勉強するか、その方法で勉強するか迷っていたんです。
ありがとうございます。

質問追加してしまって申し訳ないんですが、その勉強方法をするためのソースコードとして
勧められるようなものってなにかありますか?

248 名前:デフォルトの名無しさん mailto:sage [2008/11/23(日) 17:44:21 ]
>>243
そりゃもう何度もやってましたよ、と
おかしいから質問したのであって、記述ミスとかの話じゃないです

249 名前:デフォルトの名無しさん mailto:sage [2008/11/23(日) 18:24:34 ]
>>248
なぜ環境変数等を晒さないの?
echo %PATH%とdir "C:\Program Files\Java\jdkxxx\bin"の出力結果
cmdがおかしいとか、記述ミスじゃないと判断する前に当然自分では確認したんだよね?


250 名前:デフォルトの名無しさん mailto:sage [2008/11/23(日) 18:37:59 ]
>>248
とりあえず絶対pathで使えるかやってみたら?
c:\ほげほげ\javac なんとか.java
が動くかどうか。

251 名前:デフォルトの名無しさん mailto:sage [2008/11/23(日) 19:08:19 ]
なんですぐ入れ食い状態になるの?



252 名前:デフォルトの名無しさん mailto:sage [2008/11/23(日) 19:09:45 ]
puts("'javac' は、内部コマンドまたは外部コマンド、\n操作可能なプログラムまたはバッチ ファイルとして認識されていません。\n");
だったらうけるw

253 名前:デフォルトの名無しさん [2008/11/23(日) 19:44:05 ]
javaスレだし、Cはいらん
勉強するならCからだけどなw

254 名前:デフォルトの名無しさん mailto:sage [2008/11/23(日) 20:41:43 ]
>>249,250
239にも書いたように、再インスコで動くようになりましたよ、と。
どもですどもです。

255 名前:デフォルトの名無しさん [2008/11/23(日) 20:57:19 ]
iアプリのプログラムを書いたりしてみてるんですが…

これの際にわざわざ
「どこかの鯖にそのjarをUL⇒携帯電話端末でそれをDL」
ってやらないと自分のケータイで実行することってできないの?

256 名前:デフォルトの名無しさん mailto:sage [2008/11/23(日) 20:59:37 ]
>>255
iモード携帯電話用Java(iアプリ) Part18
pc11.2ch.net/test/read.cgi/tech/1214192372/

257 名前:デフォルトの名無しさん [2008/11/23(日) 21:01:51 ]
>>256
スレ違いすみません。
早速除いてみます

258 名前:デフォルトの名無しさん [2008/11/24(月) 01:29:09 ]
jdk1.6.0_07をインストールしたのですが、環境変数の設定が解らず困っています。
参考書を参照しているのですが。
新規CLASSPATH
新規path
新規jAVA_HOME
何を入れたらいいのでしょうか?
OSはXPです。

259 名前:デフォルトの名無しさん mailto:sage [2008/11/24(月) 01:32:09 ]
>>258
可愛いこと言うな!コノヤロー

260 名前:デフォルトの名無しさん [2008/11/24(月) 01:36:18 ]
>>259
どういう事でしょうか?

261 名前:デフォルトの名無しさん mailto:sage [2008/11/24(月) 01:49:45 ]
 >>258
多分、その参考書には載ってないと思う。



262 名前:デフォルトの名無しさん [2008/11/24(月) 02:32:20 ]
パーティ用にクイズゲームを作ろうとしていますが、
スコアボードとして「+」や「-」をクリックすると数字が増減するjavaのプログラムを組もうと試みています。しかし、テキストボックスを利用すると文字が小さすぎてパーティで利用するには不向きです。

・テキストボックスのフォントサイズを変える方法
・無理なら、数字の書かれた画像を+-クリックで増減させる方法
・それも無理ならクリックするごとに☆画像を増やす方法
・javaで無理ならFLASHのサンプルなどあればご教示いただけると幸いです。

OSはXPです。ブラウザは今のところIE6ですが、特に何でもかまいません。

263 名前:デフォルトの名無しさん mailto:sage [2008/11/24(月) 03:19:42 ]
>>262
画面の解像度を VGA にするとか。

264 名前:デフォルトの名無しさん mailto:sage [2008/11/24(月) 03:49:53 ]
JAVA?アプレット?javascript?

エスパー的にはjavascriptはスレ違いとしか応えようがないぜ

JavaScript
pc11.2ch.net/test/read.cgi/tech/1192182741/
ここで質問するといいんだろうか

265 名前:デフォルトの名無しさん mailto:sage [2008/11/24(月) 06:06:02 ]
@Map.Entry<String, Integer> x 
Ay=y+x.getValue(); 
BSystem.out.println(y); 
Cbw.write(y);
@のようにマップのエントリを行い、
Aでintで宣言したyとxの値を足した場合
DOS画面では結果が表示されるのに(B)、ファイルに保存した場合(C)■的な文字化けになってしまいます。
MAPの値を直接足すのはダメなのでしょうか?文字コードも色々変えてるのですが変わらず困っています。
心当たりのある方お願いします。

266 名前:デフォルトの名無しさん mailto:sage [2008/11/24(月) 06:16:56 ]
バイナリで書き込んでると予想

bw.write(""+y);

こんな風に""+を追加したら文字列として書き込んでくれるかもしれない

267 名前:デフォルトの名無しさん mailto:sage [2008/11/24(月) 06:23:09 ]
>>266
て…天才だ!!!!!
しかも即レスでありがとうございます!!感動しました。
仕組みはよく分からないんですがバイナリになるんですね。
ここで聞いてよかった…。感謝します。

268 名前:デフォルトの名無しさん mailto:sage [2008/11/24(月) 06:30:43 ]
照れるぜ

画面に表示する時は、当たり前のように文字列なんだけど
ファイルに保存となるとバイナリかテキストのどちらかになるんだ。

1+1だと結果は2になるけど、
""+1+1だと結果は"11"になる

>>266の方法はこのルールを使っただけなんす

269 名前:デフォルトの名無しさん mailto:sage [2008/11/24(月) 06:44:34 ]
>>268
なるほど!勉強になります!
てっきりマップにアドレス的なものがあって変換しなきゃならないとか
色々模索してたんですが、writeのほうにそのような仕様があったんですね。
初歩的な知識不足でご迷惑おかけしました。
悩みが解消してこれで寝れます。本当にありがとうございました。

270 名前:デフォルトの名無しさん [2008/11/24(月) 10:38:28 ]
英語の本は(海外の本)は、間違いが生じないように細かく詳細に書くこと基本で大事だって思想だからしょうがない。
だけどそれだけしっかり書いてある(仕様がしっかりしている)からどこでも通じるし信用できるんだけどね。
それに比べて日本の解説本は酷いだろ。
教科書とかも助教授あたりが自分の書きたいところだけ細かく書いてるだけで、5年もすれば捨てちゃうような内容だし、コンピュータ雑誌と同じじゃないの?
だからちゃんとした教科書が欲しいなら結局英語の本(とその翻訳)になっちゃうんだよね。
rfcとかもも含めてそういう堅い本が読めない奴はこの世界に入るのはあきらめたほうがいいな。

271 名前:デフォルトの名無しさん [2008/11/24(月) 13:42:51 ]
258です。
どなたか教えて下さい。



272 名前:デフォルトの名無しさん mailto:sage [2008/11/24(月) 13:51:24 ]
>>271
可愛いね^^

273 名前:デフォルトの名無しさん mailto:sage [2008/11/24(月) 14:02:37 ]
大学で出た課題の中で、配布されたプログラムの中で
equals()とhashCode()をオーバーライドしてるんですか
その理由はjava.lang.Comparableのマニュアルを見れば分かるよ
と言われたんですが意味分かりません
どういうことなのか分かりますか?

274 名前:デフォルトの名無しさん mailto:sage [2008/11/24(月) 14:10:43 ]
1、Javaではequalsをオーバーライドしたらhashcodeをオーバーライドしなければならない 
2、Comparableはオブジェクトの比較をするためequalsをオーバーライドしなければならない

1,2はみんなでこうしようと決めた約束事 もちろん文書には書いてある。エラーにならないかもしれないけれども

1、
java.sun.com/javase/ja/6/docs/ja/api/java/lang/Object.html#equals(java.lang.Object)
java.sun.com/javase/ja/6/docs/ja/api/java/lang/Object.html#hashCode()
2、
java.sun.com/javase/ja/6/docs/ja/api/java/lang/Comparable.html

275 名前:デフォルトの名無しさん mailto:sage [2008/11/24(月) 14:12:41 ]
>>273
java.sun.com/javase/ja/6/docs/ja/api/java/lang/Comparable.html
>C クラスの自然順序付けは、C クラスのすべての e1 および e2 について、
>e1.compareTo(e2) == 0 が e1.equals(e2) と同じ boolean 値を保持する場合にだけ、
>「equals との一貫性」を保持します。
・・・
>自然順序付けでは、equals と一貫性があることは、必須ではありませんが強く推奨されます。
>これは、明示的なコンパレータを指定しないソートされたセットやソートされたマップを、
>自然順序付けが equals と一貫性のない要素またはキーと一緒に使用すると、
>セットとマップの動作が保証されなくなるからです。

java.sun.com/javase/ja/6/docs/ja/api/java/lang/Object.html#equals(java.lang.Object)
>通常、このメソッドをオーバーライドする場合は、hashCode メソッドを常にオーバーライドして、
>「等価なオブジェクトは等価なハッシュコードを保持する必要がある」という
>hashCode メソッドの汎用規約に従う必要があることに留意してください。

上記の通りだが、どこがわからない?

276 名前:273 mailto:sage [2008/11/24(月) 14:15:04 ]
>>274
>>275
分かりました。ご丁寧にありがとうございます。

277 名前:デフォルトの名無しさん mailto:sage [2008/11/24(月) 14:28:21 ]
マニュアルを見ろ、と言われて、何を見ればいいのかわからなかった、ということだろうか

278 名前:デフォルトの名無しさん [2008/11/24(月) 14:47:55 ]
258です。
しつこいようですが、教えて下さい。

279 名前:デフォルトの名無しさん mailto:sage [2008/11/24(月) 14:50:45 ]
何様?

280 名前:デフォルトの名無しさん mailto:sage [2008/11/24(月) 14:59:39 ]
>>258
CLASSPATH → 設定不要。非標準のライブラリ(自作を含む)を使うときだけ気にしろ。
PATH → >>238 参照。jdk1.6.0_10 を jdk1.6.0_07 に読み変えるか、JDK6.0update10をインストールしろ。
JAVA_HOME → 設定したことないが、必要なのか? これ。

281 名前:デフォルトの名無しさん [2008/11/24(月) 15:24:22 ]
>>280
ありがとうございます。
やってみます。



282 名前:デフォルトの名無しさん mailto:sage [2008/11/24(月) 16:08:09 ]
import java.io.*;って何ですか?

283 名前:デフォルトの名無しさん mailto:sage [2008/11/24(月) 16:11:29 ]
java.io の全てのトップレベルクラスを単純名でアクセスできるようにする。

284 名前:デフォルトの名無しさん mailto:sage [2008/11/24(月) 16:17:47 ]
>>282
いちいちパッケージ名を含めたクラスの完全限定名をコード中に書かなくてもいいように、
java.ioパッケージに属するクラスなら短い単純名だけに省略化して書けるようにする。
java.io.Reader r = new java.io.BufferedReader(new java.io.FileReader("hoge"));
と長々と書かずに、
Reader r = new BufferedReader(new FileReader("hoge"));
と書ける。

285 名前:デフォルトの名無しさん mailto:sage [2008/11/24(月) 16:21:44 ]
>>284
なるほど!わかりやすく説明して下さって有難う御座います♪

286 名前:デフォルトの名無しさん mailto:sage [2008/11/24(月) 23:30:45 ]
クラス分けについて質問です

SQlDBから値をとってきたとき
取得データを
dataclassというクラス(フィールドにはUserID,passなどの個別のデータがある)
をつくり

別のクラスでインスタンスして
arraylist<dataclass>のような使い方をして入れようと思ってるのですが

このやりかただとデータが10万以上など大量になったときに
メモリを食うと書いてありました。

通常SQLDBっからresultsetでとってきたデータはどのように扱うのでしょうか

このあとJSPで表示するのに使います


287 名前:デフォルトの名無しさん mailto:sage [2008/11/24(月) 23:59:51 ]
>>286
基本的にはその方法でOK。

データが10万レコード以上になっても、JSPでの表示のために毎度
10万レコードを全て取得する必要があるわけでは無いでしょう?

ちゃんとDBに投げるSQLクエリを吟味して、JSPでの表示に必要な
データだけを検索して取得するようにすればOK。
そうすればJava側で消費するメモリの大きさは基本的にDB中の
レコード数とは無関係になるはずです。

>このやりかただとデータが10万以上など大量になったときにメモリを食うと

杞憂かも知れませんが、非常に誤解を招く記述に思えます。
もしかするとDBからレコードを全件引っ張ってきて、Java側で絞り込み
をかけるような実装を紹介しているのかも知れません。
もしそうだとすれば、そんな参考書or参考サイトは役立たずですので
捨ててしまって下さい。

288 名前:デフォルトの名無しさん mailto:sage [2008/11/25(火) 00:01:39 ]
>>286
一気にデータを取得して全部をひとつのリストに入れるのではなく、
表示を作り上げていく段階で少しずつ必要なデータだけを保持する。

289 名前:デフォルトの名無しさん [2008/11/25(火) 02:14:23 ]
下記のソースがコンパイルエラーになるのですが、何が悪いのでしょうか?
エラー内容は「ローカル変数zが初期化されていない」というのですが。。

[Test.java]
import java.applet.*;
import java.awt.*;

public class Test extends Applet {
public void init() {
Zukei[] z;
z[0] = new Maru();
z[1] = new Sankaku();
z[2] = new Shikaku();
}

public void paint(Graphics g) {
z[0].draw(g);
}
}

290 名前:デフォルトの名無しさん [2008/11/25(火) 02:15:47 ]
[Zukei.java]
import java.awt.*;

public interface Zukei {
int left = 10;
int bottom = 10;

void draw(Graphics g);
}

291 名前:デフォルトの名無しさん [2008/11/25(火) 02:17:10 ]
[Maru.java]
import java.awt.Graphics;

public class Maru implements Zukei {
public void draw(Graphics g) {
g.drawString("Maru", left, bottom);
}
}

Sankaku.javaとShikaku.javaも同じような感じで定義しました。



292 名前:デフォルトの名無しさん mailto:sage [2008/11/25(火) 02:26:44 ]
eclipseが起動しないんです。
ダブルクリックするとロゴが瞬間表示されて起動されません。
何が問題なんでしょうか?

293 名前:デフォルトの名無しさん mailto:sage [2008/11/25(火) 02:29:28 ]
>>292
マルチ乙

294 名前:デフォルトの名無しさん [2008/11/25(火) 03:28:51 ]
import java.applet.Applet;
import java.awt.event.*;
import java.awt.*;

public class Eventtest extends Applet implements MouseListener{
private int x = 0;
private int y = 0;

public void init() {
addMouseListener(this);
}

public void paint(Graphics g) {
g.drawOval(x, y, 20, 20);
}

public void mouseClicked(MouseEvent me) {
x = me.getX();
y = me.getY();
repaint();
}
}

エラーが出ます。わかる方教えてください。
Exception in thread "AWT-EventQueue-1" java.lang.Error: Unresolved compilation problem:
The type Eventtest must implement the inherited abstract method MouseListener.mouseExited(MouseEvent)

295 名前:デフォルトの名無しさん mailto:sage [2008/11/25(火) 03:46:03 ]
>>294
The type Eventtest must implement the inherited abstract method MouseListener.mouseExited(MouseEvent)

296 名前:デフォルトの名無しさん mailto:sage [2008/11/25(火) 10:26:24 ]
>>292
パソコン買い換えると良いよ

297 名前:デフォルトの名無しさん mailto:sage [2008/11/25(火) 12:33:48 ]
>>289
Zukei[] z;

Zukei[] z = new Zukei[3];
にしてみれば?

298 名前:デフォルトの名無しさん mailto:sage [2008/11/25(火) 14:08:54 ]
このようなArrayListを作ったんですが、
ArrayList arrA
      ┗listB[]
        ┣String valC
        ┗String valD

このなかのvalCを取り出そうと思い
arrA.listB[i].valCと記述したのですが、エラーが返ってきました
正しくvalCを取得する方法を教えてください。



299 名前:デフォルトの名無しさん mailto:sage [2008/11/25(火) 14:18:14 ]
((listBの要素の型[])((ArrayList)arrA).get(arrAのインデックス))[i].valC

300 名前:デフォルトの名無しさん mailto:sage [2008/11/25(火) 14:28:38 ]
>>299
それってVectorでも対応できるかな?
ArrayList をVectorに変えたらキャストできませんと構文エラーがでました。

301 名前:デフォルトの名無しさん [2008/11/25(火) 14:40:15 ]
Vectorには対応してません。



302 名前:デフォルトの名無しさん mailto:sage [2008/11/25(火) 15:01:13 ]
>>301
そうですか、ArrayListで対応してみます。
ありがとう御座いました。

303 名前:デフォルトの名無しさん [2008/11/25(火) 15:06:45 ]
おい、おまえら!

前から思ってたんだけど、ついでだから聞かせてもらう。
VectroとArrayListの違いってなによ?煮たようなもんだろ?

304 名前:デフォルトの名無しさん mailto:sage [2008/11/25(火) 15:28:51 ]
>>303
ttp://www.tohoho-web.com/java/collection.htm#Vector

305 名前:デフォルトの名無しさん [2008/11/25(火) 15:45:15 ]
>>297
しましたがまだエラーになるみたいです。
java.lang.Error: Unresolved compilation problem:
Syntax error on token(s), misplaced construct(s)
at Test.init(Test.java:6)
at sun.applet.AppletPanel.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

306 名前:デフォルトの名無しさん mailto:sage [2008/11/25(火) 15:46:03 ]
>303
同期されてるかいないかによるパフォーマンスの違い。
StringBufferとStringBuilderも同様。

307 名前:デフォルトの名無しさん [2008/11/25(火) 16:24:56 ]
>>304,306
表向きはそうなんだけどね・・・よくAPIを読んで比べてみなよ。
もし気がつくなら初心者卒業ってことだと思うけどね。

308 名前:デフォルトの名無しさん [2008/11/25(火) 16:46:11 ]
ちゃんとインストールされてるはずなのに昨日までは入れてた
Java対応のチャットに「対応のブラウザでご利用ください」と言われるようになりました

309 名前:デフォルトの名無しさん mailto:sage [2008/11/25(火) 17:12:41 ]
javaで綺麗なグラフ描くを描くにはどうすればよいですか

310 名前:デフォルトの名無しさん mailto:sage [2008/11/25(火) 17:15:00 ]
graphics.drawString("グラフ描く", 0, 0)

311 名前:デフォルトの名無しさん mailto:sage [2008/11/25(火) 17:17:27 ]
うっそ〜ん
Javaでデータからエクセルのようなグラフを描くのにはどうすれば



312 名前:デフォルトの名無しさん [2008/11/25(火) 17:20:55 ]
マイクロソフト・エクセルを使うだけです。

313 名前:デフォルトの名無しさん mailto:sage [2008/11/25(火) 17:27:05 ]
いっや〜ん
エクセル嫌い嫌いJavaで描きたい

314 名前:デフォルトの名無しさん mailto:sage [2008/11/25(火) 17:42:44 ]
jfreechartでも検索するがいい。
自前でやるなら、Graphics,Graphics2Dを使って、310のように実装すればいい。

315 名前:デフォルトの名無しさん mailto:sage [2008/11/25(火) 17:50:33 ]
あっりっがっとうございます!m(_ _)m

316 名前:デフォルトの名無しさん mailto:sage [2008/11/25(火) 18:02:04 ]
>>305
まあ、こっちではそこのエラーが消えたからまあいいや。

317 名前:デフォルトの名無しさん mailto:sage [2008/11/25(火) 20:36:16 ]
今の時代のJavaの勉強は、Applet使ってアニメーションからJavaの世界に入ったりはしないんですか。
円・ドル換算プログラムみたいにGUIコマンドアプリは分かるんですけど、アニメーション・プログラムをやるならflashなんでしょうか?

318 名前:デフォルトの名無しさん mailto:sage [2008/11/25(火) 21:01:05 ]
実行環境の話はこっちでいいのかいな?
willcomのWX310SAについてなんだが。

319 名前:デフォルトの名無しさん mailto:sage [2008/11/25(火) 21:41:38 ]
質問です
+、=、*、/の4つの記号と数字を含む文字列”str”をchar型に変換して
1文字ずつ調べ、もし記号だったら抜き出す。
という作業をしたいのですが、うまく動きません。
どのようにしたらよいのでしょうか?

char[] c = str.toCharArray();
char[] d = new char[200];
int j=0;

for(int i=0;i<c.length;i++){
if(c[i]==('+'|'-'|'*'|'/')){
d[j]=c[i];
j++;
}
}

320 名前:デフォルトの名無しさん [2008/11/25(火) 21:46:28 ]
]==('+'|'-'|'*'|'/')

ペットたちは元気でしたか?

321 名前:318 mailto:sage [2008/11/25(火) 22:04:38 ]
反応ないけど質問書いておく
某本に載ってた手順で、開発環境としてJ2SE1.5をインスコして
プログラム作ったら、エミュレータ上では動作したがWX310SAでは動作しなかった。

けど、J2SE1.4.2をインスコしなおしたらWX310SAで動作した。

1.5と1.4で何か変わってる?
それとも単にWX310SAでは1.4しか対応してない?



322 名前:デフォルトの名無しさん mailto:sage [2008/11/25(火) 22:27:02 ]
>>321
クラスファイルの構造が変わってる。

> > javac -help
> 使い方: javac <options> <source files>
> 使用可能なオプションには次のものがあります。
《略》
> -source <release> 指定されたリリースとソースの互換性を保つ
> -target <release> 特定の VM バージョン用のクラスファイルを生成する

Java5以上で使うなら、javacに「-target 1.4」を指定すればいいと思うよ!!

323 名前:318 mailto:sage [2008/11/25(火) 23:10:11 ]
>>322
thx
試してみる

324 名前:デフォルトの名無しさん mailto:sage [2008/11/25(火) 23:36:55 ]
>>287-288
ありがとうございました

dataBase data =new dataBase();

sertAtribute("data1",data)

<useBean id="data1" class="pacage.dataBase">
だと

1.どちらかでdata1でつかえるのか
2.それとも全部含めて出ないとつかえないのか

data1.getData()メソッドとしてつかえるのはどれでしょうjか?

useBeanのとき同時にインスタンスしてるのかsetatributeの変数名を
引き継いでるのかいまいちわかりません



325 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 00:41:21 ]
>>319
Java の文字の比較方法を勉強すればうまくいくと思う。

326 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 01:08:47 ]
JVMはエミュレータの一種なんですか?

327 名前:デフォルトの名無しさん [2008/11/26(水) 01:53:21 ]
というか何のエミュレータだと思いますか?

328 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 02:08:29 ]
どうでもいいがなんでシーケンシャルな処理とオブジェクト指向が対比されてんだ
あとはUMLとかで作るだけとか
描画を完全にマルチスレッドでやれると思ってるとか
コンポーネント毎にスレッド化するとか
javaFXとかjava2Dとか
オブジェクト指向とスレッドとか


ま、VRAMに直書きが描画の全てという時代なら容易にできたかもしれん。


329 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 02:15:13 ]
>>326
通じないことは無いだろうけど、普通エミュレーターとは言わないと思うなあ
(広義には知らない)
エミュレータってのは、実在するハードや環境なんかを模倣するものを指す
一方でJVMはその名の通り仮想的な計算機。実在しない

……と、ここまで書いてから「Java仮想マシン仕様」を読み直してみると
>最新のJava仮想マシンの実装では、より高度に洗練された方法によってWin32やSolaris上で
>Java仮想マシンのエミュレートを行っている
という文脈があるので、普通に使うっぽい


330 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 02:19:12 ]
>>319
書き方がC言語っぽいけど、Javaはnew char[200];みたいなことをしなくてもstr.length()があるよん
配列はポインタじゃないから、c.length でも同じ値とれるけど

java.sun.com/javase/ja/6/docs/ja/api/java/lang/String.html
ここはよく読むといいよ

以下蛇足 0-9の文字で文字列を分ける=演算子を取り出す
String str="-1+2*3+4";
String split[]=str.split("[0-9]+");
for (int i = 0; i < split.length; i++) {
System.out.println(split[i]);
}
こういう方法もあるんだって知っておくのもいいかも

331 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 02:28:43 ]
>>329
たぶんその書き方は、Java仮想マシンという仕様を(実質オペコード)、エミュレータとして実装したってことじゃないかと思う。



332 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 02:28:50 ]
>>328
>どうでもいいがなんでシーケンシャルな処理とオブジェクト指向が対比されてんだ

(答) だって人工無脳なんだもん

333 名前:デフォルトの名無しさん [2008/11/26(水) 02:30:34 ]
>>328
あの・・・よく読んでいるようですけど・・・もしあなたの言う「〜とか」を否定すると、Windowsなどで動く全てのGUIアプリを否定することになりますよ?

334 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 03:23:14 ]
>>328
おまえがコンソールアプリしか作ってない理解できないんじゃないのか?
VRAMとか言ってるけど、おまえがGUIアプリを作ってもせいぜいポトペタしかやったことないんだろww

335 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 03:32:51 ]
>>333
ああ、あなたも人口無能でしたか。

336 名前:デフォルトの名無しさん [2008/11/26(水) 03:35:47 ]
人口無能ww

337 名前:デフォルトの名無しさん [2008/11/26(水) 03:37:35 ]
ポトペタがあれば永遠に俺は幸せ!

338 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 04:11:19 ]
ほう

339 名前:デフォルトの名無しさん [2008/11/26(水) 04:20:15 ]
ポトペタのユーザはともかく、ポトペタな開発を実現するツールキットを設計
する人は偉大だと思うな。
その才能を多くの凡庸な開発者達のために役立てているし、つまらん仕事
を最小限の手間暇で片付けられるので大変世の中に貢献している。

なのでかの人工無能くんにはポトペタでとてもマルチスレッドなGUIアプリが
構築できるツールキットを是非開発して欲しいと思う。

340 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 04:34:25 ]
SUNが破産手続き開始の申し立てだそうだ。記念カキコいっとけ。
mamono.2ch.net/test/read.cgi/newsplus/1227609444/

341 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 07:41:44 ]
>>340
SUN は SUN でも microsystems じゃないやつだろ。Second Life のベンチャーじゃん。
まあ Sun micro はいつもリストラ計画だの四半期ベースが改善しただの見てるこっちを
ハラハラさせるニュースが多いことは確かだが。



342 名前:デフォルトの名無しさん [2008/11/26(水) 08:41:13 ]
>>339
それって座標計算とレイアウトなだけじゃないの?
そうするとゲーム開発者は偉大ってことになるし。
sincosとか使ったことないし、tanの2倍角の公式とか知らない口でしょw

343 名前:326 mailto:sage [2008/11/26(水) 08:41:16 ]
>327
俺が通っていた工業高校では、情報技術者試験のアセンブラ科目で使う
CASLを搭載したと仮定しているコンピュータのエミュレータをWindows上で動かしていて、
「仮想計算機のエミュレータ」と呼んでいたので、
実在はしないが仕様は決定されているコンピュータなら、
それをソフトウェアで再現したものはエミュレータと呼べるのかな、
じゃあJVMもエミュレータなのかな、って思ったんです。

>329
おお、ありがとう!
仕様でエミュレータって呼ばれてるんですね。
スッキリしたw

344 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 08:55:47 ]
>>343
ああそれそれ、JVMはCASLと同じ考えでいいんじゃないの。
実際JVM仕様を読んで自分でfile.classを吐き出す簡単な処理系を作れるなら、jrubyとかgrooovy,sclara,javafxとかのマイ言語作ってるのと同じだし、javacだってjvmプラットフォームの1つに過ぎない。
というか、仕様が最低限しかないから簡単だから俺ならJVMで動くCASLかCを作るけどね。

345 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 08:57:09 ]
>>342
お前どっかずれてるわ

346 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 09:17:50 ]
HttpClientで、executeMethodして接続しているところを割り込んで止める方法はないでしょうか?

347 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 10:00:45 ]
>>345
というか、おまえならどうやって作るの?

348 名前:デフォルトの名無しさん [2008/11/26(水) 10:02:54 ]
リストやツリーのデータ構造を自作できない奴に何言っても無駄無駄

349 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 10:17:39 ]
だなw

350 名前:デフォルトの名無しさん [2008/11/26(水) 10:31:15 ]
>>343
頑張って大学に入って頑張って勉強してくださいなw

351 名前:デフォルトの名無しさん [2008/11/26(水) 12:26:24 ]
public static void main(String args[]){
int a = 4, b = 7;
int i, j;
for(i = 0; i < a; i++){
if (i%2 == 0){
for(j = 0; j < b; j++){
System.out.print("*");
}
}
else {
for(j = 0; j < b; j++){
System.out.print("=");
}
}
if (i%2 == 1){
System.out.println();
}
}
}

*******=======
*******=======
と表示したいのですが、最後のif文で改行処理の判断をするのではなく、これを表示処理の判定に含めたいです。
どなたかやり方を教えて下さい。出来れば簡単な方法でお願いします。




352 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 13:03:48 ]
フレームワークとしてマルチスレッドなGUIを構築できたら

開発環境の仕事はソースの生成アシストとナビゲーションだろ
どっちにしても難しいなこれは

俺にはむりむり

353 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 13:15:03 ]
>>342
ポトペタを実現するのに必要な事として座標計算とレイアウトしか
想像出来ないおまいさんはマジ幸せ者だよ。ホント。

354 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 13:15:30 ]
そんなデカイのを作る必要はないな。既に有用なIDEがいくらでもある。
もっと違った視点で見てみると面白い活用法が浮かぶんじゃないか?

355 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 13:24:36 ]
>>354
いや、俺が欲しいのはポトペタなんだが。
是非とてもマルチスレッドなGUIアプリを開発できるツールキットを開発してくれ。
それが出来ればIDEなんてEclipseのプラグインとしてサクッとすればいい。
おまいさんには簡単だろ?

356 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 13:36:41 ]
ていか、もう出来てるんだが?
それも座標計算とレイアウトだけで。

マルチスレッドなGUIアプリを開発できるツールキットってのは何を言ってるか意味不明だけど、
君が欲しい機能や仕様をまとめてくれればたやすいんじゃないの?

357 名前:デフォルトの名無しさん [2008/11/26(水) 13:42:42 ]
たぶんなんだけど、マルチスレッドとスレッドセーフがよく分かってないんじゃないの?オジサンだからw

358 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 13:57:28 ]
>>356
ああ、おまいさんのいうポトペタとはドラッグアンドドロップでGUIをデザイン
出来る事だけを言うわけですね。わかります。
ポトペタなめんなよw

あとマルチスレッドなGUIツールキットの仕様については人工無能君に聞いてくれ。
元々彼がSwingその他を馬鹿にするところから始まったネタだから。

359 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 14:04:40 ]
ネタなのにあえて釣られることはない

360 名前:デフォルトの名無しさん [2008/11/26(水) 14:12:08 ]
Java終了のお知らせ
SUNが破産手続き開始の申し立て
mamono.2ch.net/test/read.cgi/newsplus/1227609444/

361 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 14:17:42 ]
>>360
>>340で既出



362 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 14:48:57 ]
まあ、たしかにJava2Dでやっちゃえばなんでもありになるわな
あとはイベントどうするかってのとスレッド(協調動作)にそいつがどれほど慣れてるかだし
実際問題Java2DはGUIのときに出てくるだけで、イベントとかスレッドはGUI関係ないしなぁ

363 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 14:49:41 ]
Vector vlistA
├String aID
└list[]
├String kekka1
└String kekka2

指定したaIDのlist[]の中身を追加、削除したいのですが、addやremoveでは無理でした。
追加、削除方法を教えてください。


364 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 14:57:57 ]
ArrayList vlistA
├String aID
└ArrayList list
├String kekka1
└String kekka2

にすれべおk


365 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 15:02:29 ]
>>364
図がずれてました。
Vector vlistA
├String aID
└list[]
   ├String kekka1
   └String kekka2
list[]は仕様上、配列のままにしておきたいんです。


366 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 15:04:19 ]
そんな仕様は糞だ

367 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 16:35:15 ]
>>362
その通りなんだけど、個人で作って利用するプログラムと他人様が利用して
作成物の保守もするツールキットとでは設計の基準が異なるんだよね。
後者ではちゃんと利用者像を想定して、落としどころを見つける必要がある。
そのためには機能の絞り込みも必要で、何でもありにはならないんだ。

368 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 17:13:32 ]
>>365
list[]を追加、削除のたびにnewしてやればいいんじゃね?

もしくは、削除ならforで回して詰める、追加もforで回して隙間あけて入れる。
追加する余裕が配列になければnewしてやる

369 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 17:24:12 ]
>>351
簡単にということなので、変数一個減らして、for文一個減らしてif文全部無くしてみた。
import java.util.*;
class Nichan {
public static void main(String[] args) {
int a = 4, b = 7;
char[] out = new char[b*2];
Arrays.fill(out,0,b,'*');
Arrays.fill(out,b,b+b,'=');
for(int i=0; i<a/2;i++){
System.out.println(String.valueOf(out));
}
}

}

370 名前:351 mailto:sage [2008/11/26(水) 18:02:51 ]
>>369
回答ありがとうございます。
なるべく原形とどめつつ最後のif文だけ何とか出来ませんかね?
注文多くてごめんなさい。

371 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 18:16:17 ]
>>370
if (i%2 == 1){ /* hogehoge */ } ってことは、
if (i%2 == 0){} else { /* hogehoge */ } ってことでしょう。

for(j = 0; j < b; j++){
 System.out.print("=");
}
System.out.println();




372 名前:370 mailto:sage [2008/11/26(水) 19:03:13 ]
>>371
なるほど・・・
ありがとうございました。
いい勉強になりましたm( _ _ )m

373 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 19:47:45 ]
>>318,323
もう解決してるかもしれないけれど、
携帯電話・PHS 関連なら、MIDP スレも参考になる情報もあるかも。
WILLCOM の電話機なら、MIDP 2.0 に準拠しているようだから。

CLDC+MIDP+携帯電話用Javaスレッド part 8
pc11.2ch.net/test/read.cgi/tech/1206017034/l50

374 名前:319 mailto:sage [2008/11/26(水) 20:24:06 ]
>>320,325,330
ありがとうございました。
if(c[i]=='+'|c[i]=='-'|c[i]=='*'|c[i]=='/')
こうしなくちゃいけなかったんですね。
ようやく分かりました。
String型のメソッドは覚えておいたほうがよさそうですね。
よく読んでおきます。
splitを使ったやり方も、試して見たいと思います。
ご丁寧にありがとうございました。

375 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 20:54:59 ]
C出身なら if (stg.charAt(i)=='+' || stg.charAt(i)=='-') ですかね。
ジャバ出身者でtoCharArrayを使うのはなかなかいません。

376 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 21:21:36 ]
すいません、JAVA3Dと
acerola3d.sourceforge.jp/
上URLのacerola3Dを使ってappletに表示させたいのですが行き詰ってしまいまして。
どなたかご教授願えませんでしょうか?

377 名前:318 mailto:sage [2008/11/26(水) 21:28:43 ]
>>373
おお、専用スレがあったんですね。
thxです!

378 名前:デフォルトの名無しさん [2008/11/26(水) 21:55:53 ]
Javaってあれだね?最初、Javaからやったらわけわかんなかったけど
色々言語やったら好きになった。便利だね。Write anywhere, Run once.だっけ?

379 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 21:57:33 ]
正しくは write once test anywhere

380 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 22:07:47 ]

ttp://xy.yu.to/ (ここは本来のサイトではないが)
この荒れまくりカオス絵チャのminiっていう部屋の
秘密スペース(枠外)への書き込みってどうやれば
できるようになるのか解析して教えろ。

あと、1人の防衛プログラマーのクリアツールが強すぎて、
荒しプログラマーがことごとく全員返り討ちになってるから
オマエラが面白くしてみろ。

ゲハハハごめんね

381 名前:デフォルトの名無しさん [2008/11/26(水) 22:14:32 ]
日頃からコード書いていて処理に慣れてる人はメソッド名が長い!冗長だ!とか文句言ったりしなくなりますよww
さらに演算子オーバーロードー!!プロパティ!!とかも「はぁ?」って感じですかね?(笑)



382 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 22:29:32 ]
>>374
「|」じゃない。「||」だ。
まぁ、どうせ>>374のままだとエラーが出るからすぐわかるはずだけど。

383 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 22:32:50 ]
サーブレットで文字化けみたいになるんですが
すべて?ってのは文字化けではないですよね?
コンテンツタイプの設定でEUC_JPやShift_JISなどに変更しても変わりません
どうしたら直るか教えてもらえませんか?


384 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 22:53:09 ]
>>382
>>374 は確かに良い書き方ではないけど、
エラーはでないぞ。
| と || の違いを分かってないのか?


385 名前:319 mailto:sage [2008/11/26(水) 22:55:03 ]
>>375,382
なるほど〜
わざわざchar型に入れ替えるより
charAtを使った方がすっきりしますね。
一応やってみて『|』でもうまくいったのですが
この場合『||』の方がいいんですかね?


386 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 23:03:34 ]
>>384
げ、論理演算て整数にしか定義されないと思い込んでたよ。
型違反になると思ってた。

387 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 23:08:39 ]
>>386
ま、そんなもんでしょ。
ANSI Cを骨の隋までしゃぶってるわけじゃないし、そこまで細かく知ってる人いないし。
いちおう | は全部評価するってこと。

388 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 23:12:15 ]
charAtだと余計なメソッド呼び出しの分コストがあるかな。
ストリームだと[]で受けるから、Stringにしないでそのままst[k]とかすることはある。


389 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 23:26:12 ]
Javaって|はビット演算子じゃないの?

390 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 23:41:43 ]
>>389
| はビット単位の整数演算子でもあるけど、論理演算子でもある。

391 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 23:41:55 ]
>>389
そう思って>>382を書いたら恥かいた(^^;
&, |, ^ については、整数と真偽値の両方について定義されてて、整数のときはビット演算子、真偽値のときは論理演算子として振る舞う。
ただし、演算子の左右が両方とも整数か、両方とも真偽値でなければならなくて、例えば、1|trueはコンパイルエラー。
言語仕様の15.22参照。



392 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 23:56:22 ]
>>390,391
thx
何か微妙な仕様だなw

そこらへんは、C/C++から派生した言語として統一しておいてほしいね。
無駄に悩みそうだしw

393 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 00:10:30 ]
どう考えても妥当な仕様だと思うが。
これ以外のどれでもいまいちな仕様になるだろ。


394 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 00:46:37 ]
複数の意味を持たすメリットが微妙に見える
C/C++と同じでいいじゃん

395 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 01:43:36 ]
javaでは真偽値と整数は非可換なんで&や|での扱いをC/C++と同じにするのは妥当とはいえない

396 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 01:56:44 ]
いやいや、整数のみ(ビット演算のみ)に意味を持たせればいいじゃん、
と言う意味なのだが。

C/C++でも通常boolで|や&は使わないし。
それがイコールC/C++と同じにすることになると思うけど。

あれ?俺何か勘違いしてる?

397 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 02:11:13 ]
論理演算子として、

|…or。左辺も右辺も必ず評価。
||…or。左辺が真なら右辺は評価しない。
&…and。左辺も右辺も必ず評価。
&&…and。左辺が偽なら右辺は評価しない。

だと思ったけど、違った?

398 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 02:31:29 ]
|| や && はあるのに ^^ はないのは如何に

399 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 02:37:44 ]
つか、当たり前だった

400 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 02:38:08 ]
>>398
右も左も計算しないと結果が出ないんだから、^ と等価になるだけじゃね?

401 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 03:42:55 ]
>>398
ワロス
booleanでの&と&&の使い方・・・ ようするに>>397みたいなのなかなか参考書に書いてないか、気づきにくいよね



402 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 06:41:36 ]
if (t == null || t.length() == 0) ...
みたいな書き方をしたとき、
(t == null) が true なら t.length() が呼ばれないので
NullPointerException が発生しない。

foo() と bar() が確実に1回ずつ呼ばれないと困るとき
if (foo() | bar()) ...
みたいに書ける。


403 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 07:39:47 ]
このスレがはじめて役に立った

404 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 10:02:53 ]
>>402
>foo() と bar() が確実に1回ずつ呼ばれないと困るとき
>if (foo() | bar()) ...
>みたいに書ける。
タイプミスなのか意図的なのかが分かり難いからあまり使って欲しく無いな

405 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 11:36:28 ]
System.setIn(),setOut()などで入出力を変更したとします。
その後、元々の標準入力・出力を取得することはできますでしょうか?
単純に別に元々のものを持っておけばいいのですが、気になったので分かる方お願いします。

406 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 12:40:27 ]
携帯でプログラミングできますか

407 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 13:07:02 ]
>>406
おすすめしないができる。

408 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 13:43:51 ]
>>407
ありがとうございます
タイピングが遅いとかですかね


409 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 14:25:20 ]
>>305
スコープの問題は?
init メソッドの中で宣言されてるZukeiに
paintからアクセスしようとしてるからダメなんじゃねーすか?
initメソッドの外にの外にZukei[] z;って書いたらよいとおもわれ〜。

Zukei[] z;
init(){

}

>>316
うそつけ。

410 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 15:48:25 ]
javaで作ったプログラム(SQLサーバとやりとりして出力があるなら出力する)を3分起きに実行させ続けたいのですが
何を使ったらいいでしょう?スレッド?は違いますよね・・・

411 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 16:00:54 ]
cronとかタスクスケジューラとかそういう話?



412 名前:410 mailto:sage [2008/11/27(木) 16:04:08 ]
>>411
いや、javaのプログラム内で繰り返したいです
昔ちょっとやってたんですけど、HDDクラッシュでデータがなくて・・・

413 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 16:10:15 ]
スレッドをまわしっぱなしにしてsleepで(180)とかにすればいいのかな?

414 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 16:15:19 ]
>>413
sleep はミリ秒だぞ

415 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 16:16:13 ]
タイマーでもいけるんじゃない。このあたりで。
java.util.timer
javax.swing.Timer
java.util.concurrent.ScheduledExecutorService


416 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 16:24:23 ]
>>414
そうだった、180000だな、ありがと

417 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 16:39:57 ]
javaにはfork()は無いの?

418 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 17:19:05 ]
Tomcatユーザメーリングリストに参加
www.jajakarta.org/tomcat/faq/tomcatuser.html)したくても参加できないのですが、
どうすればよいでしょうか?

419 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 17:25:53 ]
TimerTask使うのがらくなんじゃね?

420 名前:デフォルトの名無しさん [2008/11/27(木) 17:30:37 ]
ある関数 List<String> hoge(List<String> list); を開発しています。
hoge() には、String を要素とする List が渡されてきます。
このとき、List が保持している String は重複しているかしていないか、わかりません。

この関数の中で、重複している要素は削除して、リストを返したいです。
(Set を返却値としたかったが、呼び出し元が List を要求していて、そこは修正できない)

そこで以下のようなプログラムを書きました。

List<String> hoge(List<String> list) {
  Set<String> set = new HashSet<String>(list);
  List<String> resultList = new ArrayList<String>(set);
  return resultList;
}

このように一度 Set に入れなおすことで重複を自動的に削除し、
List に変換しています。

○質問:
Set や ArrayList に入れなおすとき、中の要素は
コピーされて渡されるのか、参照渡しになるのでしょうか?

HashSet や ArrayList のコンストラクタのソースを見ると、中で
AbstractCollection#addAll(Collection) が呼ばれているようです。
その中では、渡された Collection を Iterator で回して
得られた要素を add しているので、参照渡しにしていると考えました。

hoge() 関数には大量(10万単位)の文字列が渡ってくるので、できれば
OutOfMemory を起こしたくないため、参照渡しになってほしいです。

421 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 17:43:41 ]
>>420
オブジェクトを == で比較してテストすればいいじゃない。




422 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 17:57:29 ]
>>420
中の要素は、コピーされようがコピーされまいが参照渡し。

423 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 18:00:04 ]
>>422
Javaには参照渡しはない。

424 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 18:00:56 ]
そして議論は質問と関係ない方向へ、というわけですね

425 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 19:36:33 ]
private なコンストラクタしかないシングルトンがコピーできたらコレクションは最強だな

426 名前:デフォルトの名無しさん [2008/11/27(木) 19:56:12 ]
俺、病気で高校中退して、25でJavaプログラマになれたんだけど、
当然、大学とかいってないから、予備知識なんてなにもない。

このスレ見るたびに、すごい専門的なこと書く人がたくさんいて、すごい自信なくす。。

個人的には、業務に間に合うように一生懸命勉強してるつもりなんだけど。

いつか、だめになるんじゃないかととても不安。

427 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 20:03:36 ]
大学の4年より、実務の半年のほうがよっぽど濃いかもよ?
濃いの解釈はまかせる

428 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 20:06:02 ]
今情報系の大学院2年だけど
学部時代で授業でやるのなんてほんの一部のプログラミング知識だけだよ
Cの基本的なことだけやって終わり
あとは自分で覚えてくだけだから、>>426より大学生の方がよっぽどレベル低いよ
ここで回答してる人たちは本当にすごい人だなと思う

429 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 20:09:20 ]
このスレってそんなにレベル高いか?

430 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 20:10:22 ]
実務では、ちゃんとやろうとしても
コピペ坊の華麗な手さばきにはついていけません

431 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 20:12:20 ]
さらに、野生の勘が閃く削除坊の使い手が現れると
プロジェクトは終焉を迎えます。



432 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 20:23:33 ]
大学で勉強するのは、研究対象として定量的に評価できるもの。
実務で必要とされるであろうものとは、方向性が異なる。
それでも、それで論文みたいなものを書くすごい人とかいるけど

433 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 20:35:46 ]
>>428
しょぼい大学だったからじゃないの〜?

434 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 20:38:07 ]
全く経験のない人はなぜか特別視するけど,
実際プログラミングの勉強なんかExcel覚えるのと変わらん

435 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 20:43:39 ]
そろそろマ板へ移動しよう

436 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 20:48:57 ]
>>433
学歴コンプか?
大学なんて入試の難易度と授業の内容に差なんかないぞ

437 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 20:58:02 ]
>>426
業務系のプログラマならそこそこの腕で食っていけるんじゃないかと思う

客観的な評価なんてここじゃできんから
周りのプログラマと比べて、自分より上な人と、下な人の数で判断するしかないんかな

後はプログラムを楽しいと思えてれば、楽しんで仕事してお金貰えるなんてハッピーって感じで生きていけばいいさ

438 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 21:02:05 ]
TreeSet<Object> tree = new TreeSet<Object>();
tree.add( /* 何か色々と追加 */ );
HashSet<Object> hash = new HashSet<Object>(tree);
assert tree.size() == hash.size();


これで AssertionError が出てくるんですが……なぜだか誰か教えていただけませんか?

439 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 21:03:52 ]
ってごめん! いきなりわかったっ orz
ありがとう〜(´;ω;`)ノシ

440 名前:hitto [2008/11/27(木) 21:35:42 ]
開発環境: Java , Struts

JSPにおいて
<input name=sex_kbn value=1 checked>男
<input name=sex_kbn value=2>女

このようなチェックのつけ方は学んだのですが、

前画面から送られてきたsex_kbnの値が1の場合は男に、2の場合は女にあらかじめチェックを付けて、
画面を表示するとなると方法がわかりません。
教えていただけるとありがたいです。
よろしくお願いします。



441 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 21:37:17 ]
>>434
日本語でおk

Excel覚えるって何?Excelの存在を覚えるって事かな?




442 名前:デフォルトの名無しさん mailto:sage [2008/11/27(木) 21:37:41 ]
>>440
マルチ乙

443 名前:デフォルトの名無しさん [2008/11/27(木) 22:09:13 ]
>>441
最近こういうあおりも、もう面白くないんだよね。

おまえの方が日本語やり直しのようだなw

444 名前:デフォルトの名無しさん [2008/11/27(木) 23:12:00 ]

すみませんが教えてください。

Class<T>のgetSimpleNameというメソッドを使用していますが
これがExceptionを発生します。

同じソースでも違う環境ではエラーにならないので
環境の問題だと思うのですが
何かヒントだけでもいただけないでしょうか?

445 名前:デフォルトの名無しさん [2008/11/27(木) 23:33:36 ]
ゲーム製作版なんてあったんだね。知らなかった。

446 名前:デフォルトの名無しさん mailto:sage [2008/11/28(金) 00:00:51 ]
>>444
エラーになる環境のJDKのバージョンと、
getSimpleName() 使うと Exception 出す Class<T> の生成方法やら toString() の出力結果ぷりーず

447 名前:デフォルトの名無しさん mailto:sage [2008/11/28(金) 00:40:28 ]
>>444
生の java.lang.Exception を throw するって結構特殊な気がするので、その辺から原因を絞り込めるんじゃないだろうか?

448 名前:デフォルトの名無しさん mailto:sage [2008/11/28(金) 00:51:19 ]
>>444はマルチポストだよ。

仕事でやってるからエラーは貼れないそうで。

仕事でやってるならにちゃんねる頼るのはどうかなー。

449 名前:デフォルトの名無しさん [2008/11/28(金) 01:02:32 ]
>>444
環境依存はJavaの問題じゃないってのが答え
それと、おまえはもう来るな

450 名前:デフォルトの名無しさん mailto:sage [2008/11/28(金) 09:52:32 ]
コレクションで、リスト構造は持つが重複を許さないようにしたい場合、リストとは別に含まれているかのチェックのためにセットを持たせたりしますか?
List#containsで判断するのはいかにもコストが高そうでいやなんです。

451 名前:デフォルトの名無しさん mailto:sage [2008/11/28(金) 10:14:22 ]
最初から java.util.Set じゃいかんのか?



452 名前:デフォルトの名無しさん mailto:sage [2008/11/28(金) 10:43:56 ]
>>450
あなたの言う「リスト構造」って何のために使うの?

453 名前:デフォルトの名無しさん mailto:sage [2008/11/28(金) 11:01:15 ]
LinkedHashSet じゃダメなのか?

454 名前:デフォルトの名無しさん mailto:sage [2008/11/28(金) 11:17:35 ]
>>453
探していたものはまさにそれです。ありがとうございました。
APIドキュメント読み足りませんでした・・

>>452
基本的にはSetとして使うのですが、加えた順序が欲しくなったんです。
具体的にいいますと、プロクシの収集を行っていたのですが、ページ中に上の方が新しいものがあったためです。
それが登録された時間までプロクシのオブジェクトに加え、Comparetorで比較というのもありかもしれませんが、何か他に方法がないかと気になったので質問させていただきました。

455 名前:デフォルトの名無しさん mailto:sage [2008/11/28(金) 11:52:31 ]
rg550.hp.infoseek.co.jp/cgi-bin/joyful/img/492.java

2次元画像のパターンマッチングをしているのですが、上のプログラムで
マッチングの閾値の設定がどう行われているのかよくわかりません。

また閾値を低くするにはどのようにすればいいのでしょうか。


どなたかご教授お願いします。

456 名前:デフォルトの名無しさん mailto:sage [2008/11/28(金) 12:58:15 ]
閾値ってか白黒画像だろう扱ってるのは
カラー画像は読み込み時に toBinaryImageで白黒化されている

457 名前:デフォルトの名無しさん mailto:sage [2008/11/28(金) 13:01:01 ]
Tomcatユーザメーリングリストに参加
www.jajakarta.org/tomcat/faq/tomcatuser.html)したくても参加できないのですが、
どうすればよいでしょうか?

tomcatスレがないのでここで質問させていただきました。
(正確にはありますが、関係ないようだったので)

458 名前:455 mailto:sage [2008/11/28(金) 13:18:42 ]
>>456
ではどのようにパターンを読んで抜き出しているのでしょうか?

閾値の設定は

459 名前:455 mailto:sage [2008/11/28(金) 13:20:31 ]
>>458
間違って一度書き込んでしまいました^^;

ではどうやってマッチングの閾値を設定するプログラムを作ればいいのでしょうか?
今のやつではターゲットと全く同じパターンしか抜き出すことができなくて・・・。

460 名前:デフォルトの名無しさん mailto:sage [2008/11/28(金) 14:59:52 ]
swingでJFileChooserを使ってファイルの保存ダイアログを表示させています。
そこで「拡張子の指定がなかった場合は自動的に.txtを付与する」という機能を付けたいのですが
どういったメソッドが用意されているでしょうか

461 名前:デフォルトの名無しさん mailto:sage [2008/11/28(金) 15:07:42 ]
getSelectedFileでもオーバーライドすれば?



462 名前:デフォルトの名無しさん mailto:sage [2008/11/28(金) 22:54:59 ]
最近本を買って勉強を始めたのですが、本のサンプルソースを丸写ししてもコンパイルにエラーが出てしまいます。
始めたばかりでよく分からないのですが、

import java.util.Scanner;

int x = stdIn.nextInt();
がダメなようです。

いきなり変数にキーボードから代入するという初めのほうで止まってしまって困っています。
全部のソースを上げたいのですが、ロダとかいろいろ使い方が分からないので抜粋しました。

ググっても知識がなさ過ぎて、ますます分からなくなる始末でした。
もしよければどこが悪いか教えていただけると幸いです。

463 名前:デフォルトの名無しさん mailto:sage [2008/11/28(金) 22:57:16 ]
>>462
javaのインストールとかパスとかは通したの?

464 名前:デフォルトの名無しさん mailto:sage [2008/11/28(金) 23:06:38 ]
エクリプスいれてやってみ

465 名前:デフォルトの名無しさん mailto:sage [2008/11/28(金) 23:06:39 ]
javaのバージョンは何使ってます?
1.5くらいからだっけ?.Scanner

466 名前:デフォルトの名無しさん mailto:sage [2008/11/28(金) 23:08:00 ]
>>462
hello worldは実行できたの?

467 名前:デフォルトの名無しさん mailto:sage [2008/11/28(金) 23:09:27 ]
scannerはJDK 5.0から。

468 名前:デフォルトの名無しさん [2008/11/28(金) 23:09:54 ]
みんな親切だなwこんな教えて君以下のカス相手に

469 名前:デフォルトの名無しさん mailto:sage [2008/11/28(金) 23:21:08 ]
今度から君の質問にも答えてあげるから今回はひがむな、教えて君

470 名前:462 mailto:sage [2008/11/28(金) 23:29:14 ]
hello worldはできました。
どうやらバージョンが悪かったようです。
確認したら C:\j2sdk1.4.2_18 となっていたので、新しいの入れないとダメみたいですね。

みなさん、こんな初歩の初歩の質問に答えていただきありがとうございました。

471 名前:デフォルトの名無しさん mailto:sage [2008/11/28(金) 23:33:02 ]
for(int a=0; a<12; a++){
これのa++で1足すって事ですよね?
2づつ足したい場合は如何すれば良いんですか?



472 名前:デフォルトの名無しさん [2008/11/28(金) 23:36:14 ]
a+=2

473 名前:デフォルトの名無しさん mailto:sage [2008/11/28(金) 23:39:10 ]
>>472
有難うございます

474 名前:デフォルトの名無しさん mailto:sage [2008/11/29(土) 00:14:48 ]
>455
どっかで見たことあると思ったら宿題スレか

475 名前:デフォルトの名無しさん mailto:sage [2008/11/29(土) 02:22:30 ]
>>455
見た感じ、半数以上の"1"(黒?)のドットが一致すればヒットしそうだが。

476 名前:デフォルトの名無しさん mailto:sage [2008/11/29(土) 03:53:17 ]
ResultSet の getString と getNString はどう違うんですか?
NCHAR型 読み込むときに getString 使ってると何か問題起きるとか?

477 名前:デフォルトの名無しさん mailto:sage [2008/11/29(土) 06:44:36 ]
TreeMap<Integer, Integer> treemap = new TreeMap<Integer, Integer>();
for(〜){
treemap.put(keyl, val);
}
int j = treemap.size();
int[] order = new int[j];
for (Map.Entry<Integer, Integer> in : treemap.entrySet()) {
order[--j] = in.getValue();
System.out.println("j:"+j);
System.out.println("Key:" + in.getKey());
System.out.println("Val:" + order[j]);
}
このようにtereemapの要素を配列に降順にいれようとしたのですが、treemapの要素がマイナスのとき
それがサイズとしてカウントされませんでした。
例: 1,6,33,7,-1,-9 のときのサイズは4つ
これは何故こうなるのでしょうか?

というかそもそもこれよりも簡単綺麗に降順にして配列にいれる方法ありましたら教えてください

478 名前:デフォルトの名無しさん mailto:sage [2008/11/29(土) 09:57:10 ]
>>477

>というかそもそもこれよりも簡単綺麗に降順にして配列にいれる方法ありましたら教えてください

降順にするならComparatorを実装したクラス一個作ってそれを使ってtreemapを
コンストラクトした上で
treemap.values().toArray()で配列を取り出すとかすればいけそうな気はする


479 名前:デフォルトの名無しさん mailto:sage [2008/11/29(土) 15:03:16 ]
>>478
ありがとうございます
今試しにやってみたところtreemapの精度が正確ではないのか
ソートがところどころ順番がおかしくなっていました

2つの要素i,jがありそれぞれをセットとして、iで降順にソートし、その順番でjを配列に格納するにはどうしたらいいのでしょうか?
i , j
4 , 43
675, 23
262, 5

675, 23
262, 5
4 , 43
とソートしたいと思っています

int [][]ar = new int[64][2]; //無駄な配列ができますが、ループが終わるまで要素数がわからないので・・・
int j;
for(int i =0;i<64;i++){
if(iがある条件なら){
j= getKey(〜);
}
ar[i][0] = j;
ar[i][1] = i;
}
そしてこのarをar[i][0]の降順にソート
int ar2 = new int[ar.length];
for(int i=0; i<ar.length;i++){
ar2[i] = ar[i][1];
}
return ar2;

480 名前:デフォルトの名無しさん mailto:sage [2008/11/29(土) 15:26:07 ]
>treemapの精度が正確ではないのか
うけたw

481 名前:デフォルトの名無しさん mailto:sage [2008/11/29(土) 16:46:47 ]
>>479
どこから突っ込めばいいんだ・・・



482 名前:デフォルトの名無しさん mailto:sage [2008/11/29(土) 17:33:21 ]
>>479
やっつけで作ってみたけど、やりたいのはこゆこと?
import java.util.*;
public class Test{
public static void main(String args[]){
TreeMap<Integer, Integer> treemap = new TreeMap<Integer, Integer>(new TestCmp());
treemap.put(Integer.valueOf(4),Integer.valueOf(43));
treemap.put(Integer.valueOf(675),Integer.valueOf(23));
treemap.put(Integer.valueOf(262),Integer.valueOf(5));
Object[] keys = treemap.keySet().toArray();
Object[][] result = new Object[keys.length][2];
int i=0;
for(Object key:keys){
result[i][0]=key;
result[i][1]=treemap.get(key);
System.out.println("key="+result[i][0]+":val="+result[i][1]);
i++;
}
}
}
class TestCmp implements Comparator{
public int compare(Object i1, Object i2){
if((Integer)i1<(Integer)i2){return 1;}
if((Integer)i1>(Integer)i2){return -1;}
return 0;
}
public boolean equals(Object o){
if(o.equals(this)){return true;}
return false;
}
}

483 名前:デフォルトの名無しさん mailto:sage [2008/11/29(土) 17:45:56 ]
Comparatorを書かなくても元々キーの昇順にソートするComparatorを持っているからそれを逆にすればいい。
TreeMap<Integer, Integer> treemap = new TreeMap<Integer, Integer>();
treemap.put(4 , 43);
treemap.put(675 , 23);
treemap.put(262 , 5);

TreeMap<Integer, Integer> reversemap = new TreeMap<Integer, Integer>(Collections.reverseOrder(treemap.comparator()));
reversemap.putAll(treemap);

System.out.println(treemap);
System.out.println(reversemap);
配列に代入するところまでは書かない。

484 名前:デフォルトの名無しさん mailto:sage [2008/11/29(土) 17:49:26 ]
進捗バーについての質問です。ご教授ください。

for文で約30レコードのデータをオラクルから持ってきていていまして、
そのデータのロードがあまりにも遅いために進捗バーを設定したんですけど、
for文内でsetValue()で値を随時セットしているようにしても、バーは正しく動作せず、
パッと突然0%から100%に変わってしまいます。どうやらfor文の中で値を設定しても
バーの表示が変わるのはfor文を抜けた直後なのが原因だそうですが、
だとすれば、一体どのようにすれば進捗バーはちゃんと動作してくれるのでしょうか?
Eclipseを利用して画面を作成しています。

485 名前:デフォルトの名無しさん mailto:sage [2008/11/29(土) 17:49:58 ]
treemapが最初にありきの場合なので、
最初から逆順ソートのComparatorを持つTreeMapを作って、
それにputしていくのならこれは関係ないね。

486 名前:デフォルトの名無しさん mailto:sage [2008/11/29(土) 17:55:26 ]
>>484
バーが正しく動作しないのではなくバーを正しく動作させていないのでは
ここらへんを参考に
ttp://java.sun.com/docs/books/tutorial/uiswing/components/progress.html

487 名前:デフォルトの名無しさん [2008/11/29(土) 19:24:40 ]
JNI使って、
int[] を返す native な関数をつくり、
DLLを C/C++ で実装し、
malloc とかしてメモリ確保してそのポインタをして返しやったりした場合、

Java 側ではガベージコレクションされなくなるんでしょうか?
(new したものしかガベージコレクション対象にならない?)

また、free するような関数も DLL で実装して、
int[] (jintarray になるのかな?) を渡して
開放とかってできるんでしょうか?

DLL で画像処理させたい(MMXとかを使う)ので、
メモリアライメントがとれてる配列を使いたいので、、、

スレ違いかもしれませんが、よろしくお願いします。

488 名前:デフォルトの名無しさん mailto:sage [2008/11/29(土) 20:36:14 ]
Serializableで、プリミティブ基本型と配列型が自動で直列化されるということは、
もし全てのクラスでSerializableを実装していると
cloneみたく自分でコピーのコード書かなくてもデープコピーになるってことでしょうか?

489 名前:デフォルトの名無しさん [2008/11/29(土) 21:07:17 ]
StringのindexOfメソッドの引数は何故charではなくintなのでしょうか?

490 名前:デフォルトの名無しさん mailto:sage [2008/11/29(土) 21:10:16 ]
>>489
charだろ

491 名前:デフォルトの名無しさん mailto:sage [2008/11/29(土) 21:22:12 ]
>>487
とりあえずJNIスレはこの板にあるのでそちらで聞いた方が良いだろう、
という事と、JNIに準じたコードを素で実装するよりSWIGを利用した方が
色々と楽が出来ると思います。
それこそガベージコレクタ周りもサポートありますし。



492 名前:デフォルトの名無しさん mailto:sage [2008/11/29(土) 21:48:50 ]
わからないからってすぐすれ違いにするなよ

493 名前:デフォルトの名無しさん mailto:sage [2008/11/29(土) 22:10:41 ]
>>487
malloc で確保したメモリを返しても int[] にはならんよ。

1.4以降の NewDirectByteBuffer 使うとか?
pc11.2ch.net/test/read.cgi/tech/1033795664/587-596 あたりに出てるけど
ネイティブ側で確保したメモリは、JVMのガベコレは解放してくれないので
自前で解放する必要があるみたいね。

494 名前:デフォルトの名無しさん [2008/11/29(土) 22:11:15 ]
いや、そういうわけじゃないんだけどね。
普通はByteBuffer.allocateDirectをつかう。
この関数は、要望が多かったから、君がやりたいようなことをそのままJVMでサポートした関数だから。
これも使いたくないって言うなら、ちゃんとAPIドキュメント(JNI)を読むこったw

495 名前:デフォルトの名無しさん [2008/11/29(土) 22:15:38 ]
>>492
分かったら、ちゃんと仏様って呼ぶんだぞ

496 名前:487 [2008/11/29(土) 22:32:12 ]
>>491
ありがとうございます。ただ、色々と複雑な画像処理をするので、
自分で細かくカスタマイズできるレベルが希望なんです。

>>493
うおー、勉強になりました。
ちょっとこれでやってみます。ありがとうございます。

497 名前:デフォルトの名無しさん [2008/11/29(土) 22:37:24 ]
APIも読んでない野郎はカス

498 名前:デフォルトの名無しさん [2008/11/29(土) 22:42:36 ]
JavaってIO関連のAPIの頭の中の整理がいまいちつかないんだけど
俺の頭が悪いのか、皆そうなのか・・・

なんどやってもだめ。すぐ忘れる。

499 名前:デフォルトの名無しさん [2008/11/29(土) 22:44:19 ]
こんなやつ>>492に親切に答えてやるな。
どうせAPIも読まない独学だし、こういうカスが調子に乗ったらどうすんの?
こういうのがそのうち祟り神(荒らし)になっちゃんだしな・・


500 名前:デフォルトの名無しさん mailto:sage [2008/11/29(土) 22:46:08 ]
>>498
そのうち慣れるよ

俺も昔はインプットストリームだバッファーなんたらだって頭がおかしくなりそうだったが
最近は見慣れたし、1度書いたコードをコピペしてシャキーンと直せば解決したりもする

501 名前:デフォルトの名無しさん [2008/11/29(土) 22:58:47 ]
シャキーンもなにも、JNIスレも探してないしすぐ発狂するし、こういう奴は見込みないよ。やめとけ、やめとけ。



502 名前:デフォルトの名無しさん [2008/11/29(土) 23:00:27 ]
>>500
ていうか、おまえは人様が作ったパッケージを使ってるだけだろ?
自分で作ったこともないクセに偉そうにするな。おっさんw

503 名前:デフォルトの名無しさん mailto:sage [2008/11/29(土) 23:04:24 ]
>>498
ここはおまえの日記帳じゃないからとっとと消えろw

504 名前:デフォルトの名無しさん mailto:sage [2008/11/29(土) 23:10:15 ]
>>502
人様が作ったから頭にはいらねーんだよボケが

自分で作ったらいくらなんでも覚えとるわい!

しかし、IDついてないのにみんなよく特定できるな

505 名前:デフォルトの名無しさん mailto:sage [2008/11/29(土) 23:15:31 ]
ソースにはIDあるよ

506 名前:デフォルトの名無しさん mailto:sage [2008/11/29(土) 23:20:23 ]
>>504
雑魚w

507 名前:デフォルトの名無しさん mailto:sage [2008/11/29(土) 23:21:53 ]
>>505
まじか!

俺なんて、自分が書き込んだIDもわからんぜよ

508 名前:デフォルトの名無しさん mailto:sage [2008/11/29(土) 23:45:47 ]
>>482-483
ありがとうございます
無事実現したいことができました

509 名前:498 mailto:sage [2008/11/30(日) 00:20:36 ]
>>500
ありがとう。わけわからんくなるよね?本当に。

>>502
市ね。ごみ屑。

510 名前:デフォルトの名無しさん mailto:sage [2008/11/30(日) 00:23:47 ]
コンストラクタの処理を途中で数秒間止めてから
その後コンストラクタの続きの処理を動かすにはどうすればいいでしょうか?
public コンストラクタ(){
System.out.println("1");
ここで数秒処理を止める
System.out.println("2");
}
このような処理にしたいのですが

511 名前:デフォルトの名無しさん [2008/11/30(日) 01:06:50 ]
eclipseで動かしてるプログラムなんですが下記のエラーが出ます。
データを読み取って新たにファイルを作り出すプログラムなのですが・・・
何が原因でしょうか?

java.lang.IntrnalError: fillbuf
at org.apache.crimson.parser.InputEntity.parsedContent(InputEntity.java:545)
at org.apache.crimson.parser.Parser2.content(Parser2.java:1871)
at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1552)
at org.apache.crimson.parser.Parser2.content(Parser2.java:1824)
at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1552)
at org.apache.crimson.parser.Parser2.content(Parser2.java:1824)
at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1552)
at org.apache.crimson.parser.Parser2.content(Parser2.java:1824)
at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1552)
at org.apache.crimson.parser.Parser2.parseInternal(Parser2.java:534)
at org.apache.crimson.parser.Parser2.parse(Parser2.java:318)
at org.apache.crimson.parser.XMLReaderImpl.parse(XMLReaderImpl.java:442)
at org.jdom.input.SAXBuilder.build(SAXBuilder.java:287)
at org.jdom.input.SAXBuilder.build(SAXBuilder.java:650)



512 名前:デフォルトの名無しさん mailto:sage [2008/11/30(日) 01:27:40 ]
>>511
多分、eclipse ではなくプログラムの方に問題がある感じだね。

513 名前:デフォルトの名無しさん [2008/11/30(日) 09:16:51 ]
ランダムにリンクが飛ぶスクリプトを拾ったんですが、
新ウィンドウでリンクを開く場合はどうしたらいいでしょうか。
アドレスのあとにtarget="_blank"と入れてもだめでした・・・。


<form>
<input type=button onClick="jump()" value="ランダムリンク">
</form>

<script>
url = new Array();

/* リンク先のURLを好きなだけ記述 */
url[0] = "test0.html";
url[1] = "test1.html";


function jump() {
p = Math.round(Math.random() * (url.length - 1));
parent.top.document.location = url[p];
}
</script>

514 名前:デフォルトの名無しさん mailto:sage [2008/11/30(日) 09:30:01 ]
>>513
それJavaScriptじゃ。。。
該当スレで聞いて下さい

515 名前:デフォルトの名無しさん mailto:sage [2008/11/30(日) 09:32:08 ]
すれ違いでしたか、すみませんでした。

516 名前:デフォルトの名無しさん [2008/11/30(日) 12:22:00 ]
>>509
スレが汚れるだけだからこういうの止めてくれないか?

517 名前:デフォルトの名無しさん mailto:sage [2008/11/30(日) 16:21:25 ]
汚れるといってもあなたの陰金には負けます

518 名前:デフォルトの名無しさん mailto:sage [2008/11/30(日) 17:13:56 ]
Unix環境などX Windowがない環境でグラフィック処理を行うと
エラーになるため、以下の環境変数を指定して実行すると正常に動作するというのを見つけました。
java -Djava.awt.headless=true hogehoge

そこで質問させてください。
awtの処理でOSに依存するネイティブな処理が走るけど、
グラフィックをサポートしていないOSではエラーとなるため
上記の設定が必要だと思ってます。
では、上記設定を行うとネイティブで行ってた処理を誰が行ってくれるのでしょうか?
Java側にネイティブのグラフィック処理に変わる実装があり、
そちらで処理してくれるのでしょうか?
それでしたら、そもそもネイティブな処理を呼び出す必要がないですよね?
java.awt.headless=true を指定すると
正常に処理される内部のメカニズムを教えてくださいm(__)m

519 名前:デフォルトの名無しさん mailto:sage [2008/11/30(日) 18:04:54 ]
内部の実装に興味持つならJAVAやる意味はないな。
SUNの方針だと、一度ソフト上で実装(レファレンス実装)してからshippingするからなんかあるんじゃないか?
しかしもともとハードであるものをソフトでやる(エミュレーション)だから速度は遅くても、一応どこでも動くってこと。


520 名前:デフォルトの名無しさん mailto:sage [2008/11/30(日) 18:13:08 ]
java.sun.com/javase/ja/6/docs/ja/technotes/guides/awt/AWTChanges.html#headless

521 名前:デフォルトの名無しさん [2008/11/30(日) 19:37:07 ]
すみません。自分自身の限界が来たので質問させてください。
Javaで非常にシンプルなボタンの作成をしてみました。
なぜだか、5番目のボタンだけキャプションが表示されません。
環境はWin+eclipseです。

トラブルシュート、ログはたくさん見たのでその他のなにか考えなければならないヒントなどいただけると
た す か り ま す

public class Test {
public void method(){
int i;
Button h[]=new Button [9];
int dx[]={1,2,3,4,5,6,7,8,9};
int dy[]={1,1,1,1,1,1,1,1,1};
String st[]={"aa","ii","uu","ee","oo","か","き","く","け"};

Display display = new Display();
Shell shell=new Shell(display);
shell.open();

for(i=0; i<9; i++){
h[i]=new Button(shell,SWT.BORDER);
h[i].setBounds(dx[i]*50,dy[i]*30,50,30);
if(i!=4){h[i].setText(st[i]);}}
while(!shell.isDisposed()){if(!display.readAndDispatch()){display.sleep();}}
display.dispose();}
public static void main(String[] args){
Test test = new Test();
test.method();}}




522 名前:デフォルトの名無しさん [2008/11/30(日) 19:40:31 ]
>>521
追加です。

これは、問題があったコードを非常にシンプルにしたもので、
元のコードは1000行位あるものです。

特段お金儲け関係ではないので(ただの勉強)必死でいつまで、とかの要望はありませんが、
あまりにもシンプルすぎて調べようも無くなったのでお力拝借したいと。

ちなみにC# のスレに誤爆&非礼をわびておきました。


よろしくお願いします。
#てか、どこに問題があるんだろ。Javaのバージョンかなぁ。

523 名前:デフォルトの名無しさん [2008/11/30(日) 19:45:42 ]
をっと。利用しているのはSWTです。以下importを

import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;



524 名前:デフォルトの名無しさん mailto:sage [2008/11/30(日) 19:52:26 ]
>>521
> if(i!=4){h[i].setText(st[i]);}
これじゃね?

525 名前:デフォルトの名無しさん [2008/11/30(日) 21:32:11 ]
>>524
www

526 名前:デフォルトの名無しさん mailto:sage [2008/11/30(日) 21:56:05 ]
>>524
激しくわろたw
自分自身の限界が来たって大げさ過ぎw

527 名前:デフォルトの名無しさん mailto:sage [2008/11/30(日) 21:59:28 ]
こんな時代もあったよね

と懐かしい気持ちになりました

528 名前:デフォルトの名無しさん mailto:sage [2008/12/01(月) 01:11:18 ]
>>486
ありがとうございます。
どうやらswingWorkerを使用する必要があるそうです。

ここでもうひとつ疑問なんですが、swingWorker<T, V>の、
<>の中身は一体なにを表しているのでしょうか。
swingWorker以外にもどこかで見たことがあるんですけど・・・。

529 名前:デフォルトの名無しさん mailto:sage [2008/12/01(月) 03:17:25 ]
「Java ジェネリックス」で調べてみて下さい。JDK5からの新文法です。

530 名前:デフォルトの名無しさん [2008/12/01(月) 09:58:16 ]
再帰呼び出しで
static int f(int n)
if n==0
return 1
else
return n*f(n-1)
というのを作ってn=3のとき最後の
returnに1、2,3と返すと思うんですけど
2や3はf(2)やf(1)の値がコンピュータに記憶されてるの?

531 名前:デフォルトの名無しさん [2008/12/01(月) 12:34:42 ]
俺のコンピュータは意地でも改行しないつもりかwww.... ort

final Display display = new Display();
final Shell shell = new Shell(display);
String separator = System.getProperty("line.separator");
shell.open();

Text t = new Text(shell, SWT.BORDER);
t.setBounds(10, 10, 100, 100);
t.append("Hello world\n" + separator + '\n');
t.append("Hello world\n" + separator + '\n');




532 名前:デフォルトの名無しさん [2008/12/01(月) 13:36:37 ]
質問です。
StringクラスのreplaceAll()メソッドに関してなんですが、
正規表現で、特定の文字集合にマッチした場合、
マッチした文字の後ろに特殊な記号を加えたいのです。
replaceAll(pattern, "特殊な記号");
とすると、元の文字を完全に消してしまうので
これはどのようにすればいいのでしょうか?

具体的には
replaceAll("[abcd]","特殊な記号")

文字列が、"apple"だった場合
"a特殊な記号pple"
となるようにしたいのです。


533 名前:デフォルトの名無しさん [2008/12/01(月) 13:38:12 ]
replaceAll("([abcd])", "\\1特殊な記号");

534 名前:デフォルトの名無しさん mailto:sage [2008/12/01(月) 14:10:36 ]
正規表現はどこに行けばマスターできますか?

535 名前:デフォルトの名無しさん mailto:sage [2008/12/01(月) 14:17:36 ]
JDK5.0のWindows版しか使えない状態なのですが、Windowsサービスとして
起動しているアプリケーションに、外部からスレッドダンプを取得する
方法はあるでしょうか。以下の方法までは思いついたのですが、いずれも
トレードオフが現在取れない状態になってしまっています。

1. jstack を使う
  → JDK5.0 では、Linux 版しか無い様でした。

2. jmxremote オプションを付けて jconsole でアタッチ
  → 取得できるのですが、jconsole の UI の仕様上、全部のスレッドダンプを
    取りづらい(左のスレッドを選ぶとその情報が取れる)ので、一度に特定
    プロセスのダンプが取れる方法を探しています。

3. StackTrace と言うアプリケーションを使う
  → adaptj と言う会社の StackTrace を使うと、まさに希望したものが取れるの
    ですが、実行したい環境がインターネットに繋がらない環境であるため、
    使用できないでいます。

できる範囲は、VM の起動引数に変更を加えるまでは可能です。

536 名前:デフォルトの名無しさん mailto:sage [2008/12/01(月) 14:21:23 ]
ありません。

537 名前:デフォルトの名無しさん mailto:sage [2008/12/01(月) 14:33:21 ]
VMの起動引数を変えれるんなら、メインクラスを変えられるということだ
自前のメインクラスから専用のスレッドを起動しておき、
何かのトリガに反応して Thread#getAllStackTraces() を出力するようにしておけばいいのではないか

538 名前:デフォルトの名無しさん mailto:sage [2008/12/01(月) 14:48:08 ]
>>536
そうですか...Linuxだと簡単なのに意外に苦戦して参っています。

>>537
ありがとうございます。
Thread#getAllStackTraces を出力する案は、
別途サーバに手を入れてしまうのが許される場合の案として
次善策にしていました。
この場合はどうせ手が入るからってことで、
サーバアプリなのでそのまま口を設けて出力する案で検討していま

539 名前:デフォルトの名無しさん mailto:sage [2008/12/01(月) 14:49:51 ]
いまどきLinuxはねーよw

540 名前:デフォルトの名無しさん mailto:sage [2008/12/01(月) 15:31:49 ]
linuxが許されるのは年金もらうまでだよね

541 名前:デフォルトの名無しさん mailto:sage [2008/12/01(月) 15:58:42 ]
なら、おまえらはなに使ってんだよ?



542 名前:デフォルトの名無しさん mailto:sage [2008/12/01(月) 16:17:43 ]
もちろんWindows

543 名前:デフォルトの名無しさん [2008/12/01(月) 16:33:03 ]
>>534
www.hellohiro.com/regex.htm

544 名前:デフォルトの名無しさん mailto:sage [2008/12/01(月) 16:38:18 ]
そのサイト、おおお!〜ましたね!っていうのがイヤだ

545 名前:デフォルトの名無しさん mailto:sage [2008/12/01(月) 18:06:01 ]
>>544
てか、
Java初心者向けサイトのほとんどがそんな感じじゃね?

546 名前:デフォルトの名無しさん mailto:sage [2008/12/01(月) 18:15:56 ]
念願の、Genericとアノテーションとenumに対応したEffective Java第2版が
出たそうですが、おぬしらの中の読んだ方で、感想はいかがですかな?
前書きに書いてある通りの内容ですかな?

すでに第1版をenumあたりまで読んでいるのじゃが、
これは第2版に鞍替えして読み直したほうがよろしいかな?

547 名前:デフォルトの名無しさん mailto:sage [2008/12/01(月) 18:45:16 ]
>>545
そんなバナナ

548 名前:デフォルトの名無しさん mailto:sage [2008/12/01(月) 20:14:44 ]
struts2って結構使われてるんでしょうか?
今、一番安定しているフレームワークって何?

549 名前:デフォルトの名無しさん mailto:sage [2008/12/01(月) 21:17:35 ]
ところでおまいらEclipseとか使いこなせてるの?
おれは全然わかんねぇ、普通にプロジェクト作ってコード書いて実行ならできるんだが
全然使いこなしてる感じがしない、というかしてないが。
開発環境って多機能すぎる

550 名前:デフォルトの名無しさん mailto:sage [2008/12/01(月) 21:22:04 ]
お前らSE、PG??????
やっていけてんの??????

551 名前:デフォルトの名無しさん mailto:sage [2008/12/01(月) 22:19:57 ]
俺は>>550が一番心配だ。



552 名前:デフォルトの名無しさん mailto:sage [2008/12/01(月) 22:20:01 ]
>>546
すれ違い?

553 名前:デフォルトの名無しさん mailto:sage [2008/12/01(月) 23:23:34 ]
>>535
とにかく Ctrl+Break を送ればスレッドダンプするらしいので、Win32 SDK の GenerateConsoleCtrlEvent 関数
で CTRL_BREAK_EVENT を送ればいいはず。
ただしサービスとして起動している java プログラムの標準出力に出ちゃうから、標準出力をファイルか何かに
リダイレクトする必要がある。 
ここまで書いたけど、そこまでするなら JDK6 にしてもらえるように説得したほうが楽そうだな。

554 名前:デフォルトの名無しさん mailto:sage [2008/12/01(月) 23:51:37 ]
式言語の意義とは何なんでしょうか?
seacer2の勉強してたらOGNLという言語が出てきました。
調べてみるとJavaEEに出てくるEL式などの仲間で式言語というらしいのですが、
文法見ても目的が理解できません。
web開発において式言語を使う意味というのは
JSPでアクションやサーブレットから受け取ったオブジェクトの情報を出力しやすくするため
に限ったことですか?

555 名前:デフォルトの名無しさん mailto:sage [2008/12/01(月) 23:51:48 ]
以下のオブジェクトをシリアライズしてネットワークで他のパソコンに転送、計算を行い結果を返送させるプログラムを作成しています。
public class Element implements Serializable
{
double start;
double end;
int cut;
double d;
int sigma;
int mode;
}

556 名前:555 mailto:sage [2008/12/01(月) 23:54:35 ]
続き
送信メソッド
try {
sock = new Socket(host, Integer.parseInt(port));
} catch (NumberFormatException e) {
e.printStackTrace();
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
ObjectOutputStream out = null;
try {
out = new ObjectOutputStream(sock.getOutputStream());
out.writeObject(element);
out.flush();
} catch (IOException e) {
e.printStackTrace();
}
finally
{
try {
out.close();
sock.close();
} catch (Exception e) {
e.printStackTrace();
}

557 名前:555 mailto:sage [2008/12/01(月) 23:58:02 ]
以下のメソッドで受信を行っているのですが、EOFExceptionが発生してしまいます。
理由がさっぱりわからず困っています。どのようにすればよいのでしょうか。
try
{
ois = new ObjectInputStream(sock.getInputStream());
if(ois.readObject() instanceof Element) //計算する要素を受け取った場合
{
Element element = (Element)ois.readObject();
element.apply(simu.getRects());
Receive.this.simu.calc(); //計算
}

}
catch(Exception e)
{
e.printStackTrace();
}
finally
{
try
{
if(ois != null)
ois.close();
}
catch(IOException e)
{
e.printStackTrace();
}
}
}

558 名前:デフォルトの名無しさん [2008/12/02(火) 00:02:21 ]
ここ

if(ois.readObject() instanceof Element) //計算する要素を受け取った場合

559 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 00:03:04 ]
>>555
ois.readObject() instanceof Element の行で
オブジェクトを読み込んでるのに
その下の行でさらに読み込もうとしてるから

560 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 00:12:18 ]
public static final Object CONS=new Object();
でオブジェクトのインスタンスを定数のように使いたいのですが、
直列化するとインスタンスのメモリアドレスが変わってしまい
if (arg==CONS);で比較しても上手くいきません。
古いjdkのためenumを使えずどうすれば良いでしょうか。


561 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 00:24:45 ]
>>560
enumが欲しいならEffective Javaを読んでenumを実装する



562 名前:555 mailto:sage [2008/12/02(火) 00:26:58 ]
>>558
>>559
出来ました、有難うございます。

563 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 00:31:48 ]
>>561
その教科書は持ってないんですけど、enumなんてどうやれば実装できるんですか!

564 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 00:32:48 ]
うざいなぁ

565 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 00:37:15 ]
Enumでなくてもフィールドがオブジェクトで定数(final)で一意であればいいので
例えばStringでやってみようかと思ってるのですが難しいです(;ω;)

566 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 00:50:22 ]
>>560
readResolve を実装しろ

567 名前:546 mailto:sage [2008/12/02(火) 02:05:41 ]
>>552
なぜスレ違いなのじゃ?

Eclipseの話をするほうがよっぽどスレ違いではないかい?

うーむ、Effective Java第2版を実際に読んでみた者は
まだこのスレに現れないか。

568 名前:546 mailto:sage [2008/12/02(火) 02:08:03 ]
>>563
Effective Java第一版に実装する方法が載っているようじゃ。
Type Safe enumでもググって見るとよいぞ。Eclipseのプラグインでも
そのようなものが存在するのじゃ。

569 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 02:10:06 ]
読んでる最中。Genericsの境界ワイルドカードは説明読んでもさっぱりだ。
<T extends Comparable<? super T>>って何ぞ……。

570 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 02:15:37 ]
Tもしくはそのスーパークラスと比較可能なT
Integer (Comparable<Integer>) とか
java.sql.Date (Comparable<java.util.Date>) が該当する

571 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 02:24:39 ]
<? super T>って
if(foo instanceof Bar){
//hoge
}

みたいな条件分岐がいらなくなるくらいしか思いつかないんだが・・・




572 名前:569 mailto:sage [2008/12/02(火) 02:25:37 ]
うーん、わかるようなわからんような。
interface I {}
class A implements I, Comparable<I> {...}
class B implements I, Comparable<I> {...}
static <T extends Comparalbe<? super T>> int compare1(T a, T b) {...}
static <T extends Comparalbe<T>> int compare2(T a, T b) {...}
void func() {
A a = new A();
B b = new B();
compare1(a, b); // OK
compare2(a, b); // NG
}
既存の定義はなんとか読み解けても、1から自分で定義できなさそーな気が……。

573 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 02:35:19 ]
>>567
注文して、到着待ち。俺の国に届くのはいつの日だよorz

>>571
実行時じゃなくてコンパイル時に怒られるから良いんじゃないのかな。
Generics使い始めると意地でもキャストを無くしたくなる。

574 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 12:16:35 ]
>>570
片方がsqlでもう片方がutilであるぞ

575 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 12:20:06 ]
>>572
ドキュメントをよく読むんだ。入門サイトもどこかにある。
Effective Javaを読む前に先にGenerics入門らしきサイトを先に
読んだほうがいいのでは。
たしかに、けっこう混乱するとは思う。
自分で作るの大変だ

576 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 17:22:44 ]
>>566
あの〜
意味が分からないですけど

577 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 17:34:05 ]
アプレットで六角形を描きたいのですが、drawPolygonメソッドがint型の配列しか引数に
取れないようなのでどうすればいいかわかりません。以下のコードをどう修正したらいいですか
import java.applet.*;
import java.awt.*;

public class hexagon extends Applet {
public void paint(Graphics g) {
double sqr3 = Math.sqrt(3.0);
double[] xPoints = {5, 15, 20, 15, 5, 0};
double[] yPoints = {0, 0, (5*sqr3), (10*sqr3), (10*sqr3), (5*sqr3)};
int nPoints = 6;
g.drawPolygon(xPoints, yPoints, nPoints);
}
}

578 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 18:43:10 ]
>>577
intにキャストすれば?

579 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 18:44:54 ]
>>578
同一インスタンスを返すようにreadResolve()をオーバーライドすればいいということかと。
readResolve()を知らないなら、直列化について詳しく調べるといい。


580 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 19:07:11 ]
直列化のsrcとdstでインスタンスのアドレスが違うからstatic final intみたな定数として機能してないってことが問題なんですけど?
何が問題が良く分かってないじゃないですか。それにインタフェイスではそのAPIはありませんよ。
直列化するときは普通はクラスのほう使いますけど。

581 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 19:17:10 ]
なんでintしか扱えないんだろうか



582 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 19:36:09 ]
>>580
readResolve()はANY-ACCESS-MODIFIERなメソッドだけど、
デフォルトではprivateなメソッドだから、javadocにも載ってないし、
オーバーライドしろといわれてもピンとこないのは、非常によく分かる。

ただ、直列化を使用するなら、直列化の仕様ぐらい調べようぜ。

それより、"クラスのほう"って何?




583 名前:デフォルトの名無しさん [2008/12/02(火) 20:04:29 ]
当然class ObjectInputStreamですよ。
intなのは、swichの実装が32ビットだと容易だからです。
それと仕様は読んでるんですけど、参照をフィールド定数として使いたいことと直列化は関係ありません。
enumが使えるJDKならいいんでしょうが、なんか上手い方法はないでしょうか・・・・

584 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 20:16:50 ]
>>580
java.sun.com/javase/ja/6/docs/ja/api/java/io/Serializable.html

> 代替オブジェクトのインスタンスをストリームから読み込むときに
> そのオブジェクトを指定する必要のあるクラスでは、
> 次のシグニチャーを正確に指定して、この特別なメソッドを実装する必要があります。
>
> ANY-ACCESS-MODIFIER Object readResolve() throws ObjectStreamException;

1.1 だと使えないんだっけ?

585 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 20:22:14 ]
readResolveが一つの解決法なのは分かりますが、あなた、ちょっとしつこい

586 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 20:23:31 ]
もうジャバはめんどい!
C#とマイクロソフトだけで俺はしあわせ!

587 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 20:23:53 ]
>>585
readResolve での解決では、何か不満が?

588 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 20:27:48 ]
>>583
何この場か

589 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 20:29:09 ]
>>585
>readResolveが一つの解決法なのは分かりますが、あなた、ちょっとしつこい
いや、別人ですから。

590 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 20:32:05 ]
ここまで全部俺の書き込み

591 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 20:37:57 ]
どれがだれのだれへの発言なのか



592 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 20:41:19 ]
>>それにインタフェイスではそのAPIはありませんよ。
>>直列化するときは普通はクラスのほう使いますけど。
横道にそれるけど、インタフェイスとクラスの理解があやふやじゃないか。
普通はクラスのほうを直列化って、インタフェイスも直列化可能と?

593 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 20:46:13 ]
>>569
ワイルドカードは、
引数に対してコバリアントにしたい場合は、super を使い、
返り値に対してコバリアントにしたい場合は、extends を使う。

例えば、Comparator<T> は、T が出てくるのが、
int compare(T, T)
しかないので、extends のワイルドカードを使っても全くの無意味。

逆に、Iterator<T> は、T が出てくるのが
T next()
しかないので、super のワイルドカードを使っても全くの無意味。

ところで、Effective Java 第2版の和訳はどうなん?
第1版は和訳が酷いとかいってた人が居たけど

594 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 20:50:23 ]
javaでmysqlサーバに現在時刻を取得するためにクエリを発行して取得した結果が
2008-12-02 20:47:03.0
というように最後に余計な物がついてきます。これなんとかならないでしょうか?
String query = "select now();";

try{
Class.forName("org.gjt.mm.mysql.Driver");
con = DriverManager.getConnection(url, user, pass);

stmt = con.createStatement();
rs = stmt.executeQuery(query);
rs.next();
TimeStamp = rs.getString("now()");
System.out.println(TimeStamp);
}catch(Exception e){
System.err.println(e);
}

こんな感じのソースです
2008-12-02 20:47:03
これだけあればいいです


595 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 20:51:16 ]
5.0じゃないならreadResolveしかないだろ。なんでゴネてんだ?

596 名前:デフォルトの名無しさん [2008/12/02(火) 21:10:50 ]
Swingで質問です…
JScrollPaneのViewportViewにJTreeを二つ設置したJPanelを指定したのですが
スクロールペインの中央にJTreeが並んでしまって困ってます
BoxLayoutでJPanelにJTreeを設置するとテキストがまともに表示されない(後半が途切れる)ので
GridBagLayoutで白紙のパネルをJTreeの下に設置し、JTreeを左上になんとか表示してます
こんな無理矢理な方法を使わず、素直にJTreeを二つスクロールペインの左上に設置する方法は無いでしょうか?
何方かご教授下さい…

597 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 21:13:56 ]
>>594
なんで getTimestamp しないの?

java.text.SimpleDateFormat あたりを参照するよろし。

598 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 21:34:12 ]
鯖のシステム時刻とクライアントのシステム時刻が一致している
保証はあるけ?

599 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 21:35:47 ]
>>597
>>598
ありがとうございます。結論から言うと、substring(0,19)で解決しました
しかしなんで末尾にへんな.0がつくのかちょっと謎です

600 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 21:37:54 ]
>>598
なるほどね。

ならそもそも SQL 上で整形して出力すべきだね。

601 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 21:39:37 ]
ん?と思ったけど Timestamp で取得してりゃ問題ないんじゃないの?
unix epoch time からの時間な訳だし…。

まぁどうでもいいや。ガンガってw



602 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 21:44:44 ]
>>567
eclipse万歳〜
プランクトン万歳〜


603 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 21:53:54 ]
eclipseなんて使ってると馬鹿になるぞ
ってのが口癖のEmacs使いの先輩がRailsを理解できない
規約言う前に原理を説明しろとか言って怒鳴る
頭固くなってんのはどっちなんだろう

604 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 21:55:52 ]
よく考えたら直列化で定数フィールドのアドレスが変わっても、equalsで解決できそうなのでそっちでやってみることにします。
実際はEnmuMapみたいなことが出来れば良いのですが、マップを使った配列アクセスみたいですけど
m.put(ONE,val); m.put(TWO,val2);
したあとに直列化しても
m.get(ONE).equals(val)==true であることが条件です。こういうのは出来ないのでしょうか。

605 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 22:11:54 ]
>>603
こんなところで先輩の悪口いってるおまえも相当アレだけどなw

606 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 22:46:37 ]
>>596
sage忘れた上にSwingスレがありました…本当に申し訳ないです

607 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 23:01:39 ]
>>603
「IDE? クソ使い難いエディタ付いてるだけのキッチンシンクが使いもんに
なるわけねーだろ、JK」と思ってたら、リファクタリング機能のあまりの
素晴しさにEclipseに転んだEmacs歴15年の俺が通りますよ、と。

まぁ、ScalaはScala Pluginが現状役に立たないので、scala-mode.el一択
なんだがな……。

608 名前:デフォルトの名無しさん [2008/12/02(火) 23:24:18 ]
emacsってそんなにいいんですか?ただのエディタじゃないですか。
しかも正規表現を使った検索・置換があれば最低現十分なのに、カスタマイズが多すぎて不要な機能が多いし。
実際私が論文書くときや役所に提出する書類なんかもms word 95と表機能程度で十分ですし、一体全体エディッタやIDEに何を望んでるんですか?といってみるテストw

609 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 23:29:42 ]
>>603
IDE でしか coding したことないと馬鹿になるというか発想が
狭くなるという意味では先輩に合意する。けど、IDE を使って
も良いと思うし、単純ではない GUI とかは IDE 使わない方が
時間の無駄だと思う。

610 名前:デフォルトの名無しさん mailto:sage [2008/12/02(火) 23:43:13 ]
エディタだとしてもコードのコピペで済むので、時間の無駄って感覚がわかんないんですけど。
GUIとか外見のテンプレートがあってあとはロジック書くだけってならJavaじゃなくても今の時代ならWebでいいかと。
Javaの良いところはコテコテの言語サポートや特定用途でしかつかない意味不明な機能があったりせず、
シンプルにエディタのみで、OO思考的に必要なクラスファイルを書いていくだけでいいってところだと思うんですけど。

でも数千以上のクラスファイルを管理できるぐらいに頭良くないとちょっと無理か。

611 名前:デフォルトの名無しさん [2008/12/02(火) 23:45:29 ]
>>603
>先輩がRailsを理解できない
>規約言う前に原理を説明しろとか言って怒鳴る

先輩と君との間には、だいぶ深い差があると感じる。



612 名前:デフォルトの名無しさん mailto:sage [2008/12/03(水) 00:02:31 ]
>>610
Java は色々な名前がやたら長いから通常のエディタじゃかったるくないか?
Exception 名とか

613 名前:デフォルトの名無しさん mailto:sage [2008/12/03(水) 00:20:21 ]
自分もXEmacsからEclipseに乗り換えたクチですが、便利だなと思える機能は
「それって文法的に自明だから、自動化できるよね」という物が殆どです。

例えばインターフェイス実装時のスケルトンの自動生成なんてのは典型ですし、
リファクタリング時の参照関係の追跡と参照元の書き換えなんかもそう。
手作業でも出来るけど、時間の無駄だしエラーの元なので今では「そこは自明
なので勝手にやっちゃって下さい」という感じです。

あとはエラーやプロジェクトの状況が視覚的に分かりやすいのも良いかな。
あまり関係ないですが、インターンの学生に課題としてクラスのスケルトンと
JUnitのテスト一式を与えたら随分楽しそうに取り組んでいます。
メソッド実装してEclipse上でテストを実行する度にグリーンが増えていくのが
楽しいらしいです。

614 名前:デフォルトの名無しさん mailto:sage [2008/12/03(水) 00:25:50 ]
C#は言語仕様をIDEで楽にプログラムできるようにしてあるとか聞くね

C++はIDE使ってもjava+eclipseほど楽になんなかった

615 名前:デフォルトの名無しさん mailto:sage [2008/12/03(水) 00:29:12 ]
>>614
>C++はIDE使ってもjava+eclipseほど楽になんなかった
それはMFCの設計の悪さから来ているだけ。

616 名前:デフォルトの名無しさん mailto:sage [2008/12/03(水) 00:48:09 ]
つーかjavaでeclipse以外の選択肢って無いだろ
eclipse使わない奴は自分のつまらない信念とポリシー(笑い)を主張してるだけ

617 名前:デフォルトの名無しさん mailto:sage [2008/12/03(水) 00:50:40 ]
javaビーンズとやらもマシになったと聞くが

あれはポトペタ?が楽になっただけか?モ?

618 名前:デフォルトの名無しさん mailto:sage [2008/12/03(水) 00:54:28 ]
>C#は言語仕様をIDEで楽にプログラムできるようにしてあるとか聞くね

この辺りを言語仕様に組み込むのは、MSっぽいし商売を感じる。
VBだけにしてくれってところだけど、そのうちVBもC#もどの言語でも垣根がなくなるんじゃないか?

dot netの機能で、C#では出来るけどJScriptでは出来ないとか言うわけにはいかないだろうし、
そもそも演算子オーバーロードーと同じく言語サポートとしてoperator - ()とするかライブラリでBigInteger.subtractにするかの差でしかないからなぁ。



619 名前:デフォルトの名無しさん mailto:sage [2008/12/03(水) 01:13:09 ]
ポイ捨てアプリならIDEでハックでいいんじゃないかと思うけど、自作ライブラリはエディタでつくるけどね。
実際継承ばかりだから重複するコードはないし、ちょっと手を加えてsuper.method(arg)とかで、
ほとんどOO的にしか作ってないしな。

テンプレート目的で使うIDEだと、確かにイミュータブルとかstatic void method(), clone()とかの概念を全く理解できないだろうからバカになるってはあるか。
javacとjavadocは非常に優秀だからこれだけで十分だけど・・・

Exceptionとか長いのは、「れ・い・が・い」ではなくて、「えくせぷしょん」と脳内で英語で発音しながらタイプするといいですよw
英会話とか英語に慣れてないと無理でしょうけど。
なれてくると、「あん・さぽーてど・おーぺれいしょん・えくせぷしょん」とリズミカルにタイプするようになるでしょうw

620 名前:デフォルトの名無しさん mailto:sage [2008/12/03(水) 01:23:53 ]
EclipseとNetBeans両方使ってるけどNetBeansの方が楽だな
軽いし

621 名前:デフォルトの名無しさん mailto:sage [2008/12/03(水) 01:45:25 ]
プロフ取るのはNBの方が簡単なんで好き



622 名前:デフォルトの名無しさん mailto:sage [2008/12/03(水) 02:44:48 ]
初心者のおじさんが通ります。

eclipseは良いですな。
初心者には。

実体を意識しなくてもコーディングできると言う意味では
○インスタンスの考え方(メモリとの関係とかポインタとか)が5年たっても身に付かなさそう
○ロジックに集中できる分素人が書いてもある程度動く(といいなぁ)
○して、初心者がプログラムに手をだす、と

いわゆる世紀末ってやつです。世紀末はY2Kをなおざりにしたまま通り過ぎましたがwww

623 名前:デフォルトの名無しさん mailto:sage [2008/12/03(水) 03:14:07 ]
>実体を意識しなくてもコーディングできると言う意味では

IDEといっても機能は多彩なので、機能ごとに話は変わってくるかと。

コンテンツアシストやリファクタリング支援などについては泥臭い作業は
大いに省いてくれるものの、それほど「実体」から離れることになるとは
思いません。
スタブの自動生成やポトペタについては・・・確かに初心者が無理解の
まま使っていると危ないなと思う光景は、多々あります。

初心者向けで良いと思うのはコードの整形機能です(IDEに限りませんが)。
「一つメソッド書いたらCTRL+SHIFT+F」と指導しておくとオートインデントの
結果からループ構造の間違いなどに気がつくことも多いようです。
結果としてインデントの重要性を理解して、自ら意識してタブを打つように
なるのも早いような気がします。

何れにしても、初心者であれそうでない人であれ、IDEのメリットは

>ロジックに集中できる

ここに尽きる気がします。

624 名前:デフォルトの名無しさん mailto:sage [2008/12/03(水) 03:31:04 ]
IDE が「何を自動化してくれているか」を
理解しないまま IDE を使うべきではない
とおもう

あと Eclipse vs NetBeans の議論は
ここでしないでくれ


625 名前:デフォルトの名無しさん mailto:sage [2008/12/03(水) 03:35:24 ]
>>622
蛇足ながら、コンテンツアシスト機能も初心者には良いと思います。

というのも、プログラム勉強したばかりの人がプログラムを書くと
変数名が宣言順にa,b,c,d...だったりする事が良くあります。
その度に「ちゃんと変数の意味を考えて長い名前をつけろ〜」など
指導しますが、「だって長い変数名をタイプするの面倒だし・・・」と
無言の抵抗が返ってくることが、ままあります。

そのような場合でもコンテンツアシストによる変数名補完を覚える
と、長い変数名に対する抵抗感も随分とマシになるようです。

626 名前:デフォルトの名無しさん mailto:sage [2008/12/03(水) 03:41:03 ]
まあねぇ。

非static を参照できないってIDEに言われて理由を聞くと、
「IDEがだめって言ったから」、じゃねぇ・・・・


627 名前:デフォルトの名無しさん mailto:sage [2008/12/03(水) 04:19:02 ]
機能てんこもりも困るし、お節介も面倒だし、IDEも玄人と初心者用に分派するんじゃないの?
ただ、エクリプスは実際はプラグインの拡張を使っているだけでエクリプス固有(swtなど)の機能を使っているわけではないし、
もしnetbeansでも使えたら両者の機能的な差はないってことで、一太郎とワードの使用感(UI)でしかない。
netbeansはopenofficeと同じくもう一回ぐらいメジャー・バージョンアップすると最強になるんじゃないかと思う。

628 名前:デフォルトの名無しさん mailto:sage [2008/12/03(水) 10:30:46 ]
何年経っても中身がわからないまま使ってるなんて余程向上心がないんじゃないの
しかしそんな奴実際見たことねーぞ

629 名前:577 mailto:sage [2008/12/03(水) 10:36:11 ]
ところで六角形の質問をした者ですが、そのreadresolveとやらを使って実際に
ソースを書いてもらえませんか?

630 名前:デフォルトの名無しさん mailto:sage [2008/12/03(水) 10:56:40 ]
>>629
readResolveが出てきたのは >>579 がレス先間違っただけのような

>>577 の話なら double[] 使わずに int[] 使って
n*sqrt3 の部分を全部 (int)(n * sqrt3) にすれば?

631 名前:577 mailto:sage [2008/12/03(水) 11:00:29 ]
intにキャストすると小数点以下が失われて1になってしまうものかと思ってましたが、違うのですか



632 名前:デフォルトの名無しさん mailto:sage [2008/12/03(水) 11:19:22 ]
>>631
System.out.println(5 * (int)sqrt3); // -> 5
System.out.println((int)(5 * sqrt3)); // -> 8

633 名前:デフォルトの名無しさん mailto:sage [2008/12/03(水) 11:21:18 ]
了解です
ありがとう

634 名前:デフォルトの名無しさん mailto:sage [2008/12/03(水) 12:30:04 ]
細かいところ気にするなら Math.round を使えば良い。

635 名前:デフォルトの名無しさん [2008/12/03(水) 13:09:01 ]
>>629
この程度の分からないなら六角形を描くとか以前の問題だな。カス

636 名前:デフォルトの名無しさん mailto:sage [2008/12/03(水) 13:16:10 ]
いや、だから初心者スレに来てるんだろw

ここはプロフェッショナルスレじゃないよw

637 名前:デフォルトの名無しさん mailto:sage [2008/12/03(水) 13:19:47 ]
自分で調べられないようなカスの相手をするな。スレが荒れる

638 名前:デフォルトの名無しさん mailto:sage [2008/12/03(水) 13:26:52 ]
>>629
>>630
すまん、レス先間違えた。
579は576へのレスのつもりだった。

639 名前:577 mailto:sage [2008/12/03(水) 13:48:09 ]
他にもっときれいな書き方とかあったら教えて下さい

640 名前:デフォルトの名無しさん [2008/12/03(水) 14:01:22 ]
チンコなきれいだって?!

641 名前:デフォルトの名無しさん mailto:sage [2008/12/03(水) 14:20:56 ]
チンカスだなお前は。ウザい消えろ



642 名前:デフォルトの名無しさん mailto:sage [2008/12/03(水) 14:24:10 ]
カス野郎がチンカスとかほざいてるよw

643 名前:577 mailto:sage [2008/12/03(水) 16:42:40 ]
なんかよくわからないのでとりあえず他の掲示板で聞いて来ます

644 名前:デフォルトの名無しさん mailto:sage [2008/12/03(水) 16:48:29 ]
Implって何?
どんなクラス?

645 名前:デフォルトの名無しさん mailto:sage [2008/12/03(水) 16:51:13 ]
盗聴するクラス教えて

646 名前:デフォルトの名無しさん mailto:sage [2008/12/03(水) 16:57:24 ]
>>644
implementationの略
インターフェイスの既定の実装を提供するクラスに対して
名前を考えるのが面倒な時に○○Implというような名前を付ける

647 名前:デフォルトの名無しさん mailto:sage [2008/12/03(水) 17:09:27 ]
おれおクラスは学級崩壊すんでんだったぞ。

648 名前:デフォルトの名無しさん [2008/12/03(水) 17:46:16 ]
このスレ糞だな。初心者のためのスレじゃないのか?
統合環境がどうだの経験者が屁みたいな話したかったら別でやってこい。
ろくなのいねぇなここは。チンカス師ね

649 名前:デフォルトの名無しさん mailto:sage [2008/12/03(水) 18:25:52 ]
初心者のためのスレではないが、初心者歓迎なスレです。

スレ民はなぜかささくれています

650 名前:デフォルトの名無しさん mailto:sage [2008/12/03(水) 18:52:42 ]
>>648
チンカスはおまえ。ageんな
鼻糞ww

651 名前:デフォルトの名無しさん mailto:sage [2008/12/03(水) 19:07:59 ]
喧嘩すんな馬鹿ども



652 名前:デフォルトの名無しさん mailto:sage [2008/12/03(水) 19:20:28 ]
鼻糞が泣いちゃうだろ。まだジャヴァ初心者なんだからさw

653 名前:デフォルトの名無しさん mailto:sage [2008/12/03(水) 20:53:36 ]
>>639
Path2D path = new Path2D.Double();
path.moveTo(xPoints[0], yPoints[0]);
for(int i=1; i<nPoints; i++) { path.lineTo(xPoints[i], yPoints[i]); }
path.closePath();

Graphics2D g2 = (Graphics2D)g;
g2.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON);
g2.draw(path);

654 名前:デフォルトの名無しさん mailto:sage [2008/12/03(水) 21:53:18 ]
基本的には >>577 で良いと思うけど,応用性とか考えたら

final int nPoints=6;
final float radius=20,cx=2*radius,cy=2*radius;
int [] xPoints = new int [nPoints];
int [] yPoints = new int [nPoints];
for(int j=0; j<nPoints ; ++j){
xPoints[j] = (int)Math.round(cx+radius*Math.cos(2*Math.PI*j/nPoints));
yPoints[j] = (int)Math.round(cy+radius*Math.sin(2*Math.PI*j/nPoints));
}
g.drawPolygon(xPoints, yPoints, nPoints);

と書くかな。人によるだろうけど。



655 名前:デフォルトの名無しさん mailto:sage [2008/12/03(水) 23:17:00 ]
java.lang.Stringを拡張したしたクラスを作りたいのですが、どのように実装すればよいでしょうか?

656 名前:デフォルトの名無しさん mailto:sage [2008/12/03(水) 23:21:56 ]
できない
Stringは「変更できない文字列」以上でも以下でもないんだから,
class StringUtil {
 public static String Hoge(String str) { /*strをなんかいじくって返す*/ }
 public static String Foo(String str, int arg) { /*strをなんかいじくって返す*/ }
 …
}
こういうクラスを作っとけば同じことでしょ?

657 名前:デフォルトの名無しさん mailto:sage [2008/12/04(木) 00:14:07 ]
Effective C++とかでも強調されてるけど、継承考えるなら
単にメンバーにする事とどちらが良いか考えなきゃいかん。
多くの場合メンバーの方がまともな答。


658 名前:デフォルトの名無しさん mailto:sage [2008/12/04(木) 00:27:42 ]
Stringの中身を一切変更できないようにすると何かと扱いやすいから,
それを保障するために継承を禁止してるの

659 名前:デフォルトの名無しさん mailto:sage [2008/12/04(木) 03:11:22 ]
まんこの実装の仕方を知っているのだがどうすればいい?

660 名前:デフォルトの名無しさん mailto:sage [2008/12/04(木) 03:30:55 ]
いや、つまんないから

661 名前:デフォルトの名無しさん mailto:sage [2008/12/04(木) 03:42:04 ]
おまえらバカども寝ろ。明日会社だろ。暇人か?



662 名前:デフォルトの名無しさん [2008/12/04(木) 04:09:29 ]
なんだこいつ?

663 名前:デフォルトの名無しさん [2008/12/04(木) 05:45:24 ]
MacOSX1.5環境での質問です。
下記のような実行時エラーが出たのでlibj3dcore-ogl.soが読めないのかと思い、
LD_LIBRARY_PATHやjava.library.pathに.soファイルを含むディレクトリへのパスを追加したり、
カレントディレクトリに.soファイルのリンクを作成したりしてみましたが
一向に改善しません。

他に疑うべきポイントやなすべき操作はございませんでしょうか

--- ここからエラー出力

java.lang.reflect.InvocationTargetException
 at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
 at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
 at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
 at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
 at com.imakitaindustory.ui.util.ImakitaPluginLoader.createPlugin(ImakitaPluginLoader.java:80)
 at com.imakitaindustory.ui.ImakitaUI.main(ImakitaUI.java:34)

Caused by: java.lang.UnsatisfiedLinkError: no j3dcore-ogl in java.library.path
 at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1753)
 at java.lang.Runtime.loadLibrary0(Runtime.java:822)
 at java.lang.System.loadLibrary(System.java:993)
 at javax.media.j3d.MasterControl$5.run(MasterControl.java:838)
 at java.security.AccessController.doPrivileged(Native Method)
 at javax.media.j3d.MasterControl.loadLibraries(MasterControl.java:821)
 at javax.media.j3d.VirtualUniverse.<clinit>(VirtualUniverse.java:252)
 at javax.media.j3d.Canvas3D.<clinit>(Canvas3D.java:3884)
 at com.imakitaindustory.ui.view.Imakita3DView.<init>(Imakita3DView.java:152)
... 11 more

664 名前:デフォルトの名無しさん mailto:sage [2008/12/04(木) 11:19:35 ]
Mac は .so じゃなくて .jnilib だと思うけど

665 名前:デフォルトの名無しさん mailto:sage [2008/12/04(木) 13:38:42 ]
質問させてください
bmp形式の画像を読み込んで、ピクセル毎のRGBの値を表示させたいのですが、どのクラスを使えばできますか?


666 名前:デフォルトの名無しさん mailto:sage [2008/12/04(木) 14:19:54 ]
>>665
javax.imageio.ImageIO と java.awt.image.BufferedImage

667 名前:デフォルトの名無しさん mailto:sage [2008/12/04(木) 14:22:08 ]
JavaからJRubyの呼び出しを行っているのですが、
オプションを指定して実行する方法がわかりません。
Fiberクラスを使うために--1.9オプションを指定する方法が知りたいです。

Fiberの機能を利用できればいいので、他の方法でもご教授ください。

668 名前:デフォルトの名無しさん mailto:sage [2008/12/04(木) 14:30:27 ]
>>666さん
ありがとうございます!試してみます

669 名前:デフォルトの名無しさん [2008/12/04(木) 16:02:38 ]
将棋倶楽部24でよく将棋を指すんですが
ちょっと前にjava更新があったのでしたところ
対局画面の右上に!←こんなのがずっとついてきます
前はこんなのなかったのに
やってない人には全く分からないと思いますので
気長に待つつもりです
誰かおね!


670 名前:デフォルトの名無しさん mailto:sage [2008/12/04(木) 16:42:16 ]
>>669
> プログラム・ソフトの使い方は PC 初心者板やソフトウェア板へ。
板の注意書きくらい嫁

671 名前:デフォルトの名無しさん mailto:sage [2008/12/04(木) 18:07:40 ]
Java6 update10 から
アプレットがポップアップしたウィンドウに
!マークが付くようになった。
以前はウィンドウの下部に
「警告:アプレットウィンドウ」とか付いてたけど。

>> 669
気にしないで大丈夫です。
「これは Java によって表示されたウィンドウです」
という注意書きのようなものです。




672 名前:663 mailto:sage [2008/12/04(木) 20:22:26 ]
>664
ありがと何が悪かったかようやくわかった!

673 名前:デフォルトの名無しさん mailto:sage [2008/12/04(木) 21:32:50 ]
 
【サンタクロース、トナカイの酒気帯び運用罪での逮捕に、マジ逆切れw】(ZDNet)
builder.japan.zdnet.com/story_media/20384793/081204_sun-james-gosling_02_400x300.jpg



674 名前:デフォルトの名無しさん mailto:sage [2008/12/04(木) 21:37:38 ]
マルチすんなカス

675 名前:デフォルトの名無しさん mailto:sage [2008/12/04(木) 22:11:21 ]
 
【サンタクロース、トナカイの酒気帯び運用で逮捕。有罪判決に、マジ逆切れ&大暴れw(動画有り)】(ZDNet)
builder.japan.zdnet.com/story_media/20384793/081204_sun-james-gosling_03_400x300.jpg
builder.japan.zdnet.com/story_media/20384793/081204_sun-james-gosling_01_400x300.jpg
builder.japan.zdnet.com/story_media/20384793/081204_sun-james-gosling_02_400x300.jpg


676 名前:デフォルトの名無しさん [2008/12/04(木) 22:16:43 ]
ゴズリン大先生だってムカムカじゃないか!おまえが無能だからだろ。

677 名前:デフォルトの名無しさん [2008/12/04(木) 23:47:48 ]
無限大の扱いについて質問があります。

A=1/a;
if(A>3){
A=3;
}

という文で、aが0に近い値の場合、AがInfintyになってしまいます。
そして、Aが数字であるということが読み込まれずに、
下のif文が読み込まれないようなのです。
無限大の値と自然数を比べるよい方法はなにかないでしょうか?
よろしくおねがいします。

678 名前:デフォルトの名無しさん mailto:sage [2008/12/05(金) 00:05:37 ]
POSITIVE_INFINITYはMAX_VALUEより値は大きいから問題ないと思うけど。
Double.Nanになってるとかじゃないの?Double.isNan(A)でtureを返せばそう。

679 名前:デフォルトの名無しさん mailto:sage [2008/12/05(金) 00:30:55 ]
成る程
明日試してみます。
ありがとうございました。

680 名前:デフォルトの名無しさん mailto:sage [2008/12/05(金) 12:03:55 ]
実はaは、0に近いマイナスの値で、マイナス無限大になってるとか・・・

681 名前:デフォルトの名無しさん [2008/12/05(金) 16:18:18 ]
age



682 名前:デフォルトの名無しさん [2008/12/06(土) 10:33:54 ]
Javaのコンパイラの無料ダウンロードってどうすればできますか?
一番有名なのが停止期間?か何かで…。
あとダウンロードしても英語ばっかで何すればいいのかわからないんですが(笑)

683 名前:デフォルトの名無しさん mailto:sage [2008/12/06(土) 10:41:18 ]
よくそれでプログラムやろうと思うな
テンプレ読め

684 名前:デフォルトの名無しさん [2008/12/06(土) 10:43:10 ]
やりたくはないんですけど課題として出されてるので・・・。
学校にはコンパイラあるんですけど家でもやらないと追いつかないんですよ。
そういうわけでものすごい勢いで初心者です。
小学生に2次関数やれって言われてるくらいの感じです

685 名前:デフォルトの名無しさん mailto:sage [2008/12/06(土) 10:53:07 ]
>>684
ほい
services.netbeans.org/bouncer/index.php?product=netbeans-6.5-javase&os=windows

686 名前:デフォルトの名無しさん [2008/12/06(土) 11:09:56 ]
>>685
ありがとうございます。
進めていくとJDKがどうのこうの…と言われて進めないのですが
JDKというのをダウンロードしようとしてもうまくいきません。
どうすればいいでしょうか?

687 名前:デフォルトの名無しさん mailto:sage [2008/12/06(土) 12:26:50 ]
よく釣られるスレだな

688 名前:デフォルトの名無しさん mailto:sage [2008/12/06(土) 12:34:18 ]
IBMのJREダウンロードってわっかり難いよね。
特定のバージョンのJREダウンロード見つけるのに
えらい苦労した記憶が

689 名前:デフォルトの名無しさん mailto:sage [2008/12/06(土) 16:57:49 ]
>>684
小学生で2次関数やってる奴なんか掃いて捨てるほどいるぞ

690 名前:デフォルトの名無しさん mailto:sage [2008/12/06(土) 17:49:32 ]
>>684
>小学生に2次関数やれって言われてるくらいの感じです

つ 公文式

その気になれば小学生だってラプラス変換。


そうか。公文でJavaの教材を作れば良いんだ。

691 名前:デフォルトの名無しさん mailto:sage [2008/12/06(土) 18:09:03 ]
netbeansは所々日本語みたいなんですけど、日本語版とか日本語化とかはないんですか?
エクリプスよりもかなりいい感じなんですけど。



692 名前:デフォルトの名無しさん mailto:sage [2008/12/06(土) 18:14:19 ]
>>689
だから、
無茶ってほどじゃないけど難しいことやらされてる
っていうくらいの例えじゃないのか


693 名前:名無し [2008/12/06(土) 18:20:19 ]
問題 au携帯電話の「ダブル定額ライト」プランの税込料金を計算するプログラムを作成しなさい。
動作は以下のとおり。
(1)自分の学生書番号と氏名の表示
(2)利用パケット数(整数)を入力
(3)利用パケット数が0以上である場合は、税込料金(整数)を表示
(4)利用パケット数が負である場合は、エラーメッセージを表示。
補足 
@定額1わずか1000円/月(税込1050円)、12500パケットまで
A使った分だけ1000円/月(税込1050円)+超過分、12500パケット超〜52500パケット未満、0.08円/パッケト(税込0.084円)
B定額2最大4200円/月(税込4410円)で使い放題、52500パケット以上4200円/月(税込4410円)

パケット数が@5000A12500B35000C52500D8000E-1000のそれぞれの場合について実行させなさい。
難しすぎて困ってます。とける方いましたらお願いします。


694 名前:デフォルトの名無しさん mailto:sage [2008/12/06(土) 18:27:16 ]
どこが難しいんだよw

695 名前:デフォルトの名無しさん mailto:sage [2008/12/06(土) 18:30:23 ]
auに問い合わせろ

696 名前:デフォルトの名無しさん [2008/12/06(土) 18:33:29 ]
すれ違い

697 名前:デフォルトの名無しさん mailto:sage [2008/12/06(土) 18:41:01 ]
最初から考えることを放棄しているとしか思えない
これがゆとり教育というものか

698 名前:名無し [2008/12/06(土) 19:04:57 ]
すいません。ほんとに馬鹿でソースコーがまったくわからないんです。

699 名前:デフォルトの名無しさん mailto:sage [2008/12/06(土) 19:22:41 ]
Cの方が頭弱い人にも分かりやすく書いてある本が多いからC/C++からやった方が早く身につくよ。

700 名前:デフォルトの名無しさん mailto:sage [2008/12/06(土) 20:00:07 ]
>>698
馬鹿だからわからないんじゃない。
ちゃんと手順を踏んで、時間と労力を注いで勉強していないから
わからないの。あえて言えば、怠け者だから。

701 名前:デフォルトの名無しさん [2008/12/06(土) 20:08:30 ]
>>698
てか、こういう奴っていったい何をしたいんだろ?



702 名前:デフォルトの名無しさん mailto:sage [2008/12/06(土) 21:49:10 ]
>>698
ここは初心者歓迎スレなんであって、馬鹿はお呼びでない

帰れ

703 名前:デフォルトの名無しさん mailto:sage [2008/12/06(土) 22:26:59 ]
この問題だったら ruby みたいなスクリプト系言語か
mathematica/maple/maxima/matlab みたいなもんの方が
Java より楽だなぁ…

GUI 必要だともうちょっと何か使うが。


704 名前:デフォルトの名無しさん mailto:sage [2008/12/06(土) 22:53:04 ]
javaでファイルを起動するにはどうすればいいでしょうか?
コマンドプロンプトが使えればそれでもおkです。
よろしくお願いします。

705 名前:デフォルトの名無しさん mailto:sage [2008/12/06(土) 23:18:49 ]
System.out.print("あさげ!"+"\t");
この\tって如何言う意味ですか?


706 名前:デフォルトの名無しさん mailto:sage [2008/12/06(土) 23:19:45 ]
タブ

707 名前:デフォルトの名無しさん mailto:sage [2008/12/06(土) 23:26:23 ]
>>704
質問の意味がわからない。
実行ファイルをコマンドライン指定で実行したいということ?


708 名前:デフォルトの名無しさん mailto:sage [2008/12/06(土) 23:33:38 ]
javaアプリを起動なのか、
javaからwinアプリを起動したいのか、
javaから別アプリでファイルを開きたいのか。

どれだー

709 名前:デフォルトの名無しさん mailto:sage [2008/12/06(土) 23:35:09 ]
>>706
Sunx!


710 名前:デフォルトの名無しさん mailto:sage [2008/12/06(土) 23:35:54 ]
結局はテキストファイルをメモ帳等のソフトで開きたいだけです。


711 名前:デフォルトの名無しさん mailto:sage [2008/12/06(土) 23:40:26 ]
ググればわかるレベル多すぎ



712 名前:デフォルトの名無しさん mailto:sage [2008/12/06(土) 23:45:44 ]
d.hatena.ne.jp/nacookan/20071128/1196237341

713 名前:デフォルトの名無しさん mailto:sage [2008/12/06(土) 23:55:34 ]
目的の為の手段で悩み続け、肝心な目的を忘れる

714 名前:デフォルトの名無しさん mailto:sage [2008/12/07(日) 00:06:01 ]
そのバカに釣られるおまえはもっとバカw

715 名前:デフォルトの名無しさん [2008/12/07(日) 00:12:09 ]
帯グラフを描くためにはどうやってプログラムすればいいんでしょうか?

716 名前:デフォルトの名無しさん mailto:sage [2008/12/07(日) 00:21:10 ]
>>715
まずはJavaの本買って勉強する

717 名前:デフォルトの名無しさん [2008/12/07(日) 00:29:32 ]
買ってグラフィックスまで勉強したのですが、帯グラフとかデータの割合を反映させたり
少し複雑になると頭真っ白になってしまいます・・・。

718 名前:デフォルトの名無しさん mailto:sage [2008/12/07(日) 00:33:17 ]
たぶんプログラミングにむいていないから諦める

719 名前:デフォルトの名無しさん mailto:sage [2008/12/07(日) 00:43:17 ]
それがいい。

720 名前:デフォルトの名無しさん mailto:sage [2008/12/07(日) 01:29:40 ]
>>717
どこがわからないのか落ち着いて考えた方が良い。
他のプログラミングができてグラフが描けないなら
むしろ算数の勉強不足の可能性大。

721 名前:デフォルトの名無しさん mailto:sage [2008/12/07(日) 02:05:35 ]
>>715,717
A:25 B:15 C:10というデータがあって、横幅200pxで帯グラフを描くとする。

まず、データの値を全部足して(25+15+10=50)、その結果で一つ一つのデータを割る(25/50=0.5、15/50=0.3、10/50=0.2)
帯グラフの横幅をその結果にそれぞれかける(0.5x200=100、0.3x200=60、0.2x200=40)。
これでそれぞれのデータの横幅が求まったので、描く。AとかBとかのラベルも適当に重ねて描く。

これを日本語からJavaに翻訳する。



722 名前:デフォルトの名無しさん [2008/12/07(日) 03:08:47 ]
system.in.readlnってなんでないんですか?

723 名前:デフォルトの名無しさん mailto:sage [2008/12/07(日) 03:18:06 ]
行列計算をしたくてJAMAを導入したのですが
例えば
A{1,2,3}
{2,0,2}
{0,0,1}

B{0,1,0}
{1,0,0}
{0,0,1}

というようなA,B二つの3×3行列のA×Bを求めたい場合はどのように書けばいいのでしょうか?
また、計算後の行列を配列変数に代入したり、文字列として出力する場合にはどうすればいいのでしょうか?

724 名前:デフォルトの名無しさん mailto:sage [2008/12/07(日) 03:49:39 ]
使ったことないけど回答。
掛け算はtimesメソッド。
//Matrix times(Matrix B)
// Linear algebraic matrix multiplication, A * B
math.nist.gov/javanumerics/jama/のExample of Useに思いっきり乗ってる。

代入はgetで拾いつつforループまわせばいんじゃね?

725 名前:デフォルトの名無しさん [2008/12/07(日) 03:53:10 ]
Example of Use. The following simple example solves a 3x3 linear system Ax=b and computes the
norm of the residual.

double[][] array = {{1.,2.,3},{4.,5.,6.},{7.,8.,10.}};
Matrix A = new Matrix(array);
Matrix b = Matrix.random(3,1);
Matrix x = A.solve(b);
Matrix Residual = A.times(x).minus(b);
double rnorm = Residual.normInf();


726 名前:デフォルトの名無しさん mailto:sage [2008/12/07(日) 03:53:29 ]
>>722
オブジェクト指向分析的に、「システム」が行の入力を持つとは考えにくいから。
やっぱ行の入力は文字の入力ストリーム全般に対して持つべきで、
ファイルとシステム、さらにGUIとか文字列ストリームで別々に行の入力を実装するのは……

727 名前:デフォルトの名無しさん mailto:sage [2008/12/07(日) 04:06:05 ]
オブジェクト指向分析的にいえば改行コード(\n)を特定できないため、readLineを実装しても挙動が異なる。

728 名前:デフォルトの名無しさん mailto:sage [2008/12/07(日) 04:13:29 ]
したがって、System.out.println はオブジェクト指向分析的にウソっぱちです。
こんな似非オブジェクト指向言語は捨ててしまいましょう。

729 名前:デフォルトの名無しさん mailto:sage [2008/12/07(日) 05:25:19 ]
じゃ何がいいんですか

730 名前:デフォルトの名無しさん mailto:sage [2008/12/07(日) 06:30:17 ]
>>728
ジャバはオブジェクト指向言語なので捨ててしまっていいのはおまえの財布の中身です。

731 名前:デフォルトの名無しさん [2008/12/07(日) 08:54:52 ]
BufferedImage[][]の画像を合わせて一つのBufferedImageにしたいんですけど
どうすればいいでしょうか?



732 名前:デフォルトの名無しさん mailto:sage [2008/12/07(日) 08:56:49 ]
どうもできません。

733 名前:デフォルトの名無しさん [2008/12/07(日) 09:14:41 ]
ラッパークラスについて教えてください。
new Integer(10)というのを見て、
Integerクラスにはint型のフィールドがあるのかと思ったのですが、
APIを見てもどこにもそんなフィールどは無いようです。
int型の値10はどこに保持されているのでしょうか?
本を見てもボクシング、アンボクシングとは何かしか書いてありません。

734 名前:デフォルトの名無しさん [2008/12/07(日) 09:15:13 ]
マップエディタでチップを2次元配列に入れていって最後に
大きい画像として出力したかったんですけど無理ですか…

735 名前:デフォルトの名無しさん mailto:sage [2008/12/07(日) 09:19:26 ]
何をしたいのか意味不明です。

736 名前:デフォルトの名無しさん mailto:sage [2008/12/07(日) 09:48:46 ]
16進数の文字列をbmp形式の画像で出力するのに適したクラス、メソッドはどんなものがありますか?

737 名前:デフォルトの名無しさん [2008/12/07(日) 09:57:58 ]
16進数の文字列

738 名前:デフォルトの名無しさん mailto:sage [2008/12/07(日) 09:58:34 ]
Color#decode()
BufferedImage →簡単なのはsetRGB(),ある程度画像知ってるならgetRasterでWritableRasterにかきこむ
ImageIO.write()

739 名前:デフォルトの名無しさん mailto:sage [2008/12/07(日) 10:12:38 ]
Java SwingでJButton押下時に、Javaのファイルを
読み込んで、そっちのJFrameを表示させたいのですが
どうすればいいですか?


740 名前:デフォルトの名無しさん mailto:sage [2008/12/07(日) 10:32:14 ]
少し難しい質問なんですが、str.intern()したインスタンスもやはりgcされるんでしょうか?

741 名前:デフォルトの名無しさん mailto:sage [2008/12/07(日) 11:04:29 ]
>>733
よくわからないけど、int 型で取り出せるじゃない。
それとも実際の装備の問題?装備は標準決まってない限りは
どうなってるかは保証されてないのでは。




742 名前:デフォルトの名無しさん mailto:sage [2008/12/07(日) 12:17:57 ]
なんなんだ、この最近の流れは?

期末の課題があちこちで出たって事か?

743 名前:デフォルトの名無しさん mailto:sage [2008/12/07(日) 12:19:58 ]
>>734
無理じゃないよ。
そこまで専門用語が出せるなら、もう少し考えれば出来る。

744 名前:デフォルトの名無しさん mailto:sage [2008/12/07(日) 12:50:21 ]
>>733
あるよ
ただしドキュメントに private フィールドは記載されない

745 名前:デフォルトの名無しさん mailto:sage [2008/12/07(日) 12:53:07 ]
>>739
JButton押下時にjavaのソースファイルをコンパイルしたいという意味か?

746 名前:デフォルトの名無しさん mailto:sage [2008/12/07(日) 14:55:19 ]
>>739
ここに来るぐらいだから、AFrameのボタンのActionListenerで
BFrame作って表示するだけなんじゃないの

747 名前:デフォルトの名無しさん mailto:sage [2008/12/07(日) 15:34:48 ]
>>734
でっかいBufferdImageを作って、そこにチップをDrawImageしましょう

748 名前:デフォルトの名無しさん [2008/12/07(日) 15:36:40 ]
コンパイルしようとすると、
'javac'は内部コマンドまたはガイブコマンド、操作可能なプログラムまたはバッチファイルとして認識されてません
って出てきます。環境変数もCLASSPATHに設定したのに・・・どうしたらいいでしょうか?

749 名前:デフォルトの名無しさん [2008/12/07(日) 15:38:03 ]
すみません!!1を今見ました!!失礼しました

750 名前:デフォルトの名無しさん mailto:sage [2008/12/07(日) 17:52:30 ]
Formatter を使った書式で、
整数であれば小数点以下を出力しない、
という書き方はありますでしょうか。

たとえば System.out.printf(t, d) で
(d == 3.1) のとき "3.1"
(d == 3.0) のとき "3"
と出力するような t の書き方はありますか。


751 名前:デフォルトの名無しさん mailto:sage [2008/12/07(日) 17:56:14 ]
if文とかで条件指定するんじゃだめなの?



752 名前:デフォルトの名無しさん mailto:sage [2008/12/07(日) 18:11:07 ]
できれば書式文字列のみで解決できた方が
いろいろ便利かと思いまして。
「そんな書き方はない」のであれば
しかたないので分岐などを使うつもりですが。


753 名前:超初心者 [2008/12/07(日) 18:56:15 ]
12月からIT企業に未経験で就職しました。今、javaの勉強を独習しております。
クラスの問題を解いているのですが、参考書を参考に解る範囲でコーディングしていますが
なかなか上手くいきません。実は1日悩んで解りませんでした。
超初心者なので少し噛み砕いて説明して頂ける方、教えてください。

問題文はこうです。
『commonパッケージにjava.util.propertiesを継承して、コンストラクタ内で
ディレクトリにあるプロパティファイルをロードするConstantPropertiesクラス
を作成しなさい。』というものです。

私の理解出来ている範囲で未完成ですがプログラムを作ってみました。
見当違いでしょうけど、宜しくお願いします。

package common;
import java.io.*;
public class ConstantProperties extends java.util.Properties
{
InputStream inStream = null;
public static ConstantProperties() throws IOException
{
Properties properties = new ConstantProperties();
try{
inStream = new BufferedInputStream(new FileSteream("property.file"));
properties.load(inSteram);
if (inStream == null)
{
throw new IOException();
}
String value = Properties.getProperties("key");
}
以下、例外処理。

754 名前:デフォルトの名無しさん [2008/12/07(日) 19:04:15 ]
その会社の怖い先輩に聞けよ

755 名前:デフォルトの名無しさん mailto:sage [2008/12/07(日) 19:21:00 ]
>>752
Formatterだかなんだかのクラスを使う

756 名前:デフォルトの名無しさん mailto:sage [2008/12/07(日) 19:29:17 ]
>>753
あなたの理解できる範囲で書いたというプログラムなら
自分が書いたプログラムが何をしようとしてるかぐらい分かるよね?
それを噛み砕いて教えてくださいって話が意味不明なのですが・・
例えば以下のような処理なんかは、こうしたいって意図がないと書けないと思うのですが
new BufferedInputStream(new FileSteream("property.file"));


757 名前:デフォルトの名無しさん mailto:sage [2008/12/07(日) 20:10:48 ]
Serializableは配列も直列化するのは分かりましたが、Object[]の中身も自動で直列化するんですか?
class My1 implements Serializable
{
Object[] f1;
Serializable[] f2;
}

f1, f2 の配列の中身のオブジェクトは両者ともwriteObjectを書かなくても自動で直列化(デープコピー)されるんでしょうか。

758 名前:超初心者 [2008/12/07(日) 21:19:37 ]
>>756
もちろんnew BufferedInputStream(new FileSteream("property.file"));は何をしているか分かりますよ。
問題に対しての解答プログラムになっていないのが分からないという事なんですよ。
自分でこういうの書いてみましたという事です。

759 名前:デフォルトの名無しさん mailto:sage [2008/12/07(日) 21:25:29 ]
>>758
そもそも問題の意味わかってんの?

760 名前:デフォルトの名無しさん mailto:sage [2008/12/07(日) 21:28:00 ]
>>757
はい
中身のオブジェクトがすべてSerializableを実装していればですが

761 名前:デフォルトの名無しさん mailto:sage [2008/12/07(日) 21:50:22 ]
>>753
解りませんでした、というのは、どの点が解らないのか
教えてください、というのは、どの点について教えてほしいのか
パッケージ?
継承?
コンストラクタ?
何を答えて欲しいのか我々はどうすればいいのか質問内容は具体的に

あと、せめてコンパイルの通るコードを
コンパイルエラーが解決できないという話なら、そのエラーメッセージを
書き間違いや下手な省略は解決を難しくするから、
ソースコードやエラーメッセージはなるべく丸ごとコピペするべき

もう全部丸投げするからずばり答えを下さいという話なら宿題スレへ



762 名前:デフォルトの名無しさん mailto:sage [2008/12/07(日) 22:08:55 ]
Object[] f1; なんですが、各要素インスタンスがSerializable実装してないときは例外発生で知らせてくれるんでしょうか?


763 名前:デフォルトの名無しさん mailto:sage [2008/12/07(日) 22:43:23 ]
>>755
質問文に Formatter を使うって書いてあるんだけど


764 名前:デフォルトの名無しさん [2008/12/07(日) 22:51:15 ]
>>726-728
やっぱり理由があるんですね

答えてくれてありがとうございました

765 名前:デフォルトの名無しさん mailto:sage [2008/12/08(月) 02:56:46 ]
>>764
出力の場合は、原理的にバッファなしで改行までそのまま吐き出せるけど
入力の場合は、バッファを用意して改行が来るまで待たなくてはならない。
似てるようで必要とされるものが異なる。

766 名前:デフォルトの名無しさん mailto:sage [2008/12/08(月) 03:03:41 ]
>>761
宿題じゃないんだから丸投げだからって宿題スレに誘導すんなよwww

767 名前:デフォルトの名無しさん mailto:sage [2008/12/08(月) 03:25:32 ]
>>753
継承とはどういうものか、継承するとなにがどうなるのか。
コンストラクタをどう書くのかさえ分かってない。
未経験で入社してまだ一週間なら、こんな質問もまだ許されるだろ。
今のうちに社内の先輩なり同僚なりにガンガン聞いとけ。
そんな余裕も無いような社なら、今後もやってけないだろう。

768 名前:デフォルトの名無しさん [2008/12/08(月) 12:12:36 ]
質問です。
JToolBarで作ったツールバーの中身の配置を決めたいときにはどうしたらいいんでしょうか。
検索してもツールバー自体をどこにおくかというものしかでてきませんでした。
ツールバーはEastに配置する予定です。

769 名前:デフォルトの名無しさん mailto:sage [2008/12/08(月) 14:54:55 ]
配置って具体的には? レイアウトマネージャ変えないことにはあんまり大胆な変更は加えられないよ

770 名前:デフォルトの名無しさん [2008/12/08(月) 15:45:04 ]
768です。
すいません自己解決?しました。ツールバー使わなくてもよくなりました。
申し訳ありません。

771 名前:デフォルトの名無しさん mailto:sage [2008/12/08(月) 16:47:54 ]
>>733
ttp://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/lang/Integer.html

public final class Integer
 extends Number
  implements Comparable<Integer>

Integer クラスは、プリミティブ型 int の値をオブジェクトにラップします。Integer 型のオブジェクトには、型が int の単一フィールドが含まれます。


>APIを見てもどこにもそんなフィールどは無いようです。
本気ですか?



772 名前:デフォルトの名無しさん mailto:sage [2008/12/08(月) 19:28:32 ]
goo辞書のようなWeb上の辞書で一度に複数の単語を引くプログラムを
作りたいのですが、糸口がつかめません。

特定のURLにアクセス→単語検索→単語の説明のみ抽出

のように処理したいのですが、何か参考になるサイト、文献がございましたら
教えてください。

773 名前:デフォルトの名無しさん mailto:sage [2008/12/08(月) 19:40:13 ]
eclipseでpackageする場合はファイルを格納したpackage名と宣言したpackageが一致していないと駄目なんすかね?

774 名前:デフォルトの名無しさん [2008/12/08(月) 20:09:01 ]
JAVAで全ての文字を半角から全角に変換させるにはどうすればいいんですか??

775 名前:デフォルトの名無しさん mailto:sage [2008/12/08(月) 20:20:41 ]
>>772
ParserDelegatorを使うサンプルとか

776 名前:デフォルトの名無しさん mailto:sage [2008/12/08(月) 20:30:27 ]
>>774
char型にして区間でマッピングしてやったら?

777 名前:デフォルトの名無しさん mailto:sage [2008/12/08(月) 20:56:25 ]
Javaは配列辺りまで理解して今はクラスの基礎を勉強してる俺が
SJC-A受けてみようと思う。
今日、Amazonで参考書買った、
Sun教科書とか言うドッチカト言うと青本では無く紫本と
徹底攻略とか言う通称黒本の二冊をお急ぎ便で頼んだ。



受かると思いますか?…

778 名前:デフォルトの名無しさん mailto:sage [2008/12/08(月) 21:06:01 ]
マルチすんな

779 名前:デフォルトの名無しさん mailto:sage [2008/12/08(月) 21:27:50 ]
>>777
おまえみたいな奴はもし受かっても会社では通用しないな。rubyにしとけw

780 名前:デフォルトの名無しさん [2008/12/08(月) 21:34:23 ]
>>779
おまえさ〜。資格ってのは、もってりゃいいってもんじゃないんだよ。
Javaの資格は結構そういっても深い知識が必要な部分もでてくるんだよ。

問題は、そこんところちゃんと理解して一応Javaプログラムの基本は知ってマスっていえることが大事なんだよ。
そんくらいの力があれば資格もいらんし、面接の時に役立つくらいなんだよ。

まず、結論から言って配列まで理解っていう程度じゃ100%受からん。おまけに、受験料が無駄だからやめときな。
それより、地道にちゃんとした力をつけることをお勧めする。

781 名前:デフォルトの名無しさん mailto:sage [2008/12/08(月) 21:44:32 ]
意味不明



782 名前:デフォルトの名無しさん mailto:sage [2008/12/08(月) 21:50:46 ]
いや、そこは笑うところだろ?

783 名前:デフォルトの名無しさん mailto:sage [2008/12/08(月) 22:02:38 ]
資格持ってるからといって期待させといて、実際に仕事任せて出来なかったら逆にうらまれるだけだしな・・・
それよか、英語の文献読むことが多いだろうしtoeic受けたほうがいいよw

784 名前:デフォルトの名無しさん [2008/12/08(月) 22:04:12 ]
マイクロスフとWORDマスター(ゴールド)持ってますよっ!!!って言われても、つい笑っちゃうのは俺だけじゃないはず!

785 名前:デフォルトの名無しさん mailto:sage [2008/12/08(月) 22:11:07 ]
PCに接続しているデバイス(加速度センサ)からUDP通信で取得しているデータを
リアルタイムにグラフ化したいのですが、javaでそのようなことは可能なのでしょうか?
※イメージとしては、心電図のようなロールする感じのグラフです。
java初めて間もないので、教えていただけるとありがたいです。


786 名前:デフォルトの名無しさん mailto:sage [2008/12/08(月) 22:24:03 ]
できません。

787 名前:デフォルトの名無しさん mailto:sage [2008/12/08(月) 22:34:45 ]
>>785
awtとかアプレットレベルだけど、コンピュータを使って関数グラフを描くって事がわかってないと難しいんじゃない?
グラフ化したいのが目的ならjavaではなく他の専用アプリを使う。

788 名前:デフォルトの名無しさん mailto:sage [2008/12/08(月) 22:45:15 ]
どなたか Java のお仕事くらはい…。

789 名前:デフォルトの名無しさん mailto:sage [2008/12/08(月) 22:49:12 ]
とにかくさ〜>>777に受かるか受からないか
受かるとしたらどの位か答えてあげてよ

790 名前:デフォルトの名無しさん mailto:sage [2008/12/08(月) 22:52:13 ]
>>785
OpenGLがいいんじゃない?

791 名前:デフォルトの名無しさん mailto:sage [2008/12/08(月) 22:54:30 ]
Aは受けたことないからわかんね

suned.sun.co.jp/JPN/certification/sjcaobj.html

主な出題範囲を見る感じ100%受からないとおもた



792 名前:デフォルトの名無しさん mailto:sage [2008/12/08(月) 23:03:25 ]
>>788
最近javaでゲームの環境(描画とかハード的な対応)が整ってきたから
ヒマならjava2dの勉強がてらゲームとかパズル作ってみるといいよ。
3dは高校程度になるけど、2dとかアニメーションなら中学程度(せいぜい連立方程式と2次方程式程度)でおk

793 名前:デフォルトの名無しさん mailto:sage [2008/12/08(月) 23:11:50 ]
仕事だって言ってるだろうが
勉強がてらに作られたゲームをお前買ってくれんのか?

794 名前:デフォルトの名無しさん mailto:sage [2008/12/08(月) 23:13:17 ]
だめだなぁ

795 名前:デフォルトの名無しさん mailto:sage [2008/12/08(月) 23:22:51 ]
こんなスレで仕事を募集する人間のつくったモノなんて、誰も買おうとは思わない

796 名前:デフォルトの名無しさん [2008/12/08(月) 23:33:32 ]
>>793
おまえに仕事を頼んだら何されるか分かったもんじゃないなw
もしおまえのバグで顧客が押しかけてきたら、ちゃんと責任とってくれるんだろうな?

797 名前:デフォルトの名無しさん mailto:sage [2008/12/08(月) 23:35:25 ]
>>793
おまえ、なんか調子乗ってるだろ。もうこのスレ来ないでくれないか?おまえみたいのが一番迷惑なんだよ

798 名前:デフォルトの名無しさん [2008/12/08(月) 23:41:30 ]
早いところオッサンは引退した方がいいかもなw

799 名前:デフォルトの名無しさん mailto:sage [2008/12/08(月) 23:47:31 ]
>>793
おまえ、>>777の質問に答えてやれよ

800 名前:デフォルトの名無しさん [2008/12/08(月) 23:49:10 ]
自演もいらんなw
はよ消えろww

801 名前:デフォルトの名無しさん mailto:sage [2008/12/08(月) 23:52:48 ]
>>788
そういえば、ポトペタ開発はどうしたんですか?



802 名前:デフォルトの名無しさん mailto:sage [2008/12/08(月) 23:55:21 ]
資格とか持ってる奴の方が実際は役に立たないのがおおいよね。

803 名前:デフォルトの名無しさん mailto:sage [2008/12/09(火) 00:00:59 ]
数えたことが無いので知らん

804 名前:デフォルトの名無しさん mailto:sage [2008/12/09(火) 00:01:47 ]
テストは満点、適応能力は0点なんて昔からいるだろ。

805 名前:デフォルトの名無しさん mailto:sage [2008/12/09(火) 00:08:43 ]
>>786
そうですか…残念です。
>>787
なるほど、他当たってみます。
>>790
聞いたことはありますね。調べてみます。

↑返信ありがとうございました。
また、java関係で疑問質問等出ましたら書き込むので
そのときはよろしくお願いします。


806 名前:デフォルトの名無しさん [2008/12/09(火) 00:08:52 ]
>>793は、テストは0点、協調性0点ってことですかw

807 名前:デフォルトの名無しさん mailto:sage [2008/12/09(火) 00:11:16 ]
javaの本でどこでも読めるような小さいサイズの
リファレンスみたいなのありませんか?
入門の次くらいに読む本ならなんでもおkです。

808 名前:デフォルトの名無しさん mailto:sage [2008/12/09(火) 00:23:11 ]
First Head Javaだっけ?あれは?

809 名前:デフォルトの名無しさん [2008/12/09(火) 00:26:22 ]
>>806
どうせ古い知識とか昔の小技とかこだわってるオッサンだろw
もう化石だしほっといていいんじゃね?

810 名前:デフォルトの名無しさん mailto:sage [2008/12/09(火) 00:38:01 ]
森田スクロールは今のコンシューマ開発でも使われている。
とか言ってみるw

811 名前:デフォルトの名無しさん mailto:sage [2008/12/09(火) 03:16:04 ]
>>805
その様子だと、何か書き込むならもっとjavaのことを勉強してからの方がいいですよ。



812 名前:デフォルトの名無しさん mailto:sage [2008/12/09(火) 10:10:36 ]
プログラミングの資格を誇示するやつってろくなやついないから、 >>777 には受かって欲しいなぁ。

813 名前:デフォルトの名無しさん mailto:sage [2008/12/09(火) 10:40:00 ]
古い情報ニ種を持ってて古い一種に英語が分からずに落ちて他何も持ってない俺でも
ボソボソとだがやってけるんだから、資格なんて…資格なんてっ!

でも資格もってると実際には使えんヤツでも手当て出たりするんだよな…もったいねぇ。

814 名前:デフォルトの名無しさん mailto:sage [2008/12/09(火) 10:49:00 ]
資格というのは手当てのために取るもんだから、持ってるからといって凄腕なわけでない。
トーイックとかもってないと上に上がれない職種も多いでしょ。
警察と同じで一種の昇給試験にちかい。
それよりも仕事もってくる嗅覚(営業)の特技が合った方が先々でやってけるw

815 名前:デフォルトの名無しさん mailto:sage [2008/12/09(火) 12:34:12 ]
情報二種とか懐かしすぎるだろ、持ってる事忘れてたわ
取得当時はまだ高校生になったばかりだったなあ(遠い目

816 名前:デフォルトの名無しさん mailto:sage [2008/12/09(火) 12:39:27 ]
資格なんてとって遊んでる暇があったら、仕事しなさい

817 名前:デフォルトの名無しさん mailto:sage [2008/12/09(火) 12:45:40 ]
法的に有利にならない資格は取っても無駄

818 名前:デフォルトの名無しさん [2008/12/09(火) 13:24:01 ]
質問です。
スクリプトとか訳ワカメなんですが
オンラインゲームのFEZで出てる
エガクロックのブログに張り付けたりするパーツを
G15SゲーミングキーボードのLCD画面に入れたいんですが
見てもらえば分かるかもですがエガチャンの動画?ムービー系も出てて
入れるのにはそれをなくさないといけません。
LCDスタジオつかって読み込ませようとしたんですが無理でした
一応スクリプト?みたいなのは貼っておきます
カテ違いの場合は言ってもらえればすぐ出ますので
お願いします

<script type='text/javascript' src='www.fezero.jp/monomousu/clock/egablog.js'></script><script>writeEgaTag('dnxfffQ4owirFR-
MQqWMNH5mDWCzVE4mMxFGmTUOMaRsmtgGH2.fwH4rYRDvJgQiNt.2vLmkJ1BtTmCdHfyKOQQa5w8eBnP
6vAdin0PhS4o_', '', '', '')</script>


819 名前:デフォルトの名無しさん mailto:sage [2008/12/09(火) 13:45:07 ]
よくは知らんが日本語って日本人にも難しいらしいな

820 名前:デフォルトの名無しさん mailto:sage [2008/12/09(火) 13:56:21 ]
Java と JavaScript は違うものだと何度言えば

821 名前:デフォルトの名無しさん [2008/12/09(火) 14:02:37 ]
すんません
Graphics2DオブジェクトにdrawStringメソッドで文字を載せたいのですが、
反映されるのは半角英数だけ、日本語の全角文字(半角カナも)は、ごとごとく無視されます。

たとえば
g2.drawString("abcあいdeうえfおghi",100,100)のようにすると、

アウトプットは
「abcdefghi」
と表示されます。

日本語反映する方法ありましたら教えてください。



822 名前:デフォルトの名無しさん mailto:sage [2008/12/09(火) 15:06:34 ]
フォントの問題では?
日本語のフォントを指定してみたら?

823 名前:デフォルトの名無しさん [2008/12/09(火) 16:15:58 ]
>>822
そうでもないようです。

これでやろうとしているのが、iTextによるPDF生成でして。

PdfContentByte型でクリエイトできるGraphics2Dクラスにいろいろ図形などを描画していくことで表示ができる仕組みですが、
drawStringでテキストを置くときだけ、日本語文字が無視されるようです。

特殊な使い方ですが、iTextでの開発経験のある方いらっしゃいませぬか・・・

824 名前:デフォルトの名無しさん mailto:sage [2008/12/09(火) 17:18:52 ]
俺SUGEEE人気だwwww
よく釣れたwwwwwwww

825 名前:デフォルトの名無しさん mailto:sage [2008/12/09(火) 17:20:16 ]
ごばく

826 名前:デフォルトの名無しさん mailto:sage [2008/12/09(火) 17:34:26 ]
>>823
>そうでもないようです。
どのような処理を行った結果、そう思うんですか?

827 名前:デフォルトの名無しさん mailto:sage [2008/12/09(火) 19:34:27 ]
俺も iText で文字配置したりしてるけど、別に普通に出力されるねぇ。

前に日本語が表示できなかったか、文字化けしたか忘れたけど、
それはサーバーにフォントを入れたら解決した様な………気がする。
ごめん忘れたww

詳しくは忘れたけど、俺は showTextAligned で表示してるよ。
それでできない?

828 名前:デフォルトの名無しさん [2008/12/09(火) 20:21:53 ]
PdfContentByte型

829 名前:デフォルトの名無しさん mailto:sage [2008/12/09(火) 21:01:13 ]
public void mouseDragged(MouseEvent e) { }
のe.getButton()(何のボタンが押されているか取得するメソッド)がドラッグ開始時や,している最中,終了時も0(MouseEvent.NOBUTTON)なんだけどこれは仕様?
こういうのがやりたいんだけど↓
public void mouseDragged(MouseEvent e) {
if (e.getButton() == MouseEvent.MOUSE_CLICKED) {
// ドラッグ開始直後の処理
}
else if (e.getButton() == MouseEvent.MOUSE_DRAGGED) {
// ドラッグ中の処理
}
else if (e.getButton() == MouseEvent.MOUSE_CLICKED) {
// ドラッグ後の処理
}
}
ドラッグ開始直後からドラッグ中・ドラッグ後までマウスがどのように動いたかの座標を用いた処理をしたいんだけど(Canvasに描かれた絵をD&Dで移動させたい)
mousePressedやmouseReleseでe.getButton()やったらちゃんと値が出力されたんで,ここで座標を取得出来るんだろうけど処理がいろんなところに散らばるのでやりたくない.

830 名前:デフォルトの名無しさん mailto:sage [2008/12/09(火) 21:45:51 ]
>>829
比較対象が間違ってる。
MouseEvent.MOUSE_CLICKEDやMouseEvent.MOUSE_DRAGGEDは、
MouseEvent#getID()と比較すべきもの。
MouseEventの、特にgetButton()のjavadoc嫁。

>mousePressedやmouseReleseでe.getButton()やったらちゃんと値が出力されたんで,...
たまたま、定数値が同じだっただけだろう。

831 名前:デフォルトの名無しさん [2008/12/09(火) 23:40:55 ]
すまそ。Web系ってなんじゃらほい?とおもって、JSP/Servletやったら、結構おもしろい。

で、近くのBOOKOFFいって、Web系の本を探してきたら、Web+DBPressっていうのが
105円でうってたから、買ってきた。これに、EJBっていうのがあるからやってみたいんだけど
JBossっていうのが最新版とだいぶバージョンが違ってるんだけど、最新版のJBossでも動くかお(´・ω・`)?



832 名前:デフォルトの名無しさん mailto:sage [2008/12/10(水) 00:06:08 ]
おまえなんか105円だろ。我慢しろ。

833 名前:デフォルトの名無しさん mailto:sage [2008/12/10(水) 00:19:14 ]
eclipse のデバッグで引数に c:\*.zip みたいな指定をすると、それにマッチするファイルが
自動的に展開され、 c:\aaaaa.zip みたいな値に変わって引数として渡ってしまいます。
これをそのまま、指定した引数を渡すにはどうすれば良いのでしょうか?

また、コマンドラインでも "c:\*.zip" のようにダブルクォートで区切ってやら無いと上手く
引数で渡ってくれません。 わざわざダブルクォートで区切らないで済む方法は無いのでしょうか?

834 名前:デフォルトの名無しさん mailto:sage [2008/12/10(水) 00:26:00 ]
Javaにおいて質問
ソートの基本選択法のメソッドを非再帰的に作ったんだけど、
これって再帰的なメソッドを作れる?

もし作れたら、その骨格を教えてください
どうにも煮詰まってしまって・・・

835 名前:デフォルトの名無しさん mailto:sage [2008/12/10(水) 00:39:47 ]
選択法の何所を再帰化したいのかよく分からない。
最小値選択のループか、並べ替え部分の実装か。
最小値選択のループは文字単位で繰り返すので、ここを再帰化
したら再帰の深さが文字列長分になって大変だと思う。

836 名前:デフォルトの名無しさん mailto:fany_asemar@hotmail.com [2008/12/10(水) 01:19:19 ]
Please, I am from spain and i need the java code of Shikaku because I donエt understand Japanish, if is posible in java or englis..?
Thanks a lot
Fany

837 名前:デフォルトの名無しさん mailto:sage [2008/12/10(水) 01:30:13 ]
>>834
言いっぱなしもあれなので、一応作ってみました。

public static void selectSort(int[] array, int offset){

  int minIndex = offset;
  for(int i = offset + 1; i < array.length; i++)
    if(array[i] < array[minIndex]) minIndex = i;

  int min = array[minIndex];
  array[minIndex] = array[offset];
  array[offset] = min;

  if(offset < array.length - 2)
    selectSort(array, offset + 1);
}

でも「文字列長分だけ再帰が深くなる」ので、実用的ではありません。

838 名前:デフォルトの名無しさん mailto:sage [2008/12/10(水) 02:08:11 ]
>>836
might be...
Shikaku:quadrangolo
new Rectangle(0, 0, 10, 10)




839 名前:デフォルトの名無しさん mailto:sage [2008/12/10(水) 02:23:20 ]
>>836
Dizionario ecco.
ttp://www.goihata.com/en/japanese-spanish-dictionary


840 名前:デフォルトの名無しさん mailto:sage [2008/12/10(水) 07:38:37 ]
>>837
サンクス
試してみる

841 名前:デフォルトの名無しさん mailto:sage [2008/12/10(水) 11:47:22 ]
地球のみんな、オラに元気と知恵をわけてくれ!!
午後から仕事で面接なんだけど、Javaで構築する開発案件で、
「Javaの技術力に自信あるヤツ急募!面接で経験や技術力をアピールしてくんろ!」
て話らしいんだけど、Javaの経験値アピールするにはどんな話がよいと思ふ?

って他人に質問するくらい、オラは低レベル(Java使った実務経験3年程度)ですょ。。。 orz









[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

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

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