【初心者】Java質問・相談スレッド82【大歓迎】
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2006/02/25(土) 23:38:06質問をする前に、貴方が見なければならないサイトについての情報は、
下の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 を使え。
前スレッド
【初心者】Java質問・相談スレッド81【大歓迎】
http://pc8.2ch.net/test/read.cgi/tech/1139654818/
/* 既出の質問や、他に適切なスレが存在する質問は、容赦なく無視されます。
質問をする前にwikiで過去ログ、関連スレ、FAQをチェックしてください。 */
また、当スレで質問をするかたは、回答をもらえたときに、
wikiの更新をして頂ければ、忝なく存じます。
JavaScriptの質問は、ここでは受け付けていません。
Web製作板をご利用ください。http://pc5.2ch.net/hp/
次スレは>>980あたりで。
0263デフォルトの名無しさん
NGNG設定画面のJDK準拠画面の、
コンパイラー準拠レベルは1.4になっています。
というよりも、1.3、1.4、5.0しか選べないです。
0264デフォルトの名無しさん
2006/03/01(水) 16:09:52コピペしただけでちゃんと動くよん
0265デフォルトの名無しさん
2006/03/01(水) 16:21:38Eclipseを使う場合、Javaのバージョンが1.5以降だと上手くうごかない。
ちなみに俺は1.4をインストールしてEclipseの設定変えたら動いた。
理由は詳しい人に任せた。
0266デフォルトの名無しさん
NGNG今試してます。
0267デフォルトの名無しさん
NGNGやっぱりできませんでした。
http://java.sun.com/j2ee/1.4/download.html#sdk
ここの一番上で良いんですよね?
インストール後に、設定>インストール済みのJRE>検索してJDKの設定をする。
何か間違ってますか?
0268デフォルトの名無しさん
2006/03/01(水) 16:34:15j2se
0269デフォルトの名無しさん
2006/03/01(水) 16:35:530270デフォルトの名無しさん
2006/03/01(水) 16:36:580271デフォルトの名無しさん
2006/03/01(水) 16:38:47Eを使ったこの表現の意味がわかりません。
double8bytes±1.79769313486231570E+380〜±4.94065645841246544E-324
浮動小数の扱い方については一応理解しているつもりではいます。(符号部、小数部、
指数部であらわすということ)
スレ違いかとも思ったのですが、最適なスレが見つからないのでこちらで質問させていただきました。
0272デフォルトの名無しさん
2006/03/01(水) 16:42:480273デフォルトの名無しさん
2006/03/01(水) 16:45:59>>265は嘘。
0274デフォルトの名無しさん
2006/03/01(水) 16:47:37E+380は10^380
0275246
NGNGいったいどうしたら・・・。
0276デフォルトの名無しさん
2006/03/01(水) 17:17:38他のは動くんか?
0277デフォルトの名無しさん
2006/03/01(水) 17:18:07んなわけあるか。
0278271
2006/03/01(水) 17:20:091.79769313486231570E+380〜
というのは。
1.797(略) * 10^380〜
という風に理解していいんでしょうか。
0279デフォルトの名無しさん
NGNGStackクラスを利用しようとするとすべてコンパイルエラーになります。
ほかのものは大丈夫です。
もちろんThreadクラスも利用できました。
0280デフォルトの名無しさん
2006/03/01(水) 17:24:340281デフォルトの名無しさん
2006/03/01(水) 17:28:17いいお
0282デフォルトの名無しさん
2006/03/01(水) 17:34:03>>279
TaskクラスをTask.javaに書き、ResourceクラスをResource.javaに書いて、
Task.javaにだけimport java.util.*; と書き Resource.javaには書いてないとか。
両方のソースにimport宣言書いてる?
Eclipse使ってるなら、コンパイルエラーの箇所にカーソル置いて
Ctrl + 1 を押し、ポップアップからどれか選ぶとだいたい直る。
便利だが、最初のうちは余りこの機能に頼らないように。意味を理解しながら使ってね。
0284デフォルトの名無しさん
2006/03/01(水) 17:38:070285デフォルトの名無しさん
NGNGimport java.util.Stack;
この一文を入れたらコンパイル成功して実行できました。
import java.util.*;も書いているのに何でだろ?
0286デフォルトの名無しさん
2006/03/01(水) 18:01:13今javaをインストールしているのですが。(jse 5.0kit)
OSはウィンドウズ2000プロで、「このオペレーティングシステムはサポートされて
いません」みたいなことが出るんです。。。そのまま実行してインストールをしても
プロンプトでjavacを入れると、やっぱりインストールささってません;;
どうすれば、2000で出来ますか?
0287デフォルトの名無しさん
2006/03/01(水) 18:16:550288デフォルトの名無しさん
2006/03/01(水) 18:17:000289デフォルトの名無しさん
2006/03/01(水) 21:28:023.xからは1.5以降の環境が必要だと思ったけど。
2.xなら1.4以前でも動く。
0290デフォルトの名無しさん
2006/03/01(水) 21:32:39>3.xからは1.5以降の環境が必要だと思ったけど。
そんなことはございません。
0291デフォルトの名無しさん
2006/03/01(水) 21:35:43ほんとだ。すまんかった。
http://www.eclipsewiki.net/eclipse/?%A5%A4%A5%F3%A5%B9%A5%C8%A1%BC%A5%EB#s1efe92d
3.xが1.4で、2.xは1.3か。
0292デフォルトの名無しさん
2006/03/01(水) 21:53:59【環境】
WindowsXPsp2
試したJDKのzipファイル
jdk-1_5_0-src-jrl.zip 55.6 MB (58,326,364 バイト)
jdk-1_5_0-src-scsl.zip 55.6 MB (58,338,869 バイト)
試したドキュメントソース
jdk-1_5_0-doc-ja.zip 45.2 MB (47,498,450 バイト)の解凍したもの
【症状】
はじめは順調に進みますが、53%のところ(j2se/src/share/classes/java/nio/X-Buffer.java)で
エラーと表示され、必ずとまってしまいます。
上記ファイルは解凍してみると問題なく終了します。
なにがいけないかさっぱりです。
どなたかアドバイスをいただけないでしょうか。
よろしくお願いします。
0293292
2006/03/01(水) 21:57:11日本語ドキュメントとJDKソースはともに5.0update6です。
よろしくお願いします。
0294デフォルトの名無しさん
2006/03/01(水) 21:59:010295デフォルトの名無しさん
2006/03/01(水) 22:06:03確かMergeDocってjarファイルが実行ファイルだったよね?
java -jar Mergedoc.jar
で警告・エラー時には何かメッセージ出してくれたように思うので
それ見て悩め。
0296デフォルトの名無しさん
2006/03/01(水) 22:33:31>>import java.util.*;も書いているのに何でだろ?
awt.*;
awt.event.*;
見たいな感じだろ。
0297デフォルトの名無しさん
2006/03/01(水) 23:43:03ファイル入出力とか、それなりに出来るようになったんで、
これからGUIのアプリケーション作ってみたいんですが、
SWTとSwing、どっちから始めたほうがいいとかってありますか?
0298デフォルトの名無しさん
2006/03/01(水) 23:49:420299デフォルトの名無しさん
2006/03/01(水) 23:51:43最後の最後でNo Java virtual machine was found ってでます。
コマンドプロンプトから
未来のcatalina_homeフォルダにCDしてjava -versionはできます。
ほかに原因があるのでしょうか。
0300デフォルトの名無しさん
2006/03/01(水) 23:53:260301デフォルトの名無しさん
2006/03/01(水) 23:53:33SWTは飽くまでEclipseのプラグイン用だよ
6.0からはSwingもよりネイティブルックに近づくしね
0302デフォルトの名無しさん
2006/03/01(水) 23:57:390303デフォルトの名無しさん
2006/03/01(水) 23:58:43DataSource はコネクションプールしてるだけと思えば良い。
0304299
2006/03/02(木) 00:07:08未来のcatalina_homeというか
F:\です。
zip版からやると
”-Djava.endorsed.dirs=”が見つかりません
みたいなエラーがでます。
今気づいたんですが、スレ違いでしょうか
0305デフォルトの名無しさん
2006/03/02(木) 08:53:20JTextField text に入力させた任意の文字をString型とint型の変数に格納することは可能なのでしょうか?Apiを見てもよくわからなかったので教えてください。
自分で作ってみたものですが、text の吸出しはできるのですが、変換の仕方がわからないのでよろしくお願いします。
import javax.swing.*;
import java.awt.event.*;
public class TextTest extends JFrame implements ActionListener{
JTextField text;
JLabel label;
public static void main(String[] args){
TextTest test = new TextTest("TextTest");
test.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
test.setVisible(true);
}
TextTest(String title){
setTitle(title);
setBounds( 10, 10, 300, 200);
text = new JTextField("Sample", 20);
JButton btn = new JButton("read");
btn.addActionListener(this);
label = new JLabel("テキストの値を表示");
JPanel p = new JPanel();
p.add(text);
p.add(btn);
p.add(label);
getContentPane().add(p);
}
public void actionPerformed(ActionEvent e){
label.setText(text.getText());
}
}
0306デフォルトの名無しさん
2006/03/02(木) 08:56:02Integerのメソッドを調べる
0307デフォルトの名無しさん
2006/03/02(木) 09:54:14int nText = Integer.parseInt(strText ) //intに型変換
0308デフォルトの名無しさん
2006/03/02(木) 11:14:10i-Studyのような、多肢選択の問題集のアプリケーションをSwingで作ってるんですけど、
決まったパターン( 問題文 解答群 正解番号 など)で、まとまった100コくらいのデータ を扱いたい場合に、
データを保存したり読み込んだりする定石はありますか?
今のところ、
BufferedReaderでテキストファイルから全部まとめて読み込んでそれを元にMondaiオブジェクトを生成するとか、
独自のMondaiオブジェクトをインスタンス化してから、配列にまとめて
オブジェクトストリームで別のファイルに格納しておくとかしか浮かびません。
XMLとかJDBCとか使ったほうがいいのでしょうか?
あいまいな質問で申し訳ありませんが、何かヒントいただけませんでしょうか。
0309デフォルトの名無しさん
2006/03/02(木) 11:19:04聞き逃げ厨氏ね
0310デフォルトの名無しさん
2006/03/02(木) 11:26:05生データの編集のしやすさで選ぶ場合、CSVが無難だと思う。
格納したデータの取り扱いを楽にしたいならDBを。
XMLは複数クライアントとサーバ間で、データのやり取りをする場合に。
ぶっちゃけ、実現可能な手段なら何でも良いのだが…
0311デフォルトの名無しさん
2006/03/02(木) 11:28:02EXCELで管理もできるし
0312デフォルトの名無しさん
2006/03/02(木) 11:40:07おお、早速のレスありがとうございます。
CSVで保存したものを読み込む方法を、いくつかググったところ、
java.util.regexパッケージのsplitメソッドの使い方を発見しました。
今までStringTokenizer しか知らなかったんでかなり役立ちそうです(まだわかりませんが…)
とりあえずCSVでいってみようと思います。
ありがとうございました。
0313312
2006/03/02(木) 11:51:11問題文データに、カンマを含む文章が多数あるため
CSVとして保存すると厄介なことになりそうです…orz
問題文データが、改行、スペース、カンマ等を含む文字列なのです。
DBで検討してみます。すんません。
行の初めに任意の数の長さのスペースが連続した文字列がほしんですけど、どうしたらいいですか。
自分の思いつくのは面倒くさくて非効率みたいです。
int length;
length = 5;//色々な値をとりうる。
StringBuffer buf = new StringBuffer();
for(int i = 0 ; i < length ; i++){
buf.append(' ');
}
String output = buf.toString() + "hello";
0315デフォルトの名無しさん
2006/03/02(木) 12:25:44String SPACEPOOL = " ";
int spaceindent = 5;
String aa = SPACEPOOL.substring(0,spaceindent)+"空白"+spaceindent+"個";
out.println(aa);
0316デフォルトの名無しさん
2006/03/02(木) 12:26:46SPACEPOOLは20個ぐらいの固定空白ね。
0317デフォルトの名無しさん
2006/03/02(木) 12:29:27目的による。
例えば 5.0 以降で右詰め表示や左詰め表示のための
埋め草にしたいのであれば System.out.printf() 使えば良い。
0318デフォルトの名無しさん
2006/03/02(木) 13:05:43public static String getPadSpaceStr(String arg,int length){
StringBuilder sBui = new StringBuilder(srg)
for(int i =0;i < length;i++){
sBui.append(" ");
}
return sBui.toString();
}
こうすれば、一つのメソッドで全てを補える。
0319デフォルトの名無しさん
2006/03/02(木) 13:09:570320デフォルトの名無しさん
2006/03/02(木) 13:11:43public static String getPadSpaceStr(String arg,int length){
StringBuilder sBui = new StringBuilder()
for(int i =0;i < length;i++){
sBui.append(" ");
}
return sBui.toString() + str;
}
0321デフォルトの名無しさん
2006/03/02(木) 13:12:16StringBuilder sBui = new StringBuilder(srg)
for(int i =0;i < length;i++){
sBui.append(" ");
}
return sBui.toString() + arg;
}
0322デフォルトの名無しさん
2006/03/02(木) 13:12:480323デフォルトの名無しさん
2006/03/02(木) 14:01:31public static String getPadSpaceStr(String arg,int length) {
StringBuilder buf = new StringBuilder(length);
for(int i =0;i < length;i++)
buf.append(' ');
return buf.append(arg).toString();
}
Java 5 ならこうだな。フォーマットの解釈で時間が掛かるかも知れないが。
public static String getPadSpaceStr(String arg,int length) {
return String.format("%" + length + "s", arg);
}
ていうか別関数にする意味はあまりなし。
0324323
2006/03/02(木) 14:02:54最初に length - arg.length() 求めてそれが1以上の場合にその数だけ
右にスペースを付けるようにしないとアレだ。
まあいいや。あとは自分で考えろ。
0325323
2006/03/02(木) 14:03:24さよなら。
0326デフォルトの名無しさん
2006/03/02(木) 14:14:510327314
2006/03/02(木) 14:16:00参考になりました。感謝。
0328デフォルトの名無しさん
2006/03/02(木) 17:02:11なぜそれをもってして「多態」と呼ぶのでしょうか。日本語の意味がよくわからないのです
「オブジェクトに応じた、多くの態度をとる性質」ですかね?
--
オブジェクト指向プログラミングにおいて,異なるオブジェクトに対して,同じメッセージを送った場合,そのオブジェクトに合わせて,異なる処理が適切になされること。多相性。
0329デフォルトの名無しさん
2006/03/02(木) 17:06:52すまんが、元の用語を英語で書いてくれねーと解らん
0330328
2006/03/02(木) 17:12:15http://dictionary.goo.ne.jp/search.php?MT=polymorphism&kind=ej&mode=0
らしいです。
0331デフォルトの名無しさん
2006/03/02(木) 17:14:06Javaで、システムの状態(メモリ使用量とCPU負荷、各タスクの経過時間)を
取得するにはどうしたらよいのでしょうか?
0332328
2006/03/02(木) 17:14:32”r”がないんです。
0333デフォルトの名無しさん
2006/03/02(木) 17:20:24ttp://ja.wikipedia.org/wiki/%E3%83%9D%E3%83%AA%E3%83%A2%E3%83%BC%E3%83%95%E3%82%A3%E3%82%BA%E3%83%A0
0334デフォルトの名無しさん
2006/03/02(木) 17:29:58辞書でも引けばいいじゃない。国語でも漢和でも。
たい【態】
1. すがた。さま。ようす。
2. 心がまえ。身がまえ。
オブジェクトというのは、一つのクラスからも多くの「態」が生まれうる。
それを多態性と呼ぶんでしょ。
俺は名無しだが番号がついてて、レスをしたことで個性が生まれる。
お前は名無しクラスから生まれた>328オブジェクト。
俺は名無しクラスから生まれた>334オブジェクト。
だが、「やい、多態性の質問したやつ手を挙げろ」と言われても、
俺は質問してないので無視する。手を挙げるのは>328だろ?
0335デフォルトの名無しさん
2006/03/02(木) 17:46:50他のネイティブアプリの情報知りたいなら素直にJNI使うか、外部プロセス使って情報取るしかない。
6.0 からなら CPU負荷については
java.lang.management.ManagementFactory.getOperatingSystemMXBean().getSystemLoadAverage()
で取れる事になってる。自分のメモリ使用量についてなら Runtime で大雑把な情報取れるし、
5.0 以降にある MXBean 使えばもうちっと詳しい情報が取れる。
0337331
2006/03/02(木) 21:44:18する方法は無いでしょうか?
ちなみに、ディスク容量も求めることになったのですが、こちらは Java6 か
らしか使えないようです。
http://www.02.246.ne.jp/~torutk/javahow2/diskspace.html
それにしても JNI か。今ちょっと見ただけですが、結構大変そうだなあ。
http://www.ki.rim.or.jp/~kuro/Java/JNI/
0338デフォルトの名無しさん
2006/03/02(木) 21:46:56>オブジェクトというのは、一つのクラスからも多くの「態」が生まれうる。
>それを多態性と呼ぶんでしょ。
同一クラスから複数のインスタンスができることを「多態性」っていうんだっけ?
俺は継承関係のことを言ってるんだと思ってたんだけど。。
Student is a Person.
Teacher is a Person.
生徒も先生も同じ人ですよ、と。
0339デフォルトの名無しさん
2006/03/02(木) 22:24:01どうすればいいのでしょうか?
たとえば
「七人の侍〜わが青春に悔いなし」
「生まれてはみたけれど〜秋刀魚の味」
とあった場合
「〜」という文字列を指定して(「〜」は必ず一つしかない)
それよりも右にある文字列はすべて削除して
「七人の侍
「生まれてはみたけれど
としたいのですがご教授ください
0340デフォルトの名無しさん
2006/03/02(木) 22:27:55substringとindexOf使えば良いだろ
0341デフォルトの名無しさん
2006/03/02(木) 22:44:40すいません
詳しく教えてください
indexOfで文字列を指定するまではいいのですが
それより右を削除ってのがいまいちよく判りません
0342デフォルトの名無しさん
2006/03/02(木) 22:53:33だーかーらー。substring() の所を読めよ。
0343デフォルトの名無しさん
2006/03/02(木) 22:54:460344デフォルトの名無しさん
2006/03/02(木) 22:56:030345デフォルトの名無しさん
2006/03/02(木) 23:05:44>>300
誰か助けてください
0346デフォルトの名無しさん
2006/03/02(木) 23:07:22「Cannot create JDBC driver of class '' for connect URL 'null'」
tomcat/common/libには、postgresql用のjarファイルも置いてます。
tomcatのサーバーXMLの内容は↓な感じ。
<Resource name="jdbc/hoge" auth="Container" type="javax.sql.DataSource"
factory="org.apache.commons.dbcp.BasicDataSourceFactory"
driverClassName="org.postgresql.Driver"
url="jdbc:postgresql://localhost:5432/hogedb"
username="postgres"
password=""
maxActive="4"
maxWait="5000"
maxIdle="2"
/>
どーしたら、このエラーなくなるんかしら、これが正解ってやつ教えてほっしーっす。
0347デフォルトの名無しさん
2006/03/02(木) 23:34:41Tomcat5系でも、5.0.xと5.5.xではコンテキスト記述子の書き方が違うらしい。
5.0.x
ttp://tomcat.apache.org/tomcat-5.0-doc/jndi-datasource-examples-howto.html#PostgreSQL
5.5.x
ttp://tomcat.apache.org/tomcat-5.5-doc/jndi-datasource-examples-howto.html#PostgreSQL
0348デフォルトの名無しさん
2006/03/02(木) 23:36:05Hogeオブジェクトがあったとして
Hoge [] test = new Hoge [3];
test [0] = new Hoge();
test [1] = new Hoge();
と記述すると、test[0]とtest[1]にはHogeオブジェクトの参照が代入されますよね。
オブジェクトを生成してないtest[2]の値ってどうなっているんですかね・・・?
0349デフォルトの名無しさん
2006/03/02(木) 23:39:43Java言語仕様に従った初期値が入る
0350デフォルトの名無しさん
2006/03/02(木) 23:40:38null
何のオブジェクトも参照していない。
0351デフォルトの名無しさん
2006/03/02(木) 23:41:31つ System.out.println(test[2]);
どうなってるって、何が知りたいんだか…
0352デフォルトの名無しさん
2006/03/02(木) 23:43:05これは針が見えている釣りなのかしら?
0353デフォルトの名無しさん
2006/03/02(木) 23:46:23http://www.y-adagio.com/public/standards/tr_javalang2/typesValues.doc.html#96595
> 個々のクラス変数,インスタンス変数又は配列構成要素は,
> それを生成するときに デフォルト値(default value) に初期化する (15.9,15.10)。
> # すべての参照型 (4.3) については,デフォルト値は null とする。
0354348
2006/03/02(木) 23:52:020355デフォルトの名無しさん
2006/03/03(金) 00:05:45str = str.substring( 0 ,str.indexOf("〜"));
0356デフォルトの名無しさん
2006/03/03(金) 00:25:080357デフォルトの名無しさん
2006/03/03(金) 00:35:29int i = '胃';
System.out.println( Integer.toBinaryString(i));
こんなんでどうでしょう?
0358357
2006/03/03(金) 00:45:41String str = "東京特許許可局";
for (int i = 0; i < str.length(); i++){
System.out.println( Integer.toBinaryString(str.charAt(i)));
}
あとマルチポストイクナイ
0359デフォルトの名無しさん
2006/03/03(金) 00:47:20マルチプル・インスタンスも継承も、直接は多態性ではないよ。マルチプル・インスタンス自体は
多態性とはいっさい関係ないと思う。
本来の話で言えば、型のことは一切考えず、いろんなオブジェクトに全く同じメッセージ(たとえば
draw)を送ると、それぞれに応じた処理が動くことをいうよね。
いろんなオブジェクトがList内に入っているとき、構造化プログラムならまず種類をしらべて、種類に
応じた別の関数を呼ぶようにしないといけない。でもオブジェクト指向言語では、ともかく draw という
メッセージを送れば、それぞれのオブジェクトがそれぞれの処理を行ってくれる。同じ処理なのに、
送る先のオブジェクトが違えば動作も違うから「多態」でしょう。
Java的にいえばすべて同じDrawableオブジェクトなのに、draw()を呼ぶごとに(実クラスが何かに
応じて)動作が変わる。でも見た目上は、それらはDrawableオブジェクト。だから多態性、なんじゃない?
0360デフォルトの名無しさん
2006/03/03(金) 01:07:38わかりました!早速やってみます!!
0362デフォルトの名無しさん
2006/03/03(金) 03:24:48聞き逃げ厨 って言葉の響きにワロタ
■ このスレッドは過去ログ倉庫に格納されています