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

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

■ このスレッドは過去ログ倉庫に格納されています
0001Javaってなんぼじゃ!おりゃーNGNG
☆★☆こんなメッセージが出たら >>2 へ☆★☆
『'javac' は、内部コマンドまたは外部コマンド、
 操作可能なプログラムまたはバッ ファイルとして認識されていません。』
『Exception in thread "main" java.lang.NoClassDefFoundError: Hello』

>>2-3 初心者によくある質問と回答・他のFAQサイトへのリンク
>>4  JDKの配布元とAPIドキュメントへのリンク
>>5-6 過去スレの一覧
>>7-10 関連スレ
>>11 2ちゃんねる外のJavaサイト・無料の開発環境の配布場所
(諸般の事情でずれた場合は >>2-20 )

Google で検索 ⇒ http://www.google.co.jp/
JavaFAQ で探す ⇒ http://www.gimlay.org/~javafaq/javafaq.html
ご要望によりじゃばこサイト ⇒ http://www.javaco.org/
■JavaScriptの質問■はWeb製作板 ⇒ http://pc3.2ch.net/hp/
  または「JavaScript デス」スレへ⇒
http://pc2.2ch.net/test/read.cgi/tech/1052273054/

パソコンの基本操作に関しては、PC初心者板へどうぞ ⇒ http://pc.2ch.net/pcqa/

これからJavaのプログラムを始めたいかたは >>2-4 へ
必要な情報やコンパイラのダウンロード先へのリンクがあります。

基本的に sage 進行でおねがいします。また煽り厨は放置でお願いします。
※初心者なんでよろしくです。
0002デフォルトの名無しさんNGNG
Q. javac コマンドを実行したときに、
『コマンドまたはファイル名が違います』や
『'javac' は、内部コマンドまたは外部コマンド、
操作可能なプログラムまたはバッチ ファイルとして認識されていません。』
と表示されてコンパイルできません。
A. javac.exeへのPATHが通っていません。
http://java.sun.com/j2se/1.4.1/ja/install-windows.html
を良く読んで、javac.exe のあるディレクトリ(例: C:\j2sdk1.4.1_01\bin )のパスを
環境変数PATHに追加してください。 その後、
Windows98/MEの場合はOSを再起動、
Windows2000/XPの場合はコマンドプロンプトを立ち上げなおしてください。
設定したパスが正しければ、javacが使えるようになります。
それでも同じエラーが出る場合は、設定した値が間違っています。
よく見直してください。

Q. javac Hello.java でコンパイルはできるのですが、
java Hello を実行しようとすると
『Exception in thread "main" java.lang.NoClassDefFoundError: Hello』
と表示されて実行できません。
A. カレントディレクトリ(.)がクラスパス(classpath)に含まれていません。
コマンドプロンプトで、
set CLASSPATH=%CLASSPATH%;.
と設定する。最後の「;」と「.」を見落とさないように!
または、
http://www.gimlay.org/~javafaq/S004.html#S004-02
を読んでカレントディレクトリ「.」を環境変数CLASSPATHに追加してください。

クラスパスとはなにか(JavaFAQ 基礎知識)
http://www.gimlay.org/~javafaq/S004.html
0003デフォルトの名無しさんNGNG
Q. Javaのインストール方法、パスや環境変数の設定方法が分かりません。
A: Java(TM) 2 SDK インストールガイド
http://java.sun.com/j2se/1.4.1/ja/install.html
http://java.sun.com/j2se/1.4.1/ja/install-windows.html

Q: クラスの使い方が分かりません。
A: Java 2 プラットフォーム API 仕様
http://java.sun.com/j2se/1.4/ja/docs/ja/api/index.html

Q: SDKの仕様や、Javaの使い方、コマンドの使い方を教えて下さい。
A: Java(TM) 2 SDK ドキュメント
http://java.sun.com/j2se/1.4/ja/docs/ja/index.html

Q: Javaの言語仕様が知りたいです。
A: Java言語規定
http://www.y-adagio.com/public/standards/tr_javalang/index.htm
http://java.sun.com/docs/books/jls/second_edition/html/j.title.doc.html

Q: 「僕以外の人も、同じ疑問を持ったはず」と思えるような質問があります。
A: Java House ML Topics / Java FAQ / Java Tips
http://java-house.jp/ml/topics/
http://www.gimlay.org/~javafaq/
http://www.javaworld.com/columns/jw-tips-index.shtml

このほかのFAQ(良くある質問とその回答)はこちら↓をご覧ください。
http://www.gimlay.org/~javafaq/javafaq.html
0004デフォルトの名無しさんNGNG
■■■ JavaのコンパイラとAPI リファレンス ■■■
【Sun J2SE SDK 1.3】
http://java.sun.com/j2se/1.3/ja/download.html
http://java.sun.com/j2se/1.3/ja/docs/ja/api/index.html

【Sun J2SE SDK 1.4】
http://java.sun.com/j2se/1.4/ja/download.html
http://java.sun.com/j2se/1.4/ja/docs/ja/api/index.html

【Sun J2SE SDK 1.4.1】
http://java.sun.com/j2se/1.4.1/ja/download.html
http://java.sun.com/j2se/1.4/ja/docs/ja/api/index.html

【IBM J2SE SDK 1.1/1.3】 (要ユーザ登録)
http://www-105.ibm.com/developerworks/tools.nsf/dw/java-devkits-byname?OpenDocument&Count=100
0005デフォルトの名無しさんNGNG
JAVA厨房
http://piza.2ch.net/tech/kako/966/966391052.html
Java相談室
1 http://piza.2ch.net/tech/kako/971/971960169.html
2 http://piza.2ch.net/tech/kako/980/980858322.html
3 http://piza2.2ch.net/tech/kako/994/994150280.html
4 http://pc.2ch.net/tech/kako/997/997791189.html
5 http://pc.2ch.net/tech/kako/1003/10035/1003567552.html

ネタ心者歓迎!今更ながらにJavaを学ぼう!
1 http://piza.2ch.net/tech/kako/981/981424252.html
2 http://pc.2ch.net/tech/kako/993/993358225.html

ネタ心者歓迎! 今更ながらにJava相談室
01 http://pc.2ch.net/tech/kako/1003/10035/1003569074.html
02 http://pc.2ch.net/tech/kako/1006/10064/1006408230.html
03 http://pc.2ch.net/tech/kako/1007/10078/1007802486.html
04 http://pc.2ch.net/tech/kako/1010/10105/1010545421.html
05 http://pc.2ch.net/tech/kako/1012/10129/1012968994.html
06 http://pc.2ch.net/tech/kako/1015/10154/1015418174.html
07 http://pc.2ch.net/tech/kako/1018/10186/1018631329.html
08 http://pc.2ch.net/tech/kako/1020/10204/1020453823.html
09 http://pc.2ch.net/tech/kako/1021/10215/1021555964.html
0006デフォルトの名無しさんNGNG
【初心者・ネタ】Java質問・相談スレ【大歓迎】
01 http://pc.2ch.net/tech/kako/1021/10218/1021817147.html
02 http://pc.2ch.net/tech/kako/1023/10233/1023319551.html
03 http://pc.2ch.net/tech/kako/1024/10248/1024885660.html
04 http://pc3.2ch.net/tech/kako/1026/10266/1026601774.html
05 http://pc3.2ch.net/tech/kako/1028/10280/1028096225.html
06 http://pc3.2ch.net/tech/kako/1029/10297/1029774594.html
06+ http://pc3.2ch.net/tech/kako/1031/10313/1031397913.html
07 http://pc3.2ch.net/tech/kako/1032/10329/1032944182.html
08 http://pc3.2ch.net/tech/kako/1032/10329/1032944246.html
09 http://pc3.2ch.net/tech/kako/1034/10343/1034303501.html
10 http://pc3.2ch.net/tech/kako/1035/10355/1035570359.html
11 http://pc3.2ch.net/tech/kako/1036/10361/1036142056.html
12 http://pc3.2ch.net/tech/kako/1037/10374/1037407642.html
13 http://pc3.2ch.net/tech/kako/1038/10387/1038731106.html
14 http://pc3.2ch.net/tech/kako/1040/10401/1040150533.html
16 http://pc3.2ch.net/tech/kako/1042/10424/1042407622.html
16+ http://pc2.2ch.net/tech/kako/1043/10436/1043654161.html
18 http://pc2.2ch.net/tech/kako/1044/10449/1044983072.html
19 http://pc2.2ch.net/tech/kako/1046/10461/1046166884.html
20 http://pc2.2ch.net/tech/kako/1047/10475/1047544179.html
21 http://pc2.2ch.net/tech/kako/1048/10486/1048689029.html
22 http://pc2.2ch.net/test/read.cgi/tech/1049715659/l50
23 http://pc2.2ch.net/test/read.cgi/tech/1051284438/l50
24 http://pc2.2ch.net/test/read.cgi/tech/1052625006/l50
25 http://pc2.2ch.net/test/read.cgi/tech/1054041744/l50
26 http://pc2.2ch.net/test/read.cgi/tech/1055601178/l50
27 http://pc2.2ch.net/test/read.cgi/tech/1057249423/l50
0007デフォルトの名無しさんNGNG
28 http://pc2.2ch.net/test/read.cgi/tech/1058408362/

■■■ Java関連スレいろいろ ■■■ 
【IDE 統合開発環境】
【Java/C/他】統合開発環境Eclipse RC6
http://pc2.2ch.net/test/read.cgi/tech/1051840417/
えっ?JBuilder8が発売?
http://pc2.2ch.net/test/read.cgi/tech/1038042372/l50
【Meadow】Java開発環境(・∀・)イイ【JDEE】
http://pc2.2ch.net/test/read.cgi/tech/1017214967/l50
【統合】Java開発環境スレ
http://pc2.2ch.net/test/read.cgi/tech/1038118138/l50
【Java】NetBeans vs Eclipse【IDE】
http://pc2.2ch.net/test/read.cgi/tech/1029407008/l50

【携帯・モバイル】
携帯JAVAのスレッド
http://pc2.2ch.net/test/read.cgi/tech/1011977260/l50
iモード携帯電話用Java(iアプリ) Part 3
http://pc2.2ch.net/test/read.cgi/tech/1040898596/l50
iアプリでゲーム (ゲーム製作技術板)
http://pc2.2ch.net/test/read.cgi/gamedev/1005042631/l50
京セラJAVA搭載PDauPocketCosmo」 (モバイル板)
http://pc3.2ch.net/test/read.cgi/mobile/1021979970/l50
0008デフォルトの名無しさんNGNG
【サーバサイドゃ;ンタープライズ】
EJB(初心メ鰹+})
http://pc2.2ch.net/test/read.cgi/tech/1017240849/l50
= ?Servlet/JSP(EJB萱洫 ソ貰々レ = ?(WebProg泊ァ
http://pc2.2ch.net/test/read.cgi/php/1023501812/l50
《The Jakarta Project》
http://pc2.2ch.net/test/read.cgi/tech/1019996589/l50
TOMCAT
http://pc2.2ch.net/test/read.cgi/tech/998525941/l50
Servlet/JSPv》レームワークり雁"Xレ
http://pc2.2ch.net/test/read.cgi/tech/1001950590/l50
EJBw.Iら!!逐?
http://pc2.2ch.net/test/read.cgi/tech/1036481443/l50
JavaサーブレットQ& LV2
http://pc.2ch.net/tech/kako/1012/10127/1012728608.html
サーバーサイドJAVAり梳 [ゆ雁"Xレ
http://pc.2ch.net/tech/kako/1004/10049/1004972840.html
0009デフォルトの名無しさんNGNG
【サーバサイドやエンタープライズ】
EJB(初心者歓迎)
http://pc2.2ch.net/test/read.cgi/tech/1017240849/l50
■■ Servlet/JSP(EJB含む) 質問スレ ■■ (WebProg板)
http://pc2.2ch.net/test/read.cgi/php/1023501812/l50
《The Jakarta Project》
http://pc2.2ch.net/test/read.cgi/tech/1019996589/l50
TOMCAT
http://pc2.2ch.net/test/read.cgi/tech/998525941/l50
Servlet/JSPのフレームワークを語るスレ
http://pc2.2ch.net/test/read.cgi/tech/1001950590/l50
EJBは終わってる
http://pc2.2ch.net/test/read.cgi/tech/1036481443/l50
JavaサーブレットQ&A LV2
http://pc.2ch.net/tech/kako/1012/10127/1012728608.html
サーバーサイドJAVAをまたーり語るスレ
http://pc.2ch.net/tech/kako/1004/10049/1004972840.html
0010デフォルトの名無しさんNGNG
【その他】
クライアントサイドJavaどうよ?
http://pc3.2ch.net/tech/kako/1002/10021/1002160815.html
クライアントサイドJavaどうよ? part2
http://pc2.2ch.net/tech/kako/1032/10326/1032665721.html
クライアントサイドJavaどうよ? part3
http://pc2.2ch.net/test/read.cgi/tech/1045891783/l50
ム板のみんなでRobocode (・∀・)ヤロ−ウヨ!1台目
http://pc3.2ch.net/tech/kako/1020/10201/1020161792.html
Java 高速GUI SWT
http://pc2.2ch.net/test/read.cgi/tech/1032448424/l50
【徹底討論】Java3Dの可能性について考える
http://pc2.2ch.net/test/read.cgi/tech/1033703640/l50
★お前らJavaはJNIで組もうぜ★
http://pc2.2ch.net/test/read.cgi/tech/1033795664/l50
Javaアプレットのゲームの限界は! (ゲーム製作技術板)
http://pc2.2ch.net/test/read.cgi/gamedev/1005230153/l50
【Java編】 学校の宿題は俺にやらせろ 【Java編】
http://pc2.2ch.net/test/read.cgi/tech/1040552821/l50
祝 JAVA Developer創刊
http://pc2.2ch.net/test/read.cgi/tech/1024967343/l50
0011デフォルトの名無しさんNGNG
■■■ 他板のJavaスレッド ■■■
UNIXでJAVA (Unix板)
http://pc.2ch.net/test/read.cgi/unix/1011292632/l50
LinuxのJAVAチューニングスレ (Linux板)
http://pc.2ch.net/test/read.cgi/linux/1004594459/l50
◆◆◆◆◆◆MacでJava◆◆◆◆◆◆ (新Mac板)
http://pc.2ch.net/test/read.cgi/mac/991194610/l50

■■■ 撲滅させたいかた、死滅を心配してるかた ■■■
CとJavaを比較した場合Cの良いとこと悪いとこ
http://pc.2ch.net/tech/kako/1009/10097/1009707596.html
C#とJava、どっちをおぼえればいいの?
http://pc2.2ch.net/test/read.cgi/tech/1006715468/l50
Java撲滅委員会
http://pc.2ch.net/tech/kako/996/996848309.html
Java撲滅委員会
http://pc3.2ch.net/test/read.cgi/tech/996848309/l50
●●JAVAって死滅しちゃうの????●●
1 http://pc.2ch.net/tech/kako/1005/10051/1005159122.html
2 http://pc.2ch.net/tech/kako/1006/10060/1006053686.html
3 http://pc.2ch.net/tech/kako/1008/10081/1008162230.html
4 http://pc2.2ch.net/tech/kako/1042/10422/1042268758.html
5 http://pc2.2ch.net/tech/kako/1046/10465/1046539052.html
6 http://pc2.2ch.net/test/read.cgi/tech/1047748598/
0012デフォルトの名無しさんNGNG
■■■ 民間サイト ■■■
巨大なJavaリンク集
Java的リンク
http://www.geocities.co.jp/SiliconValley/6064/java_link.html
What's New about Java(Java に関する最新ニュース)
http://www.gimlay.org/~andoh/java/javanew.html

■■■ 無料の統合開発環境 ■■■
【Eclipse R2】
http://www.eclipse.org/downloads/index.php
【Sun ONE Studio 4 (Forte 4)】
http://jp.sun.com/products/software/tools/jde/try/index.html
【NetBeans v3】
http://www.netbeans.jp/dowonload.htm
【JBuilder 7 Personal】
http://www.borland.co.jp/jbuilder/jb7/download/

※2chではないので暴れないように。
0013デフォルトの名無しさんNGNG

いつもおまえらスレ立て人には、感謝してます
乙
0014デフォルトの名無しさんNGNG
いつもおまえらスレ立て人には、憤慨してます
死ね
00151NGNG
続きやってくれた人ありがとうです。
0016デフォルトの名無しさんNGNG
>>1、続きやった人
オツ
0017デフォルトの名無しさんNGNG
だまれウンコ共
乙
0018デフォルトの名無しさんNGNG
っていうかよく見たらclassにpublicついてないじゃん。
氏ねよマジで。
>>1 乙
0019デフォルトの名無しさんNGNG
いいかげんCLASSPATH環境変数を使うのは非推奨にしたらどうよ。
0020前スレ898NGNG
>>983
BufferedReader myReader = null;
try{
try {
myReader=new BufferedReader(new FileReader("aaa.txt"));
String line;
int count=0;
Point3d[] vertices = new Point3d[1000];
StringTokenizer st=null;
while ((line = myReader.readLine()) != null) {
if(count==1000)break;
st=new StringTokenizer(line," ");
double[] temp=new double[st.countTokens()];
for(int j=0;st.hasMoreTokens();j++){
temp[j]=Double.parseDouble(st.nextToken());
}
vertices[count]=new Point3d(temp[0],temp[1],temp[2]);
}
}
catch(Exception e){
}
finally{
myReader.close();
}
}catch(Exception e){
}
コンパイルは通ったのですが実行時にjava.lang.NullPointerExceptionエラーが
LineArray geometry = new LineArray(vertices.length, GeometryArray.COORDINATES); ←この行
で発生しました
外部ファイルを参照しないときはこんなことなかったのに
0021デフォルトの名無しさんNGNG
verticesがnullぽ
0022デフォルトの名無しさんNGNG
vertices.length
0023デフォルトの名無しさんNGNG
GeometryArray.COORDINATES
0024デフォルトの名無しさんNGNG
>>20
皆さんがおっしゃるとおりvertices.lengthの値がnullだと思われます。
ソースが見れないのでなんともいえませんがverticesを宣言できてないのでは?
FileReader(”aaa.txt”)の部分でエラーが生じてそうな悪寒
aaa.txtがまずクラスファイルと同一階層にあるかを調べてみてください。
それがしっかりできているならPoint3d[] vertices〜の下でprintlnして見たり
catchブロックでなんらかを出力させてみたりしてください。
これだけの情報じゃなんともいえないです・・すんません

0025デフォルトの名無しさんNGNG
>>前スレ903
>rand.nextInt() & 0x3ff;
>
>↑で乱数の値は0〜1023までになってるでしょうか?

rand.nextInt() % 1024; にしろ、範囲は 0〜1023 になるはずだが
一般的には一様にならない。
基本的に乱数の下位ビットは比較的短い周期で元に戻ってしまう。
0026デフォルトの名無しさんNGNG
>>1
連続カキコでとまったかな〜?と思ったので続きやらせていただきましたが
私の方も>>12を書いた時点で
連続カキコにひっかっかり、今までかけませんでした泣く
これ、すぐに復帰できるようにするにはしばらくおとなしくしてるしかないんですかね?
0027前スレ898NGNG
皆さんレスありがとうございます。
Point3d[] vertex = null;
としてやると実行できました。
まだJavaよくわかっていませんがこれからも頑張ります。
本当にありがとうございました。
0028デフォルトの名無しさんNGNG
>>19 賛成。
0029デフォルトの名無しさんNGNG
PureJavaってなぁに?
0030デフォルトの名無しさんNGNG
Linux Redhat9.0
SDK 1.4.1_04
環境において、JAVA2Dを利用し文書を作るアプリを作っています
「半角カナ」フォントを変えようと思い
$JAVA_HOME/jre/lib/font.properties.ja内のsansserif設定を
変更前)
sansserif.1=-kochi-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0201.1976-0
sansserif.2=-kochi-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1983-0
変更後)
sansserif.1=-shinonome-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0201.1976-0
sansserif.2=-shinonome-gothic-medium-r-normal--*-%d-*-*-c-*-jisx0208.1990-0
と変えましたが、「半角カナ」が総て □ となってしまいました。

xfontsel,xfdでは確認できるフォントを使用しました。
見落している箇所をどうかご指摘願います。
0031デフォルトの名無しさんNGNG
>>28
クラスパス非推奨ってどういうこと?
全部extフォルダに入れるとか、IDE使えってこと????
0032デフォルトの名無しさんNGNG
>>31
環境変数に設定するのを非推奨にしようってことだろ?
全部extフォルダに入れるなんてもってのほか。
コンパイル時や実行時に個別に指定するほうがイイってこと。
AntとかIDE使うのもその手段の一つだが。

いまだにJ2EEアプリ実行するのに実行ユーザの環境変数に
クラスパス設定するヤシとかextにライブラリ入れるヤシとかいて
あきれるな。
0033デフォルトの名無しさんNGNG
究極は

java.lang.String s=new java.lang.String("text");

とか推奨か?
0034デフォルトの名無しさんNGNG
環境変数のCLASSPATHは使わないほうがいいでしょ。

CLASSPATHが設定されていなければ
c:\somewhere>java HelloWorld
が動作する。

CLASSPATHが変なところに設定されているから動かなくなるだけ。

いっぱいjarファイルが必要なアプリはバッチファイルを作って、
set JARS=foo.jar;bar.jar
java -classpath %JARS%;. net.2ch.SomeApp
とでもすればいい。
0035デフォルトの名無しさんNGNG
>33
java.langはimportしなくても使えるぞ。
0036デフォルトの名無しさんNGNG
>>33
クラスパスとimport混同してない?
こんなヤシは>>2見れ
0037デフォルトの名無しさんNGNG
クラスパス非推奨派は理由を述べないな
0038デフォルトの名無しさんNGNG
>>37
ポータビリティが低下するからに決まってんだろ。
そんなことわざわざ言ってもらわないとわからなのか・・・・?
0039ただの見物人NGNG
わかんねーよ。Javaしらねーし
0040デフォルトの名無しさんNGNG
>37
SUNはこう言ってるが。

The -classpath option is preferred because you can set it individually for each application
without affecting other applications and without other applications modifying its value.

ttp://java.sun.com/j2se/1.4.2/docs/tooldocs/windows/classpath.html
0041デフォルトの名無しさんNGNG
classpathオプションが好まれる?
0042デフォルトの名無しさんNGNG
>>41
そう。環境変数に設定せずに、実行時に指定する方法が推奨。
必要なクラスパスはアプリによって違うからな。
0043デフォルトの名無しさんNGNG
-classpath オプションが推奨されているのは、アプリケーションごとに個別に設定できるので、
ほかのアプリケーションに影響を与えたり、ほかのアプリケーションからこの値が変更されたりすることがないためです。
0044デフォルトの名無しさんNGNG
つまり環境変数は使わずにオプションを使えってことか。
0045デフォルトの名無しさんNGNG
>>44
よくできました
0046デフォルトの名無しさんNGNG
インストールするとCLASSPATHを設定するアフォなアプリもあるから、
初心者向けのQ&Aとしてはこんな感じか?

Q. javac Hello.java でコンパイルはできるのですが、
java Hello を実行しようとすると
『Exception in thread "main" java.lang.NoClassDefFoundError: Hello』
と表示されて実行できません。
A. カレントディレクトリ(.)がクラスパス(classpath)に含まれていません。
コマンドプロンプトで、
java -cp . Hello
と設定する。「-cp」の後ろの「.」を見落とさないように!
「.」の前後には半角空白が必要です。
または、
http://www.gimlay.org/~javafaq/S004.html#S004-02
を読んでカレントディレクトリ「.」を環境変数CLASSPATHに追加してください。
0047デフォルトの名無しさんNGNG
コマンドプロンプトで、
java -cp . Hello
と実行する。「-cp」の後ろの「.」を見落とさないように!
~~~~~~~~~~
の間違い。
0048デフォルトの名無しさんNGNG
java -cp `pwd` Hello
0049デフォルトの名無しさんNGNG
Javadocドキュメント(?)部分に変更履歴を書くと思いますが、
その変更履歴の書き方のフォーマットって用意されていたりしますか?
あれば教えて下さい。
0050デフォルトの名無しさんNGNG
String s = "a" + "b" + "c" + "d" + "e";
は
String s = new StringBuffer("a").append("b").append("c").append("d").append("e").toString();
としてコンパイルされるとJavadocに書いてあったんですが、
実際には双方の実行時間がまったく違いました。
Stringリテラルの連結のほうが圧倒的に速いのです。
なぜでしょう?
J2SE-1.4.2でコンパイルし、実行しました。
005150NGNG
ちなみにこんなソースです。
public class Concat {
 public static void main(String[] args) {
  int iteration = 1000000;
  String t = "a" + "b" + "c" + "d" + "e";
  {
   Date before = new Date();
   for(int i = 0; i < iteration; i++){
    String s = "a" + "b" + "c" + "d" + "e";
   }
   Date after = new Date();
   System.out.println("String literal loop : " + ( after.getTime() - before.getTime() ));
  }

  {
   Date before = new Date();
   for(int i = 0; i < iteration; i++){
    String s = new StringBuffer("a").append("b").append("c").append("d").append("e").toString();
   }
   Date after = new Date();
   System.out.println("String buffer loop : " + ( after.getTime() - before.getTime() ));
  }
 }
}
0052デフォルトの名無しさんNGNG
StringBuffer使った方は実行時に連結されていて、
リテラルの方はコンパイル時に最適化されて既に連結されて
バイトコード生成されているとか?
0053デフォルトの名無しさんNGNG
>>50

これはどう?

String s = "a";
s += "b";
s += "c";
s += "d";
s += "e";
0054デフォルトの名無しさんNGNG
>>53
StringBufferより2.5倍ほど遅くなりました。
String.Buffer.toString()を4回余計に呼んでいると思えば遅くなるのもうなずけます。
でもリテラル連結が一番速いのはなぜでしょうね。
>>52さんの言うとおりなのでしょうか。
0055デフォルトの名無しさんNGNG
>>54
なんか雑誌で読んだんだけど

Stringの連結は1行でやれ!
それが出来ない場合(複数行にまたがる場合)はStringBufferをつかえ!
0056デフォルトの名無しさんNGNG
>>55
だ・か・ら
それはなぜなのか?って議論してるんでしょ?
0057デフォルトの名無しさんNGNG
対処法を教えてください。
"http://www.google.co.jp/search?num=100&hl=ja&ie=Shift_JIS&q=%8F%5C"からダウンロードして、テキストとして正常に表示したいです。
以下のwhile((line = br.readLine()) != null){の部分で弾かれています。
原因は%8F%5Cに有るようです。以下の例にあるURLはIEで正常に表示されます。
javaのバグっぽいですが、なにとぞよろしくお願いいたします。m(_ _)m

import java.net.*;
import java.io.*;
public class TestBufferdReader {
public static void main(String[] args){
URL url = null;
try{
url = new URL("http://www.google.co.jp/search?num=100&hl=ja&ie=Shift_JIS&q=%8F%5C");
Object obj = url.getContent();
if(obj instanceof InputStream) {
String line;
BufferedReader br = new BufferedReader(new InputStreamReader((InputStream)obj));
while((line = br.readLine()) != null){
System.out.println(line);
}
}else{
System.out.println("DownLoadしたObjectはInputStreamとして扱えません。");
}
}catch(Exception e){
e.fillInStackTrace();
}
}
}
005857NGNG
以下のwhile((line = br.readLine()) != null){の部分で弾かれています。
↓
ごめんなさい。
そこで弾かれてるわけじゃなかったです。
0059デフォルトの名無しさんNGNG
>>57
>javaのバグっぽいですが
って・・普通自分のコード見直すだろ?

それとも、他では動くのにこのURLだと動かないって事?
単に表示するだけなら
ソケットでGetコマンド打てばいいんじゃない?
0060デフォルトの名無しさんNGNG
>>59
>他では動くのにこのURLだと動かないって事?
その通りです。

javaで取得しないと意味が無いんで…。
006157NGNG
すみません。↑僕です。
0062デフォルトの名無しさんNGNG
実行すると403 Forbiddenが返ってくるね。なんでだろ。
006359NGNG
えと、とりあえず試したんですが
クエリ送った場合は何も表示されませんね
もうチョイ粘らせてください
006457NGNG
>>62
本当に不思議なんですよ。
今までjavaのバグに何度か見舞われたけど、今回は僕の力では無理だった・・・。
0065デフォルトの名無しさんNGNG
>>59
いろいろ張る前に、
e.fillInStackTrace()→e.printStackTrace()
と変更してからにしてね。これが最低限のエラー処理。
0066デフォルトの名無しさんNGNG
>>63
がんばって頂いている様で、ありがとうございます。m(_ _)m
006759NGNG
>>65
ご指摘ありがとうございます。
今後気をつけます。m(_ _)m
0068デフォルトの名無しさんNGNG
同じことをHttpUnit経由で実行すると上手くいくので、
java.netパッケージの使い方が間違ってるんじゃないかな。
使ったこと無いんで知らないけど。
006957NGNG
>>68
そうですか・・・。
本見て作ってるんで、そんなはずは無いと思うのですが、一応確認してみます。
007059NGNG
クエリ(num=100&hl=ja&ie=Shift_JIS&q=%8F%5Cの部分)を別の方法でセットした方が
いいと思って探してるんだが
URLクラスに限ってみるとgetQuery()
はあるけど
setQuery()
っていうのはないねぇ
今度はURL周辺探ってみます
007157NGNG
while((line = br.readLine()) != null)
の外にbr.close();がなったです。ただ結果には影響しないですが・・・。
007259NGNG
>>70
すみません。よろしくお願いします。m(_ _)m
007357NGNG
ソース見直しました。新しいソースを張っておきます。
import java.net.*;
import java.io.*;
public class TestBufferdReader {
public static void main(String[] args){
URL url = null;
try{
url = new URL("http://www.google.co.jp/search?num=100&hl=ja&ie=Shift_JIS&q=%8F%5C");
Object obj = url.getContent();
if(obj instanceof InputStream) {
String line;
BufferedReader br = new BufferedReader(new InputStreamReader((InputStream)obj));
while((line = br.readLine()) != null){
System.out.println(line);
}
br.close();
}else{
System.out.println("DownLoadしたObjectはInputStreamとして扱えません。");
}
}catch(Exception e){
e.printStackTrace();
}
}
}
0074デフォルトの名無しさんNGNG
>>50
52の言が正しい。
"a" + "b" + "c" + "d" + "e" という式は "abcde" に静的に評価できるので
コンパイル時に "abcde" に自動的に置き換えられる。
これはJava言語仕様で決まっている。

Javadoc にあるのは静的に評価できないときの話。例えば
String a = "a", b = "b", c = "c, d = "d", e = "e";
なら a + b + c + d + e は new StringBuffer(a).append(b).append(c).append(d).append(e).toString() になる。
007559NGNG
ほかのHPとか試した?
おれ、BIGLOBEの検索の方で試したんだけど・・・
動いたよ
googleのやつが特別なんじゃないかな?
たとえば、そのページ内からじゃ無いと検索CGI叩けないとか・・・
んで、俺もSocket使ったプログラムでやったけど
これもgoogleがダメで
BIGLOBEはOKだったよ
0076デフォルトの名無しさんNGNG
>>57
googleはUser-Agentヘッダを見ていて、ブラウザの種類によってはじいているようだ。
URLの生成の前にこれをいれると上手くいく。
System.setProperty("http.agent", "お好みの正しいUser-Agent");
ちなみにおいらのはこんなんだった
"Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; .NET CLR 1.0.3705)"
007759NGNG
>>75
>たとえば、そのページ内からじゃ無いと検索CGI叩けないとか・・・
いや、そんなこと無いですと言いたい所ですが、その通りなようで・・・。
さっきちゃんと確認したなのになぁ・・・。
おかしいなぁ・・・。
どうもありがとうございます。m(_ _)m
0078デフォルトの名無しさんNGNG
>>74
>これはJava言語仕様で決まっている。
おいおい…
007957NGNG
>>76
そうだったのか・・・。
今までjavaでUser-Agentの扱い方が解からなかったのですが、これできっかけがつかめました。
とりあえず、やってみます。
ありがとうございました。m(_ _)m
0080デフォルトの名無しさんNGNG
>>78
("a" + "b" + "c" + "d" + "e").intern() == "abcde" は言語仕様で決まっていますが何か?
008159NGNG
すげえ>>76
できたぞい
008257NGNG
>>76
本当にありがとうございます。m(_ _)m
ちなみに、僕のは"User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"でした。

今までUser-AgentはURLにUser-Agent=&見たいに追加するもんだと思って、一生懸命総当たり戦してました。
あまりにも苦労してたんで、知ったとき感動して、本当にちょっと涙出ちゃった。
008359NGNG
>>57
な、泣くなよおい・・・俺まで泣きそうだよ
0084デフォルトの名無しさんNGNG
すまん。Java言語仕様ではなくJava仮想マシン仕様だった。
0085デフォルトの名無しさんNGNG
>>80
>("a" + "b" + "c" + "d" + "e").intern() == "abcde" は言語仕様で決まっていますが何か?
おいおい…
0086デフォルトの名無しさんNGNG
>>84
>すまん。Java言語仕様ではなくJava仮想マシン仕様だった。
おいおい…
008757NGNG
>>59
さすがに、もう泣きやんだ。
今ちょっと一人でニヤニヤしてる。
008859NGNG
おれ、オナニーしてました
なんかうれしくってね

0089デフォルトの名無しさんNGNG
おいおいといってるやつは
http://www.takilab.cs.kobe-u.ac.jp/~java/publications/javaVM5.html でも読め
0090デフォルトの名無しさんNGNG
>>89
言語仕様とVM仕様とAPI仕様読んでから出直してください。
0091黒猫NGNG
こんにちわ(*・・*)。

益々日差しも強まり・・・(略)。

んと、お邪魔します(*..)、
JAVAでしたいことがあるんですけど、
どうしてもその手段が見つからなくて・・・
もし宜しければ助けてください(;;)。

したいことは、
現在のマウスのディスプレイ上の座標を取得したいの。

それで、最後にマウスが動いた時のイベントをListenerで取得して、
保持していこうかなって考えたんですけど・・・・
それはawt等のコンポーネント上でのこと・・ですよね、、(;;)?

awtコンポーネント上では、
MouseMotionListenerインターフェースを使って、
addMouseMotionListenerメソッドでコンポーネントにセットして出来るんですよねぇ・・・・。
でも、awtとかSwingのコンポーネント以外でマウスの動いた座標をとりたくても、
リファレンスみても見つからなかったんですぅ( ノ_;)

黒猫の見つけ方が下手なのでしょうか(;;)。
もし、お知恵をお借りさせていただけましたら嬉しいですぅ。

乱文で失礼しますぅ。
0092デフォルトの名無しさんNGNG
ぐぐれ。
0093デフォルトの名無しさんNGNG
getX
0094デフォルトの名無しさんNGNG
>>91
>>awtとかSwingのコンポーネント以外で
Appletという意味???
>>リファレンスみても見つからなかったんですぅ
java.awt.eventにあります。
---------------------------------------------------------------
int X,Y;
addMouseMotionListener(new MouseMotionAdapter(){
public void mouseMoved(MouseEvent e){
X=e.getX();
Y=e.getY();
}
});
-------------------------------------------------------------------
です。

>>黒猫の見つけ方が下手なのでしょうか(;;)。
黒猫って何ですか?
もしかしてブラック キャット(No.�]�V)・・・
0095デフォルトの名無しさんNGNG
>>94
それじゃ黒猫の要求にこたえられない
0096デフォルトの名無しさんNGNG
>>95
swingでのイベントの処理ってこと?
0097デフォルトの名無しさんNGNG
いや、そうでなくって
Swing、AWT以外の場所でも
マウスの位置知りたいってこと
0098デフォルトの名無しさんNGNG
あーFramの外でも座標がわかるようにしたいのね!!!
そんなことできるの???
0099デフォルトの名無しさんNGNG
Javaでは無理なんじゃねーの?

JNI 使ってやるか・・。
0100デフォルトの名無しさんNGNG
目で見て数えればいいんじゃないかな?
上から1つ2つ3つ・・・120つ・・・
左から1つ2つ3つ・・・パンつ・・・
ってさ!
0101デフォルトの名無しさんNGNG
>>101
               _,......,,,_
               ,、:'":::::::::::::::::``:...、
           /::::::::::::::::::::::::::::::::::::::\
          i::::::::::::::::::::::::::::::::::::::::::::::::::ヽ
            !::::::::::::::::::::::;‐、:::::::::_::::::_::::';
         |::::::::::::::::::::::|  :: ̄      ``!
         r''ヾ'::::::::::/  ::          |
         l r‐、\::/  _,,、ii_;;_、    _,,,l、
         ヽヾ〈    ::= -r:;;j_;、`/ :;'ィ;7
          !:!_,、    :: ` ー  : |: `´/     なに言うとんじゃ、ぼけ
         ,./ヽ |  、_  ::  ,: 'r' :i |:  /       
       ,../ `ヽ;_  i | '"、_:::__`:'‐'. /
        / ``'ー 、_\  ! `::` ̄''`チ`シ
    /ー 、_    `\:、_ :: ` ̄/
   /     ``ヽ、   ヽ`'7‐--'゛
■ このスレッドは過去ログ倉庫に格納されています