【初心者】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あたりで。
0083デフォルトの名無しさん
2006/02/26(日) 23:05:02あっ、てめぇ、俺の発言パクるんじゃねーYO!
0084デフォルトの名無しさん
2006/02/26(日) 23:11:240086デフォルトの名無しさん
2006/02/26(日) 23:37:09javaのソースの公開はどうやればいいですか?ファイル形式ので。
↑いや、単純にこの言葉だけで何をどうしたいのか分かり辛いだろ
読解力じゃなくて、説明する側の説明不足だよ
なんならソースをまるごとアーカイバにしちゃった方が早いだろ
0087デフォルトの名無しさん
2006/02/26(日) 23:37:270088デフォルトの名無しさん
2006/02/26(日) 23:38:06阿呆の相手するな
0089デフォルトの名無しさん
2006/02/26(日) 23:42:12コミュニケーションランゲージなんてのは、結局人によって違ってくるんだし
そこを解決するために、プログラム言語に対してコンパイラがある
そのくらい物事が理解できなきゃ、プログラミングの腕も大したこたぁ〜ねぇな
なぁ、粘着>>20よ。自分の世界に入ってねーで、ちったぁインターネットの世界で良いから
海外に向けてみろや?な?
日頃使っている検索エンジンはなんだ?Yahoo!Japanか?
なら www.yahoo.com/ にしてみろ、な?世界が広がるぜ?
0090デフォルトの名無しさん
2006/02/26(日) 23:44:020091デフォルトの名無しさん
2006/02/26(日) 23:44:14なら途中に入れるコメントや注釈も英語で書いてみようぜ?
一文字2バイトも食っちまう全角なんてもったいないだろ?
ソースの無駄遣いだぜ?おっと、お好み焼きにはソースもマヨネーズも
けちけちしないけど適量でたのむぜ
0092デフォルトの名無しさん
2006/02/26(日) 23:45:28こんなのが日本の未来を担うなんて、日本は終わったな
まぁ、少子化問題は外国人労働者の導入で解決せざるを得ないだろうけど
0093デフォルトの名無しさん
2006/02/26(日) 23:50:580094デフォルトの名無しさん
2006/02/26(日) 23:51:54その歳でPGって大変だろ
0095デフォルトの名無しさん
2006/02/26(日) 23:54:07(×) とうり
(○) とおり
(×) 以外に
(○) 意外に
日本語に乏しいようですね。
0096デフォルトの名無しさん
2006/02/26(日) 23:54:39自分の浅はかな考えで相手を罵倒するとか、やれやれ・・・
>>20のプログラムは参考にならんから、アップすんなよ
どうせ悪さするウィルスだろw
0097デフォルトの名無しさん
2006/02/26(日) 23:55:51だからさぁ、キチガイ>>20は説明不足だっつってんのよ?
日本語に乏しいとかじゃなくてw
0098デフォルトの名無しさん
2006/02/26(日) 23:58:14javaのソースの公開はどうやればいいですか?ファイル形式ので。
↑明らかに説明不足。自分の状況が他人にも理解されないと切れるタイプ
0099デフォルトの名無しさん
2006/02/26(日) 23:59:130100デフォルトの名無しさん
2006/02/26(日) 23:59:36>>37のとうりです。他の人がvisual studioを使ってるのでそれでやります。
以外に読解力が乏しいひとが多いですね。
↑以外に自分の状況を説明できないひきこもりがいるみたいですねw
0101デフォルトの名無しさん
2006/02/27(月) 00:00:39はーい、まぁ、アホは自爆するだけだからね
相手を否定して自分を正当かしようとか
相手に落ち度があれば徹底的に責めて
最後に自分がつまらない失敗をしたことで大勢から攻められるんだよなw
0102デフォルトの名無しさん
2006/02/27(月) 00:03:01情けは人の為ならず、ではありませんが、
攻撃する時は細心の注意を払って行うようにしています。
自爆が一番怖いですなぁ
0103デフォルトの名無しさん
2006/02/27(月) 00:10:49ちゃちゃっと僕チンのためにテトリスとかフリーセルを作ってよー
0104デフォルトの名無しさん
2006/02/27(月) 00:12:15車輪の再発明はよろしくなくてよ
0105デフォルトの名無しさん
2006/02/27(月) 00:21:55テトリス
ttp://ikeda.gotdns.com/soft/
フリーセルはしらん
0106デフォルトの名無しさん
2006/02/27(月) 00:26:02リハビリ用にスレッド一つ立ってんだから
0107デフォルトの名無しさん
2006/02/27(月) 00:33:000108デフォルトの名無しさん
2006/02/27(月) 00:50:33国語の授業を倍くらいにしろよ。情緒的な美的感覚のないやつの書いた
プログラムってぐちゃぐちゃだし勘弁して。
0109デフォルトの名無しさん
2006/02/27(月) 00:51:29そこでコーディング規約ですよ
0110デフォルトの名無しさん
2006/02/27(月) 00:52:250111デフォルトの名無しさん
2006/02/27(月) 00:54:51Dateインスタンスの属性のうち、
YEAR/MONTH/DAY/HOURを残して
残りをすべて0に設定したいのですが、
以下のやり方でよいのでしょうか?
Calendar cal = Calendar.getInstance();
cal.setTime(d);
cal.set(MINUTE, 0);
cal.set(SECOND, 0);
d = cal.getTime();
よろしくお願いします。
0112111
2006/02/27(月) 01:03:18おたずねしたいのは、
calendarにSECONDより小さな属性は含まれていないのかということと、
何となく回りくどく見えるが、これがもっともストレートな記法なのかということです。
どうかよろしくお願いしますm(_ _)m
0113デフォルトの名無しさん
2006/02/27(月) 01:07:240114デフォルトの名無しさん
2006/02/27(月) 01:48:33CalendarのAPIにざっと目を通せば明らかだと思うんだが、
Calendar.MILLISECONDがある。
0115デフォルトの名無しさん
2006/02/27(月) 01:54:460116デフォルトの名無しさん
2006/02/27(月) 01:55:550117デフォルトの名無しさん
2006/02/27(月) 02:08:39Date sourceDate = new Date();
Calendar c1 = Calendar.getInstance();
c1.setTime(sourceDate);
Calendar c2 = new GregorianCalendar(c1.get(Calendar.YEAR), c1.get(Calendar.MONTH), c1.get(Calendar.DAY_OF_MONTH), c1.get(Calendar.HOUR), 0, 0);
Date resultDate = c2.getTime();
System.out.println(c1);
System.out.println(c2);
System.out.println(sourceDate);
System.out.println(resultDate);
0118デフォルトの名無しさん
2006/02/27(月) 02:13:55レスありがとうございます!!
> CalendarのAPIにざっと目を通せば明らかだと思うんだが
確かにありました!
お手数おかけしてすみません。
ということは
Calendar#getTime()を呼び出した際にmsecは
勝手に切り捨てられるわけですね。
何となく腑に落ちませんが、
無理矢理納得することにします(>_<)
0119デフォルトの名無しさん
2006/02/27(月) 02:15:530120デフォルトの名無しさん
2006/02/27(月) 02:23:40>Calendar#getTime()を呼び出した際にmsecは
>勝手に切り捨てられるわけですね。
DateもCalendarもミリ秒単位だから切捨ては起きないと思うが。
0121デフォルトの名無しさん
2006/02/27(月) 02:38:57ええ〜っ
Date#getMillisecond()は存在しないので
てっきりmsecはないものだと思ってました。
ありがとうございますm(_ _)m
>>117
ありがとうございます!
参考にさせて頂きます。
日付計算めんどくさいです、、、
getRange(開始日時(n時ぴったりを指定)、終了日時)
っていうインターフェースに
getRange(今日の3時、明日の5時)
って指定したいだけなのに、もうソースぐちゃぐちゃ、、、(T-T)
どなたか助けてください(>_<)
0122デフォルトの名無しさん
2006/02/27(月) 02:40:460123デフォルトの名無しさん
2006/02/27(月) 02:50:56おおお。
こんな感じのコードが山ほどです(>_<)
public class DateTest {
public static void main(String[] args) {
Date d = new Date();
Calendar today3 = Calendar.getInstance();
today3.setTime(d);
today3.set(HOUR, 3);
today3.set(MINUTE, 0);
today3.set(SECOND, 0);
today3.set(SECOND, 0);
Calendar tomorrow5 = Calendar.getInstance();
tomorrow5.setTime(d);
tomorrow5.add(DATE, 1);
tomorrow5.set(HOUR, 5);
tomorrow5.set(MINUTE, 0);
tomorrow5.set(SECOND, 0);
tomorrow5.set(SECOND, 0);
ArrayList<Hoge> hoges = Fugo.getRange(today3, tomorrow5);
}
}
0124デフォルトの名無しさん
2006/02/27(月) 02:51:54んでな、そのソースが「何の処理をする目的」かも分からんと
助言すら出来んのよ
0125デフォルトの名無しさん
2006/02/27(月) 02:52:34public class DateTest {
public static void main(String[] args) {
Date d = new Date();
Calendar today3 = Calendar.getInstance();
today3.setTime(d);
today3.set(HOUR, 3);
today3.set(MINUTE, 0);
today3.set(SECOND, 0);
today3.set(MILLISECOND, 0);
Calendar tomorrow5 = Calendar.getInstance();
tomorrow5.setTime(d);
tomorrow5.add(DATE, 1);
tomorrow5.set(HOUR, 5);
tomorrow5.set(MINUTE, 0);
tomorrow5.set(SECOND, 0);
tomorrow5.set(MILLISECOND, 0);
ArrayList<Hoge> hoges = Fugo.getRange(today3,getTime(), tomorrow5.getTime());
}
}
0126デフォルトの名無しさん
2006/02/27(月) 02:54:47日時の範囲を指定して、データを取得するコードです。
上記の場合、
今日の3時から明日の5時までのすべてのHogeを取得して
hogesに格納します。
0127デフォルトの名無しさん
2006/02/27(月) 02:55:010128デフォルトの名無しさん
2006/02/27(月) 03:02:57それか分・秒・ミリ秒を無視するSimpleDateFormatで文字列化して、それをもう一度parseしろ。
0129デフォルトの名無しさん
2006/02/27(月) 03:15:48レスありがとうございます!
長々とお付き合い頂きありがとうございます。
>>truncate
確認しました!少し楽にかけそうです。
ところで、いちいちCalendarが介在するために
ソースがだらだらしてしまうのではないかと思います。
もはやオブジェクト間で日付の受け渡しをする際は、
以下のように、Dateではなく、Calendarを用いるべきなのでしょうか?
fugo#getData(Date date) → fugo#getData(Calendar cal)
Dateの存在意義って、、、!?
0130デフォルトの名無しさん
2006/02/27(月) 03:21:19ゴメソ OTL せめて hage ならカツラを勧めてやるのだが
0131デフォルトの名無しさん
2006/02/27(月) 04:42:37Date の一行目を見よう。
ちなみに英語の Calendar に対応する日本語は暦である。
0132デフォルトの名無しさん
2006/02/27(月) 05:00:48あるスレッドがそのメソッドを実行中は他のスレッドは他の
synchronizedなメソッドを実行することは出来ますか?
分かりづらくてすみません。
一つのクラスの複数のsynchronizedなメソッドは同時に
ロックがかかるのかなと思ったんですがどうなんでしょうか?
0133デフォルトの名無しさん
2006/02/27(月) 05:14:21コレで理解できるはず。
http://www.y-adagio.com/public/standards/tr_javalang/8.doc.htm#55408
0134デフォルトの名無しさん
2006/02/27(月) 11:30:19ですか?randomをつかってもうまくいきません。
0135デフォルトの名無しさん
2006/02/27(月) 11:41:490136デフォルトの名無しさん
2006/02/27(月) 11:47:20(int) (random() * 700)
(int) (random() * 420) + 180
0137デフォルトの名無しさん
2006/02/27(月) 12:05:36ArrayListに追加した内容をVector配列に追加したいのですが普通にaddじゃで機内みたいなんですけど
どのようにしたらいいのでしょうか?
0138デフォルトの名無しさん
2006/02/27(月) 12:16:35・生成
ArrayList al = new ArrayList();
(なんやらかんやら)
Vector v = Vector(al); // そのまんまですな
・コピー
ArrayList al = new ArrayList();
(なんやらかんやら)
Vector v = Vector();
v.addAll(al);
ArrayListに入れてるのに、なんでVectorに入れなおすのかが意図不明。
もしかしたら、もっとすっきりしたコードになるかもよ。
0139デフォルトの名無しさん
2006/02/27(月) 12:31:12javaで作ったファイルを、exeファイル等で起動することはできませんか?
よければやり方を教えていただけませんか?
0140デフォルトの名無しさん
2006/02/27(月) 12:33:22JNI
0141デフォルトの名無しさん
2006/02/27(月) 12:33:34system("java hoge");
とか
0142デフォルトの名無しさん
2006/02/27(月) 12:45:27前スレでも似たようなのあったな。
VMあるという前提なら、exewrapとかで良いかと。
0143デフォルトの名無しさん
2006/02/27(月) 13:00:53String型の配列の、"配列の長さ"を調べる方法ってありますか?
String.length()じゃなくて、 new String[n]; のnを調べる方法です。
0144デフォルトの名無しさん
2006/02/27(月) 13:01:55System.out.println(array.length);
0145デフォルトの名無しさん
2006/02/27(月) 13:07:56Σ(・Д・;三・д・)
インデックス指定じゃなくて、配列の元からlength()かけると出るんですか。
ありがとうございます。
0146デフォルトの名無しさん
2006/02/27(月) 13:10:34配列はオブジェクト扱いだから。Stringの配列に限りませんね。
0147デフォルトの名無しさん
2006/02/27(月) 15:00:02Could not create the Java virtual machine.
と出て実行できません。
助けてください。
お願いします。
0148デフォルトの名無しさん
2006/02/27(月) 15:04:21http://www.google.co.jp/search?q=Could+not+create+the+Java+virtual+machine.&num=100&hl=ja&c2coff=1&rls=GGLD,GGLD:2005-04,GGLD:en&lr=lang_ja&sa=X&oi=lrtip8
0149147
2006/02/27(月) 15:13:24ググリましたがわからないので質問させていただきました。
よろしくお願いします。
0150デフォルトの名無しさん
2006/02/27(月) 15:19:33他にメッセージは無いのか?
0151147
2006/02/27(月) 15:29:46Could not create the Java virtual machine.
とでて実行できなくなりました。
-cp オプションつけずに実行しようとすると
Exception in thread "main" java.lang.NoClassDefFoundError:
ってでます(TT)
ググったらクラスパッチの設定が云々で〜と書いてあるのですが
何がダメなのでしょうか?
っていうか中小ITですが、一人ぼっちで早期出社研修とかありえなくないですか?
(TT)
0152デフォルトの名無しさん
2006/02/27(月) 15:32:18新卒かぁ、がんばれy
0153デフォルトの名無しさん
2006/02/27(月) 15:33:41VMというのは、なんの略ですか?
0154デフォルトの名無しさん
2006/02/27(月) 15:34:45噴いた
0155デフォルトの名無しさん
2006/02/27(月) 15:39:020156147
2006/02/27(月) 15:39:08クラスパッチではなく
クラスパスでした。
0157デフォルトの名無しさん
2006/02/27(月) 15:40:15チンコ晒したら即死
0158デフォルトの名無しさん
2006/02/27(月) 19:14:38今までのjava が走りっぱなしとか無いよな?
0159デフォルトの名無しさん
2006/02/27(月) 19:29:04私の調べたところ、このエラーが出る例で、メモリを過剰に割り当てているものが二つほど見ることができた。
一つは5分おきに実行していた場合である。
もう一つは、-Xmsに512や1024を指定した場合である。
よって、前者の状態に当てはまるのではないか、と推測したわけだが、どうだろうか。
0160デフォルトの名無しさん
2006/02/27(月) 19:33:500161デフォルトの名無しさん
2006/02/27(月) 19:42:360162デフォルトの名無しさん
2006/02/27(月) 20:01:42ローカル実行の場合にclassファイルがあるフルパスを取得するには
どうしたらよいのでしょうか。
(設定.iniを読み書きするのにパス名を知りたい)
よろしくお願いします。
0163デフォルトの名無しさん
2006/02/27(月) 20:02:540164デフォルトの名無しさん
2006/02/27(月) 20:04:35ResourceBundle
Preferences
System.getProprety("user.dir")
System.getProprety("user.home")
のどれかが君の願いをかなえてくれるでしょう。
0165デフォルトの名無しさん
2006/02/27(月) 20:11:04J2MEをお調べください。…身近な例では、厳密に組み込みと言えないかもしれませんが、携帯がJavaですよね。
0166デフォルトの名無しさん
2006/02/27(月) 20:13:27jarに固めたりするので、.classの場所=.iniファイルの場所にはならないかと。
>>164さんのいずれかの方法で対処するとか、いっそクラスローダーにまかせちゃうとか。
0167162
2006/02/27(月) 20:28:14ありがとうございます。
Win環境でですが、System.getProprety("user.dir") で意図したものが取得できました。
初心者なので前2つとかはよくわかりませんが、これから勉強していきたいと思います。
166さんもありがとう。
0168デフォルトの名無しさん
2006/02/27(月) 20:41:56サーブレットもEJBも解らない。
そもそも、Strutsっていきなりそれだけ勉強して理解できるものなの?
0169デフォルトの名無しさん
2006/02/27(月) 20:44:070170デフォルトの名無しさん
2006/02/27(月) 20:47:300171デフォルトの名無しさん
2006/02/27(月) 20:48:35とりあえず Struts に関する本を購入してください。
本は偉大です。
0172デフォルトの名無しさん
2006/02/27(月) 20:49:56本でどうにかなるのか、、、で結局Strutsの本だけである程度行けるってことかな。
とりあえず、会社の本使ってやってみるわ。
0173デフォルトの名無しさん
2006/02/27(月) 20:59:58大抵の本には、その本のターゲットになるレベルが書いてあるわけです。
それで、そこに書いてある単語が理解できなければ、その単語に関する本も
読めばいいという寸法です。
0174デフォルトの名無しさん
2006/02/27(月) 21:03:10ご親切にどうもありがとう。明日から暫く精進しますわ。
0175デフォルトの名無しさん
2006/02/27(月) 21:13:41public void keyPressed(KeyEvent e) {
switch (e.getKeyCode()) {
case KeyEvent.VK_RIGHT : px=px+vpx; if(px > xmax-pl) px=xmax-pl; break;
case KeyEvent.VK_LEFT : px=px-vpx; if(px < xmin) px=xmin; break;
}
repaint();
}
/** キイが離されたときの処理 */
public void keyReleased(KeyEvent e) { }
/** キイが押して離されたときの処理 */
public void keyTyped(KeyEvent e) { }
}
最後の}にclassまたはinterfaceがありませんとでるのですが?
0176デフォルトの名無しさん
2006/02/27(月) 21:16:580177デフォルトの名無しさん
2006/02/27(月) 21:31:02波カッコ {} の対応を疑ってみよう
0178デフォルトの名無しさん
2006/02/27(月) 22:02:10それぞれ0から順にカウントされていくのですが、これって同一VM上ということには
ならないんですか?
互いに干渉し合うようにカウントしたいのですが
--Share.java--
public class Share {
public static int val = 0;
}
--Test1.java--
public class Test1 {
public static void main(String[] args) {
while(true)
Share.val++;
}
}
--Test2.java--
public class Test2 {
public static void main(String[] args) {
while(true)
Share.val++;
}
}
0179デフォルトの名無しさん
2006/02/27(月) 22:08:08>下のファイルをそれぞれTest1, Test2で同時に起動した時に、
同時に起動って 何?
0180デフォルトの名無しさん
2006/02/27(月) 22:09:030181デフォルトの名無しさん
2006/02/27(月) 22:14:14> 同一VM上ということにはならないんですか?
なりません。
> 互いに干渉し合うようにカウントしたいのですが
スレッド (Thread) について勉強してください。
0182デフォルトの名無しさん
2006/02/27(月) 22:26:51クライアントが2つ立ち上がった場合に、一つのクラスに対して同期を取りながら
アクセスをする方法はありませんか?
■ このスレッドは過去ログ倉庫に格納されています