トップページ⇒tech
1001コメント357KB

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

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2007/01/13(土) 17:51:43
過去ログ、関連スレッド、よくある質問とその回答、
質問をする前に、貴方が見なければならないサイトについての情報は、
下のwikiのページにまとめてあります。
http://www.wikiroom.com/java/

これからJavaでプログラミングを始めたいが、何をすればいいかわからない人も、
wikiからのリンクをおたどりください。

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

前スレッド
【初心者】Java質問・相談スレッド95【大歓迎】
http://pc10.2ch.net/test/read.cgi/tech/1165813252/

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

JavaScript, Ajaxの質問は、ここでは受け付けていません。
Web製作板をご利用ください。http://pc10.2ch.net/hp/

次スレは>>980あたりで。
0153デフォルトの名無しさん2007/01/17(水) 22:55:03
void
0154デフォルトの名無しさん2007/01/17(水) 22:55:13
>>152
Aに引数0個のコンストラクタがあるって保証が無いから。
0155デフォルトの名無しさん2007/01/17(水) 23:00:08
デフォルトコンストラクタでは納得してくれないのか・・・
つーことは>>152の書き方のような特定クラスを継承した「何か」のクラス
の実体を生成することは出来ないということなのか??
0156デフォルトの名無しさん2007/01/17(水) 23:06:11
> デフォルトコンストラクタでは納得してくれないのか・・・
とりあえず言語規定読んで来い。

> 特定クラスを継承した「何か」のクラスの実体を生成すること
コンストラクタの引数で Factory<A> みたいのを実装したクラスのインスタンスを渡してやるとか。
0157デフォルトの名無しさん2007/01/17(水) 23:12:07
>>155
もっとも、Factory<A> を渡すより、A のインスタンス渡しちゃった方が早いけど。
0158デフォルトの名無しさん2007/01/17(水) 23:12:54
>>155
template<typenmae A>class CA{
public:CA(){
A a = new A();
}
};
0159デフォルトの名無しさん2007/01/17(水) 23:22:25
>>158
C++のtemplateとはかなり違うモノのようですね。
つか明示的に継承元クラス記述してるんだからそこはコンパイラが
そこかとなく察してくれてもよさそうなものだが。
0160デフォルトの名無しさん2007/01/17(水) 23:25:53
> つか明示的に継承元クラス記述してるんだから
継承先で、どんなコンストラクタを定義しようが自由な言語なので無理。
0161デフォルトの名無しさん2007/01/17(水) 23:36:52
javaのgenericsとc++のtemplateは全く別物だ。
言語仕様を理解せずに使うと火傷するよ。
0162149です2007/01/17(水) 23:43:00
>>149です

System.out.println("体重" + a[i][0] + "で" + "身長" + a[i][1]);

               でエラーがでます。どこがいけないのでしょうか?

体重a[i][0]で身長a[i][1]と書いているつもりなんですけど…
ちなみに変数aはint メッセージは¥12288不正な文字ですとでます。
 一つ前のSystem.out.printlnはクリアできたのですが…どうぞお願いします。
0163デフォルトの名無しさん2007/01/17(水) 23:44:45
>>162
ヒント:全角スペース
0164デフォルトの名無しさん2007/01/17(水) 23:45:48
> ¥12288不正な文字
全角空白消せ。
0165デフォルトの名無しさん2007/01/18(木) 00:08:42
>>162
これからは質問する前に>>1を見ることだな
FAQもいいところだ
0166149です2007/01/18(木) 00:17:30
ありがとう、全角スペースも駄目なんだ…あまり文字の全角半角は気をつけてたけど、スペースまでは目が行かなかったです。
ありがとう、早く皆さんをうならせる質問したいです。では
0167デフォルトの名無しさん2007/01/18(木) 00:45:52
質問です。
コンソールから入力した文字列(Stringオブジェクト)を
1文字ずつchar配列に格納する方法がありましたら教えてください。

0168デフォルトの名無しさん2007/01/18(木) 00:50:48
>>167
char[] array = "文字列".toCharArray()
0169デフォルトの名無しさん2007/01/18(木) 00:54:34
配列ではなく、単にインデックスアクセスしたいだけなら
String#charAt(int index)でもいいよ。

どうでもいいけど#charAtって何か遅いね
長い文字列だと#toCharArray経由の方が速いときがある。
01701672007/01/18(木) 01:26:03
>>168, 169
そんなメソッドがあったんですね。勉強不足でした。
回答ありがとうございました。
0171デフォルトの名無しさん2007/01/18(木) 01:43:59
質問です。
java.net.Socket;を利用するのですが
Socket sock = new Socket();としましてこの場合のsockの初期値はどうなるのでしょうか?
またsock.close();した後のsockの中身はどうなってるのでしょうか?

ソケットが閉じている際にソケットを開くということをしたいのです。
if(sock.equals(null)) sock = new sock(target, port);

では正常に動作してくれませんでした。
よろしくお願いします。
0172デフォルトの名無しさん2007/01/18(木) 02:07:26
aSocket.isClosed()
0173デフォルトの名無しさん2007/01/18(木) 02:08:06
>>171
Socket#close()はソケットで使っていたリソースを開放するだけで、
new Socket()で得たリファレンスをnullにはしてくれないよ。
だから、
if (sock == null) sock = new Socket(host, port);
は、新しいソケットを作成しない。sock != nullだから。
やるなら、
if (sock.isClosed()) sock = new Socket(host, port);
かね。

new Socket()で作成されるのは接続されていないソケット。
0174デフォルトの名無しさん2007/01/18(木) 02:08:33
> この場合のsockの初期値
まだ、どこにも接続されてない状態の Socket のインスタンス。
connect とかで接続先決めろ。

> sock.close();した後のsockの中身
close() されて使えなくなった状態の Socket のインスタンス。

> sock.equals(null)
たぶん、常に false が返る。

> new sock(target, port);
sock ってクラスが無いならコンパイル時エラー
0175デフォルトの名無しさん2007/01/18(木) 02:24:48
>166
大丈夫だ、もう十分うならせてる。
0176デフォルトの名無しさん2007/01/18(木) 02:44:35
>>173,174
レスありがとうございます。
if (sock.isClosed()) sock = new Socket(host, port);
でもうまく行かないようです。

new sock(target, port)はnew Socket(target, port)の間違いでした。

実際はメールサーバに問い合わせてリストを表示メールの内容を表示というものを作っているのですが
接続>リスト>切断>接続>内容表示>切断
という具合にやるようなのですがどうにもうまく行きません。
リストの表示までは行くのですが内容表示の際に
java.net.SocketException の例外が出てしまい内容は Socket:closed の様なものです。
newでインスタンス化しているので同じソケットを使ってはいけないということはないですよね?
0177デフォルトの名無しさん2007/01/18(木) 03:23:47
>>176
見当違いかもしれないけど、短時間で再接続しようとすると、
以前の接続がタイムアウト状態のまま残っていることがあって、
接続できない場合があったような気も。
メールサーバとのやり取りで、いちいち切断せずに、
LISTとRETRを同じセッションでやれるようには変更できないの?
0178デフォルトの名無しさん2007/01/18(木) 03:56:57
同じセッションでやれるようには変更できないの?って聞いたんだが、
LISTとRETRは同じセッションでやるべき気がする。
POP系のプロトコルを使ってるんだと思うけど、
LISTで取ったリストは正確にはそのセッション中でしか有効ではないので、
USER+PASS(APOP)→LIST→RETR→DELE→RETR→DELE……→QUIT
を途中切断無しの1セッションでメーラーは行ってると思う。
途中で切れたらLISTからやり直し。
0179デフォルトの名無しさん2007/01/18(木) 08:24:29
>>177,178
レスありがとうございます。
自分のは学校の課題なのですが例がありましてそれだとLISTで一度socket.close();
をしてその後にもう一度ソケットを開いてRETRをするというようになってます。

それは全部メインメソッドに詰まってるので自分は設計しなおしてクラス分けをして今作っているのですよね。
一連の動作として考えればいいのですか。
参考になります、今は時間がないので後で試してみますね。

現状の新しい問題ですとRETRで繋がった場合にメールの閲覧ができないという状況に陥って困ってます。
手動でtelnetでやった場合には問題がないのでプログラムの問題だと思われます。
0180デフォルトの名無しさん2007/01/18(木) 11:05:18
ttp://mindbluff.com/necker.htm

の じゃばすぷりくと の保存方法おしえてください。
0181名無し募集中。。。2007/01/18(木) 11:22:17
>>180
失せろ
0182デフォルトの名無しさん2007/01/18(木) 11:42:40
んだ?テメーは?あ?コラァ!ヤッちまんぞ!あ?
0183デフォルトの名無しさん2007/01/18(木) 11:57:27
はあ?
おまえどこ中よ?
0184デフォルトの名無しさん2007/01/18(木) 11:57:36
おい、オメーに言ってんだよタコ 探し出すぞコラァ!
0185デフォルトの名無しさん2007/01/18(木) 11:58:38
お、見てんじゃねーかよ。

オラァ、リアルで喧嘩すんぞ。出て来いヤ!
0186デフォルトの名無しさん2007/01/18(木) 12:00:57
わしを誰やおもとんじゃ!ボケェ
0187デフォルトの名無しさん2007/01/18(木) 12:15:07
ヲイヲイ、変なのが二匹湧いたぞwww
01881802007/01/18(木) 12:18:06
やめてください ぼくだと思われるじゃないですか。
0189U-名無しさん2007/01/18(木) 12:19:55
>>188
だから失せろ
0190デフォルトの名無しさん2007/01/18(木) 12:56:57
          || ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄||
          || あらしは        ∧_∧  いいですね。
          ||   無視!  \ (゚Д゚,,)
          ||________⊂⊂ |
  ∧ ∧    ∧ ∧    ∧ ∧    | ̄ ̄ ̄ ̄|
  (  ∧ ∧ (   ∧ ∧ (  ∧ ∧ |      |
〜(_(  ∧ ∧ __(  ∧ ∧__(   ∧ ∧ ̄ ̄ ̄
  〜(_(  ∧ ∧_(  ∧ ∧_(   ∧ ∧  は〜い、先生。
    〜(_(   ,,)〜(_(   ,,)〜(_(   ,,)
      〜(___ノ  〜(___ノ   〜(___ノ
0191デフォルトの名無しさん2007/01/18(木) 14:07:59
ID3タグってどうやって取得すればいいんですか>
0192ネカフェからJava勉強中2007/01/18(木) 14:12:43
はじめまして。
2ちゃんねる初カキコです。よろしくお願いしますm(--)m

ただ今転職活動中でして、旅行業界から
Java・プログラムの道へ進みたいと考えてます。

それで、付録CDの付いた「Flashムービー動画で学ぶ!Java完全マスター」技術評論社・・・
という本を購入し、漫画喫茶で付録CDを見ながら勉強はじめました。

お恥ずかしい話ですが、家にPCが無く、まだPCを購入できない状況です。

まずはHello World!を表示できるようになりたいんですが、
上記本によると、JDKををDLして、javacコンパイラを使う必要がある。
JDKをDLする際に、Windows内で「パス設定」をしないといけないそうです。

ついでに、漫画喫茶のPCは、一度OSを終了するとデータが初期化・DLしたデータ
は無くなります。

そこで質問なんですが、
JDKをDLして登録したパスは、別のPCからJDKをDLした際・もしくは再度JDKをDLした場合にも、
また使用する事が可能なんでしょうか?
むしろ、漫画喫茶からHello World!は不可能なんでしょうか?

長々とすいません!それも超初心者で。
教えて頂ける神様みたいな人、何卒よろしくお願いいたします。
0193デフォルトの名無しさん2007/01/18(木) 14:21:30
↓
0194デフォルトの名無しさん2007/01/18(木) 14:29:50
>>192
>ただ今転職活動中でして、旅行業界から
>Java・プログラムの道へ進みたいと考えてます。

えーっと、ここはJavaの質問相談スレだっけ?
今度のご相談はコレ、ね。

わるいことはいわない。辞めておけ。
技術がないのに転職するなんて狂気の沙汰だ。

趣味でやってたプログラミングを仕事にしようとかいう
意気込みならともかく・・・・
しかもPC買う気もなく投資する気もないときたら・・・

最後に、これコピペならスマン>>all
0195デフォルトの名無しさん2007/01/18(木) 14:32:22
>>192
JDKの場所が同じなら使えるかもしれないが・・・
その質問は素人以前でjava入門以前だ。
プロ目指すなら自宅にjava用のPCぐらいは買っておけ。
本気で技術者目指すなら損にはならないはずだ。
0196デフォルトの名無しさん2007/01/18(木) 14:33:35
>>192
漫画喫茶は利用した事がないから分からないけど
クラスパスを設定するbatファイル、及びJDKをCDに焼いておくと
次に使うとき迅速に作業を開始できるかもね。
(漫画喫茶のPCってCDから何かをインストールする事は可能なのか知らない)
0197ネカフェからJava勉強中2007/01/18(木) 15:03:17
>>194
コピペではないです(汗

>>195
はい!バイトに励みたいと思います!

>>196
パスを設定するファイルもあるんですね!驚
今度試してみます!

皆様、超初心者相手にアドヴァイスありがとうございましたm(--)m
0198デフォルトの名無しさん2007/01/18(木) 15:21:07
>>197
パスを設定するファイルっつーか・・・コマンドです。
0199デフォルトの名無しさん2007/01/18(木) 15:26:30
>>198
俺は取りあえずうちの会社に入ってこないことだけを祈っておくよ
0200ネカフェからJava勉強中2007/01/18(木) 15:30:36
>>198

m(--)m
0201ネカフェからJava勉強中2007/01/18(木) 15:31:32
間違えました。
>>199さんに m(--)m
0202ネカフェからJava勉強中2007/01/18(木) 15:34:25
>>199
WEB製作系の会社を狙っています。
0203デフォルトの名無しさん2007/01/18(木) 17:51:12
>>199
そう?俺は勉強熱心で感心だと思うよ。
新卒扱いで入ってきたら歓迎かな。
中途扱いで入ってきたら殺るね。
0204デフォルトの名無しさん2007/01/18(木) 18:44:33
クラスパス(環境変数?)について、質問です。

Helloを表示するプログラムで、クラスパスに関するエラーはFAQで解決できたのですが
>set CLASSPATH=%CLASSPATH%;.
というコマンドを、毎回入力しなくて済むようにするには、どうすればいいのでしょうか?


環境変数に、カレントディレクトリを追加すれば良いと、FAQに書いてあったのですが
リンク先>http://www.gimlay.org/~javafaq/S004.htmlがNotFundでした。
設定の仕方を教えていただけないでしょうか。
よろしくお願いします。
0205デフォルトの名無しさん2007/01/18(木) 18:51:27
>>1
0206デフォルトの名無しさん2007/01/18(木) 19:02:40
[マイ コンピュータ]-[右クリック]-[プロパティ]-[詳細設定]ページ-[環境変数(N)]-[システム環境変数(S)]

[変数]に"CLASSPATH"があれば
[編集(I)]ボタン-[変数値(V)]の末尾に ";." を追加する。

[変数]に"CLASSPATH"がなければ
[新規(W)]ボタン
* [変数名(N)]に"CLASSPATH" を入力する。
* [変数値(V)]の末尾に "." を追加する。
02072042007/01/18(木) 19:13:37
>>206
無事に設定することができました!
ありがとうございますm(_ _)m
0208デフォルトの名無しさん2007/01/18(木) 21:10:43
swingで作ったjButtonでキーイベントを取得するのに
getKeyCodeで半角/全角キーを判断する方法ってありますか?
半角/全角キーではキーイベントが発生しないというのをみたのですが、
教えてくれる方よろしくお願いします。
0209デフォルトの名無しさん2007/01/18(木) 22:06:50
KeyEventを拾ったときにその中身を表示してみるプログラムを作ってみれば
自分で確認できるね。
0210デフォルトの名無しさん2007/01/18(木) 23:07:27
JGraph5.9に慣れるためにいろいろ試してる最中なんですが
直線とかのセルをクリックしたときの動作を変えることってできますか?
例えばDefaultGraphCellで作ったセルをダブルクリックしてみるとテキスト入力フォーム出るのを
新しいウィンドウが開くとかの動作に変えてみたいんですが…
0211デフォルトの名無しさん2007/01/18(木) 23:22:26
>>210
付属のサンプルにそんなのあったよ。デフォルトの動作の代わりにJDialog表示するやつ。
0212デフォルトの名無しさん2007/01/18(木) 23:35:27
thisについて、わかりやすく書いているサイトがあったら教えてくだせえ、、
0213デフォルトの名無しさん2007/01/18(木) 23:37:24
>>211
サンプル探したところEditorGraphというサンプルにまったくおっしゃるとおりのものがありましたよw
BasicGraphUIを継承してcreateEditDialogというのをオーバーライドすればよさげなので
これでやってみます!

ありがとうございました!
0214デフォルトの名無しさん2007/01/18(木) 23:37:24
もしくはわかりやすく教えてください。。
0215デフォルトの名無しさん2007/01/18(木) 23:40:57
>>214
自インスタンスのこと。
0216デフォルトの名無しさん2007/01/19(金) 00:01:03
自とは、、
グループ内のという意味ですか?
0217デフォルトの名無しさん2007/01/19(金) 00:03:23
自分
0218デフォルトの名無しさん2007/01/19(金) 00:13:12
"Java this" もしくは "Java thisキーワード" でぐぐったら色々あるじゃん
0219デフォルトの名無しさん2007/01/19(金) 00:33:54
>>216みたいな、突拍子もない脳内自動変換フィルタを実装している奴は、
どんなわかりやすい説明を聞いてもトンデモな方向へ理解してしまいそうだ。
0220デフォルトの名無しさん2007/01/19(金) 00:43:23
いや、知識が足りないんだろ。
「クラス」「インスタンス」、から調べ始めることを勧めたい。>>216
0221デフォルトの名無しさん2007/01/19(金) 01:53:47
以前クラスの受け渡しについて質問した>>132ですが
自己解決したと思っていたけどちょっとあやふやになってきたので再度>>134の指摘を含めて質問いたします。
MainPanelからクラスAへ(ここでは値の受け渡しなどはありません。ただAクラスへ処理を依頼したいだけです)
Aクラスではaaaに1を足してそのaaaの値をBクラスに渡します。
Bクラスでは受け渡された値にまた1を足します。
その後MainPanelへ戻ってMainPanelの処理の続きを行います。
class MainPanel extends JPanel {
  // パネルサイズ
private static final int WIDTH = 800;

private static final int HEIGHT = 600;

//なにか処理を行う
  
// ここでAクラスへ処理を依頼

  //AクラスからBクラスへ処理が流れたあと
  //ここに処理を戻して続きの処理を行う

  //この先また処理がスタート

}

このような感じで処理を流す場合どうすればいいのでしょうか?

0222デフォルトの名無しさん2007/01/19(金) 02:53:39
プログラムの流れをざっと書きます。
(プログラムと同じフォルダにimg1.jpgというファイルがあります)

Image image1, image2;
・getToolkitでimg1.jpgをimage1に代入
・image1のRGB値を変更してimage2に代入
・drawImageでimage2を描く

Image2を、img2.jpgという名前で保存するにはどうすればいいのでしょうか?
0223デフォルトの名無しさん2007/01/19(金) 11:10:09
>>221
Aのメソッドの中からBのメソッド呼べばいいのでは?
スレッドでも立てない限り、Bのメソッドが完了するまで
MainPanelに処理は戻ってこないよ。
0224デフォルトの名無しさん2007/01/19(金) 11:45:34
すみません、超初心者なんで質問させてください

Process p = Runtime.getRuntime().exec("c:\\xxx.bat");
でローカルにあるバッチファイルを起動できるんですが
ローカルではなく別端末にあるバッチファイルを起動させる事ってできますか?
できる場合、どうやればできますか?
0225デフォルトの名無しさん2007/01/19(金) 12:28:51
>>224
RMI とかでぐぐれ。
0226デフォルトの名無しさん2007/01/19(金) 13:32:38
>>225
ありがとうございます!
こういうのもあるんですね、勉強になりました。

一応、以下のでも出来ました。
Process process = Runtime.getRuntime().exec("\\\\IPアドレス\\c:\\xxx.bat");
0227デフォルトの名無しさん2007/01/19(金) 14:31:05
ええと、質問の意味は
「リモートに置いてあるバッチファイルをローカルで実行」
だったの?

RMIは、
「リモートマシンのJava VMにあるオブジェクトのメソッドを呼ぶ」
というもので、これが必要になるのは
「リモートに置いてあるバッチファイルをリモートで実行」
の場合だと思うのだが。
0228デフォルトの名無しさん2007/01/19(金) 14:39:58
>>227
実行できりゃどっちでも構わんのだろ。たぶん。
もしくは区別する必要があるのに区別できてないか。
0229デフォルトの名無しさん2007/01/19(金) 15:05:38
まずJAVAとはなんですか?
0230デフォルトの名無しさん2007/01/19(金) 15:18:08
>>229 には必要ないもの。
0231デフォルトの名無しさん2007/01/19(金) 16:04:42
特定フォルダを指定して
そのフォルダの下位下層のフォルダを
javascriptでツリー表示させて
エクスプローラ風にするにはどうしたらいいですか?
0232デフォルトの名無しさん2007/01/19(金) 16:09:50
>>231
自分で書いてておかしいね・・・
0233デフォルトの名無しさん2007/01/19(金) 17:14:40
>>231
javascriptは板違いだ
0234デフォルトの名無しさん2007/01/19(金) 19:01:45
JAXBを使ってJavaBean→XMLに変換しコンソールに結果を出力しようとしたのですが、全角日本語が文字化けしてしまいました
javaファイルはUTF-8で書かれてて、hoge.setName("日本語"); のようにプロパティにセットしています。
MarshallerのsetPropertyでエンコードタイプをUTF-8に指定しても駄目で、試しにShift-JISをセットしたらコンソールに正常に出力されました。
環境はWindowsXP、Eclipseを使用してます。
UTF-8で出力させたいのですが、どうしたらいいのでしょうか。
よろしくお願いします。
0235デフォルトの名無しさん2007/01/19(金) 20:56:10
http://a-draw.com/uploader/src/up11740.txt

この構文で31行目に「シンボルを解釈処理できません」というエラーが出るんですが、
どこがいけないんでしょうか?
0236デフォルトの名無しさん2007/01/19(金) 21:02:39
addgas
0237デフォルトの名無しさん2007/01/19(金) 21:07:07
>>236
31行目のとこですか?ここをどう変えたらエラーがなくなるんでしょうか。
0238デフォルトの名無しさん2007/01/19(金) 21:08:49
大文字小文字かな、236のレスだけでエスパると。
0239デフォルトの名無しさん2007/01/19(金) 21:15:35
>>238
変えてみましたけどエラーのままでした。
どこが悪いんだろう・・・
0240デフォルトの名無しさん2007/01/19(金) 21:42:28
じゃあ俺もエスパると
つ public
0241デフォルトの名無しさん2007/01/19(金) 21:50:10
>>235
Car で定義されてるのは addgas、
Program27 の main で呼ばれてるのは addGas

>>236 が言うように大文字小文字の間違いだろね。

>>240 同じパッケージ内だから public つけなくてもok
0242デフォルトの名無しさん2007/01/19(金) 21:53:38
>>239
じゃあ何でエラーなんだこいつは。
02432352007/01/19(金) 22:23:27
すいません、解決できました。
小文字と大文字勘違いしてました
0244デフォルトの名無しさん2007/01/20(土) 03:48:36
j2sdkをインストールしたところで
PATH変数の更新の手順が書いてあるんですけど、
コントロールパネル→システムと行き、
[ユーザー環境変数]と[システム環境変数]で、
[PATH]を探すと書いてあるんですが[ユーザー環境変数]の一覧に、
[PATH]がないのですがどうしたらよいのですか?
02452442007/01/20(土) 06:30:34
自己解決しました!
0246デフォルトの名無しさん2007/01/20(土) 06:32:04
すみません質問でございます。
簡単なシュミレーションをするプログラムを作ったのですが走らせて見ると
メモリは全然使わないのにも関わらずCPUだけ100%近く使ってしまいます。
どこかで無限ループにはまっているということはありません(結構待っていると処理が終わりますので)
CPUはPentium4の2.53Gです。
そこまで処理に時間が掛かるものだとも思えないのですが…。

スレッドで作ってみればいくらか軽くなるものですかね?
0247デフォルトの名無しさん2007/01/20(土) 07:24:41
最近似たような質問みたけど
それだけの情報でコメント出来ると思ってるの?
0248デフォルトの名無しさん2007/01/20(土) 07:31:53
>>247
ですよね。
内容は簡単な遺伝的アルゴリズムのシュミレーション。
動作内容は二点交差と一様交差と突然変異が8.5、1.49、0.01の確立で行われます。
世代数(コピーする回数)は50世代で集合(各要素)は20個程度です。
交差を行って次世代にコピーを繰り返すだけなのですが対立遺伝子(ビットの桁数)が10程度でも凄く遅いです。

1024までの数字2個を計算して答えを次世代の要素にコピーというのを1世代に10回。
それを50世代なので合計500回。
これ程度の動作なのですがそれでも遅いときは5分以上掛かってしまいます。
0249デフォルトの名無しさん2007/01/20(土) 10:07:20
java EE のダウンロードサイト
http://java.sun.com/javaee/downloads/download_jp.jsp

開発、製品化のための使用は 無料です!って書いてあるけど、有料になる時ってどんな時?
0250デフォルトの名無しさん2007/01/20(土) 10:07:40
>>248
えーっと
お前がやりたいことを書かれてもわかんないだろ
お前が実際にやってる事(ソースコード)を書かないと
02512492007/01/20(土) 10:11:51
Hello, world! とか、どう考えても製品にならないものを作ると有料になると思うのですが・・・。
本当にそうなのかどうか、不安です。
0252デフォルトの名無しさん2007/01/20(土) 10:12:38
GAは良いけどシュミレーションはないだろ。
■ このスレッドは過去ログ倉庫に格納されています