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


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

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



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

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

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

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

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

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

545 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 22:02:42 ]
>>544
> ってやると0.100999999999ってなっちゃうんです。
doubleの数値を10進の文字列Stringに変換してから小数点で
トリミングして切り出せばいい。

546 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 22:09:50 ]
今日からjavaやってみようと思う、コマンドの1つも知らない俺に優しいサイト&本ある?
ポケット辞書みたいなのあったらありがたいんだけど

547 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 22:18:03 ]
>>546
java.sun.com/docs/books/tutorial/index.html

>>544
整数部: x / 1.0
小数部: x % 1.0
文字列として正確に出力したいなら >>545

548 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 22:23:38 ]
おー、調べるまで知らなかったけど、Javaにはfrac()ってないのか。

549 名前:デフォルトの名無しさん [2008/04/21(月) 22:34:28 ]
>>545 String seisu = String.valueOf((int)整数);
String bin = String.valueOf(1010.101);
String ss = "0." + sh.substring((int)seisu.length() + 1,
(int)bin.length());
小数部 = Double.parseDouble(ss);
みたいにやったらできました。ありがとうございました。

550 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 22:39:36 ]
APIみながらコード書いてたらファイアフォックスのタブがもの凄い数になるんだけど
プロのみなさんはAPIとか見ないの?

551 名前:デフォルトの名無しさん mailto:sage [2008/04/21(月) 23:56:03 ]
>>550
見るよ

552 名前:デフォルトの名無しさん [2008/04/22(火) 00:53:20 ]
コンストラクターとは何の為に存在するのでしょうか?

553 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 00:57:32 ]
インスタンス生成時に処理を行いたいから



554 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 02:57:31 ]
>>551
いちいち見ながら書いてたら時間がすぐに経ちませんか?
といっても覚えられるものでも無いでしょうけどw

俺が遅いだけだと思うけどコード書くのって時間かかるものなのかな

555 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 03:35:38 ]
やってるうちに「この手のメソッドはこのへんのクラスにありそうだな……」で
引数の順序とかだけ確認する感じになる。慣れとセンスが大事。

556 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 14:39:57 ]
intからshortに変換するにはどのようにしたらいいでしょうか?

int i = 5;
short s;

s = (short)i;

ではeclipseに怒られてしまいます。

557 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 14:43:59 ]
>>556
本当に?エラーメッセージは?

558 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 14:46:51 ]
>>557
すみません。怒られませんでした。

559 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 18:17:40 ]
JDK 1.6
Security.getAlgorithms("SecretKey") で得られる共通鍵ファクトリの名前が "ACTORY.DES" とかに
なってて先頭の "F" が抜けてるような気がするんだけど、これは直せなくなったバグの類なのかね。

560 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 22:19:55 ]
JEditorPane editor = new JEditorPane();
JScrollPane scroll = new JScrollPane(editor);
JTabbedPane tabbed = new JTabbedPane();
tabbed.addTab("title",scroll);
Container container = getContentPane();
container.add(scroll);

と書いた後で、editorを取得するにはどうすればよいですか。
getSelectedComponent()あたりを使ったが、editor取得まで
たどり着けません。

561 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 22:27:17 ]
>>560
メンバフィールドで参照しとけば?


562 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 22:32:37 ]
>>561
ありがとうございます。
確かにおっしゃる通りだと思いますが、
将来的にタブ数を増減できるようにするつもりで、
動的に扱えればと考えていました。

563 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 23:13:24 ]
>>554
IDEがAPIドキュメントの必要な部分をポップアップしてくれる



564 名前:デフォルトの名無しさん mailto:sage [2008/04/22(火) 23:38:01 ]
テキストフィールド内に
文字が入力された場合とされなかった場合とで
処理の内容を変えたいのですが
テキストフィールド内に文字が入力されているかどうかを
判定できる方法があれば教えてください。

565 名前:デフォルトの名無しさん [2008/04/23(水) 00:32:06 ]
getText()

566 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 00:53:26 ]
まあgetText()して正規表現?

567 名前:デフォルトの名無しさん [2008/04/23(水) 00:58:52 ]
可変長配列を使うと<identifierがありません>とエラーが出ます。なぜなんでしょうか?
class FallPane{
Vector<AbstractFallBall> balls;  //エラー部分

public FallPane() { //コンストラクタ
balls = new Vector<AbstractFallBall>(); //エラー部分
}

568 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 01:28:08 ]
エラーがでますではなく、出力されたエラーメッセージをコピペ汁

569 名前:デフォルトの名無しさん [2008/04/23(水) 04:40:46 ]
パッケージ名に「core」ってよく見るんだけど、どんなクラスを入れるの?
ビジネスロジックのあるクラス?なんか重要っぽいという事しかわかんね。


570 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 04:58:12 ]
フレームワークのutilsじゃなくてcoreな部分

571 名前:567 [2008/04/23(水) 08:58:18 ]
567です。
エラーメッセージはこうです。
Fall.java:83: <identifier> がありません。
private Vector<AbstractFallBall> balls;
------------^(この矢印は山形カギ括弧を指しています。) 
Fall.java:89: '(' または '[' がありません。
balls = new Vector<AbstractFallBall>();
----------------^

公開されているサンプルプログラムをそのまま実行しても
こうなります。
なぜなのかわかりません。
java環境のバージョンは1.4.2で
pcはmacです。

572 名前:567 [2008/04/23(水) 09:01:28 ]
>>571のエラー部分の矢印が、ずれてますが
2つとも、Vectorの次の山形カギ括弧を指しています。

573 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 09:28:51 ]
>>571
公開してるサンプルプログラムは 1.5以上必要で、
君の jdk のバージョンが 1.4.2 だから、コンパイルできない。



574 名前:567 [2008/04/23(水) 10:09:12 ]
VectorやArrayListなどの可変長配列は使えるんで、
オブジェクトの型を記述する<>の部分がjdk1.5じゃないとダメってことですね。
今のPCでは1.5にヴァージョンUPできないので、
その代わりとなるjdk1.4.2でも可能なコードってありますか?
<>の部分をはずして使うと

Fall.java:143: 互換性のない型
検出値 : java.lang.Object
期待値 : AbstractFallBall
AbstractFallBall ball = balls.get(i);
とエラーが出ます。

575 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 10:25:03 ]
>>574
> AbstractFallBall ball = balls.get(i);
AbstractFallBall ball = (AbstractFallBall)balls.get(i);
みたいに、全部明示的にキャストするとか。

576 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 11:05:24 ]
タイムゾーンの "Asia/Tokyo" みたいな 「地域/都市名」 表記って ISO かどっかで標準化されてんの? それとも Java 独自?

577 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 11:23:43 ]
>>569
これだっ!っていうクラス

578 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 11:44:50 ]
>>576
RFC2445、らしい。

579 名前:567 [2008/04/23(水) 15:11:58 ]
575さん、ありがとう。
解決しました。キャストすればよかったですね。


580 名前:デフォルトの名無しさん [2008/04/23(水) 15:16:58 ]
キャストは明示的にやる癖つけた方がいいね

581 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 15:18:06 ]
他人が見ることを前提に作らなきゃな

582 名前:デフォルトの名無しさん [2008/04/23(水) 16:01:35 ]
JavaMailでsetFlagsがサーバー側に保存されません。
(接続部分省略)
Folder folder = store.getFolder("INBOX");
folder.open(Folder.READ_WRITE);

//メッセージ数表示
System.out.println(folder.getMessageCount());

//適当なメッセージを取得
Message msg = folder.getMessage(2000);
System.out.println(msg.getSubject());

//フラグを変更
Flags flag = new Flags(Flags.Flag.SEEN);
msg.setFlags(flag, true);

//フラグの立っているメッセージを取得
Message[] msgs = folder.search(new FlagTerm(new Flags(Flags.Flag.SEEN), true));
for(int i=0; i<msgs.length; i++) System.out.println(msgs[i].getSubject());

//再び総数と、未読数を取得
System.out.println(folder.getMessageCount());
System.out.println(folder.getUnreadMessageCount());

folder.close(false);
store.close();

これで、実行すると未読数の数は減ります。
で、取得するメッセージを変えても、以前の物にフラグが立っていない状態です。

583 名前:582 [2008/04/23(水) 16:05:37 ]
DELETEのフラグをたてて
folder.close(true);
にすると削除されます。

やりたいことは、メールを削除しないで、処理していないメールのみを受信することです。
プロトコルはPOP3です。

削除フラグだけたててfalseのままcloseも試したけどリセットされてる感じです。

サーバーから削除しないで、新しいメールのみと受信はどうすればいいのでしょうか?
お願いいたします。



584 名前:582 [2008/04/23(水) 17:48:08 ]
もしかしてPOP3では不可能で
ttp://www.mew.org/~kazu/sut/2002-1st/12.html
ここにあるように一回前の受信のUIDをサーバーと見比べて受信するのでしょうか?
上のサイトにはリストを保持、ってあるけど、最後のUIDだけあればいけそうですね。

微妙にJAVAの話題じゃなくなってきたけど・・・
「メールをサーバ側に残す」
はこんな感じで実現してるんでしょうか?

585 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 18:44:49 ]
質問です!!!!
try{
System.out.println("文字を入力してください");
BufferedReader br = new BufferedReader(
new InputStreamReader( System.in ) );
String str = br.readLine();

System.out.println(str+"をファイルに出力します");
FileWriter fw = new FileWriter( "test.txt" );
fw.write( str, 0, str.length() );
fw.close();
}
catch( IOException e ){
System.out.println(e);
}
これで実行して文字を打ち込んでもファイルに出力されないんですがどこがおかしいですか?

586 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 18:56:53 ]
>>585です
ちゃんと出力されてました
すいませんもう二度と書き込みませんのでどうか許してください

587 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 19:10:03 ]
>>578
サンキュー
該当の RFC、ナナメ読みしただけではどこが該当してるんか分からんかったが
参考文献に定義ソースと思しきデータの場所見つけたので張っとくわ。
ftp://elsie.nci.nih.gov/pub/tzdata2008b.tar.gz

588 名前:デフォルトの名無しさん [2008/04/23(水) 21:04:20 ]
Javaアプリケーション上から別のDOSで動くアプリケーションを呼び出したいのですが
どうすればよいのでしょうか?
Robotクラスでも何とかできるのですが、DOSアプリなので表示の必要は無く、
見た目上はJavaアプリケーションしか走ってない状態がいいのですが、方法がわかりません・・・。
よろしくお願いします。

589 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 21:08:40 ]
>>588
ProcessBuilder

590 名前:デフォルトの名無しさん [2008/04/23(水) 21:15:27 ]
>>589
おおありがとうございます!でけますた!!

591 名前:588 mailto:sage [2008/04/23(水) 21:43:42 ]
>>589
あまりにも感謝の気持ちが強いのでお礼の気持ちでうp
image.i-bbs.sijex.net/bbs/mini/1208006729394o.jpg
blog67.fc2.com/r/rakuen2/file/20080328_009.jpg
g003.garon.jp/gdb/Go/yK/E4/Gb/Jf/Uf/B3/LT/Wp/Y5/x8/F1C6.jpg


592 名前:589 mailto:sage [2008/04/23(水) 21:45:04 ]
なぜ、女なんだ

593 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 21:47:00 ]
グロ貼んな



594 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 22:39:15 ]
うpじゃねーし

595 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 23:35:55 ]
近所の猫も飼い主に捕れたてのネズミをプレゼントしようとしてたな

596 名前:デフォルトの名無しさん mailto:sage [2008/04/23(水) 23:45:17 ]
>>540ですけど下の様なエラーが出ます。

javax.servlet.ServletException: Processing of multipart/form-data request failed. Stream ended unexpectedly
at org.apache.struts.upload.CommonsMultipartRequestHandler.handleRequest(CommonsMultipartRequestHandler.java:194)
at org.apache.struts.util.RequestUtils.populate(RequestUtils.java:405)

commons-fileupload-1.1.1.jarだったのをcommons-fileupload-1.2.1.jarに変更してみてからは上のも含め下の様なエラーが出ることもありました。

javax.servlet.ServletException: Header section has more than 10240 bytes (maybe it is not properly terminated)
at org.apache.struts.upload.CommonsMultipartRequestHandler.handleRequest(CommonsMultipartRequestHandler.java:194)
at org.apache.struts.util.RequestUtils.populate(RequestUtils.java:405)


javax.servlet.ServletException: Stream ended unexpectedly
at org.apache.struts.upload.CommonsMultipartRequestHandler.handleRequest(CommonsMultipartRequestHandler.java:194)
at org.apache.struts.util.RequestUtils.populate(RequestUtils.java:405)

この状況を改善するにはどうしたらいいでしょうか・・・

597 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 00:08:02 ]
>>586
絶対に許さない。絶対にだ。

598 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 03:40:32 ]
>>582-584
その通り。POP3では既読/未読の区別はない。


599 名前:デフォルトの名無しさん [2008/04/24(木) 11:10:18 ]
wicket.ApplicationPagesがimportできないのは…なぜ!?

ちなみにwicketのversionは1.2.7です。
参考サイトはversion1.1.1を使ってるから名称が変わってるのかな?;
誰か教えてください><

600 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 11:13:56 ]
バージョンのせいにしたいならバージョン入れなおして
試せよ

601 名前:デフォルトの名無しさん [2008/04/24(木) 11:20:11 ]
だってversion1.1.1が見つからなかったんだもん〜♪

602 名前:デフォルトの名無しさん [2008/04/24(木) 11:39:25 ]
javaからMySQLに接続し、データベースを操作するプログラムを作っています。

System.out.println("商品コードを入力してください。(5文字)");
System.out.print("商品コード:");
String str=br.readLine();

このstrの頭が全角スペースや半角スペース、未入力のときに例外処理(「未入力です」と出力など・・)を行う記述を教えてください。


603 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 11:42:46 ]
if (str.startsWith(" ") || str.startsWith(" ") || str.length() == 0) { System.out.println("未入力です"); }



604 名前:デフォルトの名無しさん [2008/04/24(木) 11:48:44 ]
>>603
できました!
ありがとうございます!!

605 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 12:47:55 ]
>>603
startsWithが先頭。
ということは最後の文字を弾くには・・?

606 名前:デフォルトの名無しさん mailto:sage [2008/04/24(木) 13:48:14 ]
endsWith

607 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 10:51:20 ]
>>602です
strにコードを入力させ、そのコードの情報を出力するプログラムなのですが


String str=br.readLine();
String sql = "select * from kadai where コード='"+str+"'";
ps = con.prepareStatement(sql);
ResultSet rs = ps.executeQuery();

while(rs10.next()){

// コードデータを取得
String a = rs.getString("コード");
String b = rs.getString("名前");
String c = rs.getString("電話番号");

// データの表示
System.out.println("コード :"+a);
System.out.println("名前  :"+b );
System.out.println("電話番号:"+c );
}


ここで入力したコードに該当するコードがなかった場合、「コードは存在しません」と出力させる記述をお教えください。
ExcuteUpdateならintにして0か1で返ってきたのですがExcuteQueryだとできなくて・・

608 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 10:53:52 ]
jar実行ファイルで起動するアプリを作ってるんだけど、わからない事があるので質問します。

antでコンパイルとjar作成をしてるんだけど、jarの中にLogback用設定ファイルを置きたい。

設定ファイルはクラスパスが通ってる場所に置けばいいらしいが、どこに置けばいいですか?
あるいは、MANIFEST.MFのクラスパス属性にこう書けば良いよってのがあれば教えてください。

609 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 11:15:25 ]
>>607
先にResultSetの件数を調べて、0件なら該当無しとすればいいかと
www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=26815&forum=12&5

課題乙w

610 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 11:17:34 ]
>>607
正しいやり方というか、標準的なやり方ではないかもしれんが

int count=0;
while(rs10.next()){
    // 処理...
     count++;
}
if(count<1) {
    System.out.println("コードは存在しません");
}

とでもしたら?

611 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 11:30:15 ]
>>610
できた!
あ〜そんな手が・・

612 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 11:36:37 ]
>>608
普通は出来ないような気がするけど、FatJarとかなら出来るんでないかな?

613 名前:608 mailto:sage [2008/04/25(金) 11:44:06 ]
>>612
なるほど、もしかしたら設定ファイルじゃなくて、jarに突っ込んだLogbackのjarが見れてないのかも知れません><

FatJar試してみます!ありがとうございました。



614 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 11:51:05 ]
実際のところ「Write Once, Run Everywhere」ってホントなのですか?
環境依存とかないのですか?

615 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 12:00:08 ]
PC 程度以上ならどれでも動くよう作りこむことは出来る。
ただし実行環境や DB なんかのミドルウェア依存のコード書けば依存するに決まっている。
動かねぇと言ってる奴の大概はテメェのバグとどっからが環境依存かを分かってない無知。

616 名前:608 mailto:sage [2008/04/25(金) 12:00:53 ]
>>612
早速試してみたところ、いともあっさりと出来ました!
改めてありがとうございます!

617 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 12:13:03 ]
>>614
各JVMでの、微妙な挙動の違いがトラブルの元になったりする
だから、どうしてもプラットフォームごとに動作試験をすることが欠かせない場合もある

そのことを指して(場合によっては皮肉を込めて)
Write Once, Test Anywhere
と言われることもある

618 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 13:08:49 ]
>>615
>>617
なるほど。参考になりました。

619 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 15:36:32 ]
テキストファイルを読み出すときに、指定した文字コードで化ける文字が含まれてたら
例外にしたいんだけどどうすればええんじゃ。

620 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 21:07:17 ]
>>619
java.nio.charset.CharsetDecoder#onUnmappableCharacter(CodingErrorAction)
java.nio.charset.CharsetDecoder#onMalformedInput(CodingErrorAction)

621 名前:デフォルトの名無しさん mailto:sage [2008/04/25(金) 23:30:29 ]
>>619
可能です。
以上。
はい次の方。

622 名前:デフォルトの名無しさん [2008/04/25(金) 23:49:00 ]
SDKのインストールに関して質問させてください

SDKのインストールの途中、以下のエラーメッセージが出てしまいました
「このインストールに必要なキャビネット ファイル
'st160000.cab'は壊れているため使用できません。
ネットワークエラーまたはCD-ROMからの読み取りエラーが発生したか、
このパッケージに問題がある可能性があります」

以下のページ(英語)で同じ症状が出てるようなのですが、よくわかりませんでした…
forums.java.net/jive/thread.jspa?messageID=254470

行き詰まってしまいました。何かヒントを教えていただきたいです
よろしくお願いいたします

623 名前:デフォルトの名無しさん mailto:sage [2008/04/26(土) 00:39:54 ]
同じJNLPファイルをwww.java.com/ja/でダウンロードした実行環境で実行した結果
二台のPC中、片方だけ「could not create the java virtual machine」というエラーが出るのですが

何度か再インストールを試してみたり開発環境をつっこんでみたり、ぐぐって見たりもしたのですが
大体再インストールで直っている例が多く、具体的に何か弄ったり手動で消すような項目も見当たらず
行き詰っています。
何かしら糸口でも構わないので教えていただけないでしょうか。



624 名前:デフォルトの名無しさん mailto:sage [2008/04/26(土) 00:42:15 ]
>>622
可能ならブラウザのキャッシュを消してから、
ダウンロードし直し。

625 名前:デフォルトの名無しさん [2008/04/26(土) 01:28:14 ]
eclipseの参照検索のソース見たいんですが、ソースzip内のどこら辺か知ってる人いたら教えてください
出来れば主要クラス、仕組がざっくりと分かるサイトなんかも・・・

626 名前:デフォルトの名無しさん mailto:sage [2008/04/26(土) 03:09:02 ]
Javaで一般に使ってスピードが速い変数はどれですか?
intは整数のみだし doubleは64bitで大きいし
floatが適していますかね?
でもあまりfloat使ってるの見かけないような。

627 名前:デフォルトの名無しさん mailto:sage [2008/04/26(土) 04:41:46 ]
そんなの気にしない

628 名前:デフォルトの名無しさん mailto:sage [2008/04/26(土) 05:29:27 ]
>>626
実数型のfloatよりも整数型のint方が圧倒的に速い。

しかし、現実には>>627の言うとおり。
そんなのを気にするほど神経を使うのなら、
そもそもJavaを選択することが間違っていると言える。
Cかアセンブラでも使っておけ。

629 名前:デフォルトの名無しさん mailto:sage [2008/04/26(土) 10:40:13 ]
>>626
まず原則としては>>627>>628の言う通り。
あと、一般的には、CPUで直接計算可能なdoubleの方がfloatより速い。
(もちろん例外はある)

630 名前:デフォルトの名無しさん mailto:sage [2008/04/26(土) 10:52:03 ]
Intel CPU とか、小数は 80-bit で double より大きいだろ・・・。

631 名前:デフォルトの名無しさん mailto:sage [2008/04/26(土) 10:56:35 ]
>>629
float がCPUで直接計算できないとでも?

632 名前:デフォルトの名無しさん mailto:sage [2008/04/26(土) 11:04:37 ]
>>626
言語としてのJavaからはint演算とfloat演算でどっちが速いとか遅いとかは一切言えない。

本番の実行環境と実際に使用するコード(マイクロベンチではなく)で速度比較するのが一番手っ取り早い。
詳しく知りたいならJITコンパイラのコード読んでみるとか、
そこまで元気がないなら、前スレ906の
> デバッグ版のJDKだと -XX:+PrintOptoAssembly オプション付きで起動すれば
> 出力できるらしいって d.hatena.ne.jp/kkawa/20080330 に書いてある。
でJIT後のアセンブリコード比較してみるとか。

633 名前:デフォルトの名無しさん mailto:sage [2008/04/26(土) 11:12:52 ]
みなさんいろいろなご意見ありがとう。
VBではintよりdoubleが一番速いとききました(32bitだから?)。

Cへの流用も考えているので
整数ならint、実数ならdoubleを使うことにします。
Cではfloatよりdoubleが速いんですよね。



634 名前:デフォルトの名無しさん mailto:sage [2008/04/26(土) 11:33:12 ]
VBはlongが速いだろ

635 名前:デフォルトの名無しさん mailto:sage [2008/04/26(土) 11:33:48 ]
> Cではfloatよりdoubleが速いんですよね。
そんなんCPUの世代が変わっただけで逆転したり、
コンパイラの最適化が変わっただけで逆転したりするよ。

636 名前:デフォルトの名無しさん mailto:sage [2008/04/26(土) 12:55:18 ]
使用型での2倍以下のの速度差を気にしてる初心者は
得てして100倍遅いアルゴリズムをどうどう使ったりしてるから注意

637 名前:デフォルトの名無しさん mailto:sage [2008/04/26(土) 16:49:12 ]
>>623
iTunes classpath

638 名前:デフォルトの名無しさん mailto:sage [2008/04/26(土) 18:21:35 ]
JRE5と6を両方インストールして
firefoxがJavaアプレットを実行するのは5
・・・という設定にするにはどうしたらいいですか

<JRE5>/bin/javacpl.exe でfirefoxのアプレットタグサポートをONにし
<JRE6>/bin/javacpl.exe ではOFFにする、
という方法を試みましたが、6で実行されてしまうようです
(OSはWindows Vista)

639 名前:デフォルトの名無しさん mailto:sage [2008/04/26(土) 18:28:03 ]
>>638
Javaコントロールパネル->Java->Javaアプレットのランタイム設定でできない?

640 名前:638 mailto:sage [2008/04/26(土) 19:03:35 ]
>>639
その設定項目はパラメータの設定しかできないと思ってたんですが
有効/無効や優先順位も設定できたんですか?
もしそうであれば、設定方法を教えていただきたいです

それとも、パラメータでそういう設定ができるとか・・・?

641 名前:デフォルトの名無しさん mailto:sage [2008/04/26(土) 19:46:02 ]
複数のJREがインストールされてたらチェックボックスでどれかえらべるだろ。

642 名前:デフォルトの名無しさん mailto:sage [2008/04/26(土) 19:56:41 ]
32bit環境では例えばエクセルのVBAなどは常にIntegerよりはLongを使ったほうがいいってこと?

643 名前:デフォルトの名無しさん mailto:sage [2008/04/26(土) 20:31:11 ]
>>642
VBAのスレで聞け。相手してくれる暇人がいるかどうかは知らんが。



644 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 02:19:56 ]
>>642
聞くな。測定しろ。

645 名前:デフォルトの名無しさん mailto:sage [2008/04/27(日) 02:35:53 ]
だーから分かんねーならレスするなってんだよ






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

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

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