[表示 : 全て 最新50 1-99 101- 201- 301- 2chのread.cgiへ]
Update time : 02/26 14:22 / Filesize : 92 KB / Number-of Response : 331
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


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

★★Java質問・相談スレッド138★★



1 名前:デフォルトの名無しさん [2010/05/01(土) 12:46:59 ]
1 名前:デフォルトの名無しさん[] 投稿日:2010/03/16(火) 10:23:04
プログラミング言語Javaに関する質問スレです。
JavaScript, Ajaxの質問は、ここでは受け付けていません。
Web製作管理    ttp://pc11.2ch.net/hp/
Webプログラミング ttp://pc11.2ch.net/php/
をご利用下さい。

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

前スレッド
★★Java質問・相談スレッド137★★
pc12.2ch.net/test/read.cgi/tech/1268702584/

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

過去ログ、関連スレッド、よくある質問とその回答など、
質問をする前に、貴方が見なければならないサイトについての情報は、
下のwikiのページにまとめてあります。
ttp://www.wikiroom.com/java/


152 名前:デフォルトの名無しさん mailto:sage [2010/05/06(木) 21:39:35 ]
おまえはコンクリートクラスをベタ書きで使ってるのがお似合い。

153 名前:デフォルトの名無しさん mailto:sage [2010/05/06(木) 21:41:53 ]
>>151
意味が分からない俺は初心者です。ハイ。

154 名前:デフォルトの名無しさん mailto:sage [2010/05/06(木) 22:02:30 ]
>>151
まさにLinkedListの性質が必要となっているので、
インタフェースを指定する必要はない。

ところで、<E, T extends List<E> & Deque<E>>
とか&指定する機会ってあんまりないよねー。

155 名前:デフォルトの名無しさん mailto:sage [2010/05/06(木) 22:47:47 ]

>>151
意味がわからん。
なんでqueue使うのにlistIteratorが要るんだ?
だいたいLinkedListじゃなくてArrayDequeue使うところだろ。
listIterator使うってことはカーソル基準の相対位置にアクセスしたいのか?
pop要らんしpopしたら意味が変わってくるだろ。

156 名前:デフォルトの名無しさん mailto:sage [2010/05/06(木) 22:50:34 ]
ところでリスト更新したらConcurrentModificationでない?

157 名前:デフォルトの名無しさん mailto:sage [2010/05/06(木) 23:40:44 ]
>>155
というかさ、LinkedListだとしても普通に

Queue<String> queue = new LinkedList<String>();

queue.add("1");
queue.add("2");
queue.add("3");

String elm;
while((elm = queue.poll()) != null ){
System.out.println(elm);
}

だと思うんだ。

158 名前:デフォルトの名無しさん mailto:sage [2010/05/06(木) 23:53:08 ]
>>151
Queue<String> q = new LinkedList<String>();
q.add("test");
q.add("abc");
q.add("def");
Iterator<String> i = q.iterator();
while (i.hasNext()) {
System.out.println(i.next());
}
System.out.println("-----");
String s;
while ((s=q.poll())!=null) {
System.out.println(s);
}
とかはダメなのか?ListIteratorしか使えない呪いでも?

159 名前:157 mailto:sage [2010/05/07(金) 00:00:16 ]
>>158
Iterator<String> i = q.iterator();
while (i.hasNext()) {
System.out.println(i.next());
}

の部分は、

for(String s : queue){
System.out.println(s);
}
の方がスッキリして好きだな。

160 名前:デフォルトの名無しさん mailto:sage [2010/05/07(金) 00:04:30 ]
前の LinkedList 厨だからスルーが吉



161 名前:デフォルトの名無しさん mailto:sage [2010/05/07(金) 05:38:23 ]
え?厨?

162 名前:デフォルトの名無しさん [2010/05/07(金) 09:04:58 ]
初心者です。試験勉強用の事で、言葉の定義とかなんですが、質問させて下さい。
1)メソッドに渡した基本型のフィールド変数は、メソッド内側の操作は、
 外側の変数には反映されないでしょうか。(合っていますよね。)
2)このメソッド内の変数をローカル変数と呼ぶ、合っていますか。
3)通常、引数で渡した変数の反映を読んだ側でも反映して返すには、
 戻り値で返すのが普通でしょうか。(static変数との使い分けがよく分からない;)
4)メソッドに参照型の参照で渡した場合、
 メソッド内部のインスタンスに対する操作は反映される、っていうのが、
 当たり前だと個人的には感じるんだけども、
 わざわざ参考書とかで説明してあるのが謎です。
 例えば、
  method1(Vector v)の中で
   Vector v = new Vector();
   v.add(new String("abc");
 とやった場合には外側のvにはabcはくっつかない、
  method2(Vector v)の中で
   v.add(new String("abc");
 とかやると、くっつく、と。
 当たり前の様な気もしますし、どうなんでしょう。
5)この4)の場合と、1)の場合を比較した時の理論がよくわかりません。
 1)だと、メソッド側に引数で渡された基本型の値はコピーされて
 (多分JVMのメモリにはその値用の領域が確保されますよね)
 メソッド内の操作はそのコピーされた領域に保存された値を操作しているんだと
 思いますが、4)で参照を渡した時も、参照は別の領域にコピーされるんですよね。
 すると、4−method2の場合には、v.add〜のvで指せる参照はコピーされた
 値な様な気がして・・どうなんでしょうか。

163 名前:デフォルトの名無しさん mailto:sage [2010/05/07(金) 09:25:20 ]
>>162
1:反映されません。というよりは、関数内の変数に値がコピーされます。
2:ローカル変数と読んでもいいです。パラメータって普通言うけど。
3:staticは基本的に何度も値を書き込むのに使わないでください。
基本的に定数に使うものです。
返り(戻り)値で済むなら返り値を使ってください。
返り値で済まないなら、状態を持つクラスのインスタンスを渡して、
それに対してメソッド内部で操作を行います。
void method(VOClass vo){
 vo.setXXXX("hogehoge");
}
クラスを作るのが面倒な時は配列で渡します。
あんまりやらないほうがいいですが。
void method(Object[] o){
 o[0] = "hogehoge";
}
4.どうなんでしょう?っていわれてもね、参考書は初学者のためのものだからね。
でもオブジェクトの値渡しするような言語(C++)は、普通に引数にモノを渡すと
一般的にはオブジェクトがコピーされるんで、その理論は通用しません。
どうでもいいですが、Stringのコンストラクタは意味がないどころか
普通はコスト的に有害なので超特別な理由がない限り呼ばないでください。
あとVectorじゃなくて普通はArrayListを使います。
5.Javaには参照渡しはありません。メソッドのオブジェクトを渡した時は、
オブジェクトへの参照がコピられて値渡しされてるだけ。
オブジェクト以外の基本型(プリミティヴ)を
渡した時もその値がコピられて値渡しされてるだけ。
method2はmethod2に渡した引数(オブジェクト)の参照がコピられて
method2のvパラメータに設定されているだけ。
参照ってのは32bitのメモリ空間を表す数字ね。

164 名前:デフォルトの名無しさん mailto:sage [2010/05/07(金) 09:41:37 ]
>>163
>staticは基本的に何度も値を書き込むのに使わないでください。
>基本的に定数に使うものです。
定数のときはstatic final
クラス内で共通、唯一つな時に使えばいいのであって何度も値を書いて問題なし
FPSでの弾の数とか

165 名前:デフォルトの名無しさん mailto:sage [2010/05/07(金) 10:41:33 ]
>>164
弾の数… ビミョー。使っちゃダメってことはないけど、
あんまり正当化できるシーンは少ない。
少なくともstatic変数が現れたら「きちんと使っているかどうか」
ってのは見てしまうね。コードレビューの時とか。
だいたい「使う正当な理由はないよね。じゃやめて。」
って注意して終わる。

166 名前:デフォルトの名無しさん mailto:sage [2010/05/07(金) 17:41:40 ]
javaの公式サイトにここ数日まったく繋がらないんですが・・・

167 名前:デフォルトの名無しさん mailto:sage [2010/05/07(金) 17:51:15 ]
>>166
java.sun.com/
普通にこのサイトにつながるけど

168 名前:デフォルトの名無しさん mailto:sage [2010/05/07(金) 18:49:58 ]
>>155
それArrayDequeueじゃなくてArrayDeque

javadocにも書いてある通りdequeとdequeueでは英語的にもまったく意味が違う


話を戻して、Listに入れたい要素のオブジェクトを作るクラスを独自に作って
前後関係をもたせたので結局Iteratorを使う必要がなくなってしまった。
Chain of Responsibilityのたらい回しを参考に、となりどうしのオブジェクトがお互い参照しあう方式をとることにした。

それとは別にこういうデータ構造が必要だった。

・基本的に、Stackのように端からしかデータを取得除去する必要がないからpop()を使う。
・ひたすら端からデータを取るだけ。
・要素が空になったときのみ一気に補充する。
・感覚としては弾薬の再装填や燃料補給に近い。しかし個々の要素はまったく異なるものを含み重複を許可する。

だから削除速度が速いらしいLinkedListにした。

Dequeによるとpoll()はpollFirst()と同じ。
pop()はremoveFirst()同じ。
removeFirst()は空のときNoSushElementExceptionをthrowするpollFirst()。空のときはnullを返す。
(isEmpty()を使えば例外は気にしなくていい)
みたいだったがnullで判定するのが好きな人が多いね。

169 名前:デフォルトの名無しさん mailto:sage [2010/05/07(金) 18:55:45 ]
>>165
> >>164
> 弾の数… ビミョー。使っちゃダメってことはないけど、
> あんまり正当化できるシーンは少ない。
> 少なくともstatic変数が現れたら「きちんと使っているかどうか」
> ってのは見てしまうね。コードレビューの時とか。
> だいたい「使う正当な理由はないよね。じゃやめて。」
> って注意して終わる。

複数のインスタンスでひとつの状態を共有するときはstatic変数は重宝する。

170 名前:デフォルトの名無しさん mailto:sage [2010/05/07(金) 19:28:14 ]
だから"ビミョー"なんじゃないの?



171 名前:デフォルトの名無しさん mailto:sage [2010/05/07(金) 20:00:11 ]
書籍『Java言語仕様』によると、純粋主義者はインスタンスフィールドはすべてprivateにすべき
staticフィールドはfinalにすべきというが、そんな感じの意見か。

staticなフィールドの代替をCollectionを集約したSlngletonで代用するとかいう感じか。

172 名前:デフォルトの名無しさん [2010/05/07(金) 21:51:12 ]

入力するときに、import java.io.* とimport java.io.* って何が違うの?
JAVA初めて即効分からなくなった。 どっちのがいいとかある?

IOで解説してるサイトが多いからそっちのが簡単とか?

173 名前:デフォルトの名無しさん mailto:sage [2010/05/07(金) 21:52:56 ]
間違えた。 java.util.

174 名前:デフォルトの名無しさん mailto:sage [2010/05/07(金) 21:55:27 ]
( ゚Д゚)ポカーン

175 名前:デフォルトの名無しさん mailto:sage [2010/05/07(金) 22:01:12 ]
イギリスとフランスって何が違うの?級の質問

176 名前:デフォルトの名無しさん [2010/05/07(金) 22:09:21 ]
そうなんですか。
ではテキスト通りutilにします。

有難うございました。

177 名前:デフォルトの名無しさん mailto:sage [2010/05/07(金) 22:23:00 ]
test

178 名前:デフォルトの名無しさん mailto:sage [2010/05/07(金) 22:28:00 ]
質問させてください。
現在コンソール入力でヒットアンドブロー(数字当て)のゲームを開発中で詰まっている点があります。
まず、プログラム上で乱数にて4桁の数字をセットします。

コンソール画面上の例 :

▲回目:1234
 ⇒ Hit :● Blow :●

※▲には入力の回数カウンタを表示。
※●には入力した数字に対して正否の数字がそれぞれ入る。

@『 ▲回目: 』 と表示させた後、ユーザーが入力で4桁の数字を入力してEnterを押す。
ABufferedReaderクラスのInputStreamReaderメソッドにてSystem.Inを入力し変換させ表示
B正否判定を表示 『 ⇒ Hit :● Blow :● 』

このAとBの間で、改行させずに入力を行いたいのですがうまくいきません。
改行はBの正否の判定を表示した時にSystem.out.printlnでするだけにしたいんです。
以下のような形での画面・入力仕様が目標です。

1回目:1234 ⇒ Hit :0 Blow :4
2回目:2525 ⇒ Hit :2 Blow :2
1回目:7777 ⇒ Hit :4 Blow :0
Congratulation・・・

179 名前:デフォルトの名無しさん mailto:sage [2010/05/07(金) 22:29:48 ]
>>178
どうせBufferedReaderでreadlineとかしてんでしょ。

180 名前:デフォルトの名無しさん mailto:sage [2010/05/07(金) 22:32:18 ]
>>179

はい、その通りです。



181 名前:デフォルトの名無しさん mailto:sage [2010/05/07(金) 22:36:19 ]
>>168
おれなら、
public class Test {
public static void main(String[] args) {
Deque<String> queue = new ReloadableDeque<String>() {
@Override public void reload() {
System.out.println("リロードっ");
this.add("1");
this.add("2");
this.add("3");
} };
String elm;
while ((elm = queue.pollFirst())!=null)
System.out.println(elm);
}
}
public abstract class ReloadableDeque<E> extends ArrayDeque<E> implements Reloadable{
@Override public E pollFirst() {
E elm;
if ((elm = super.pollFirst()) == null) {
reload();
elm = super.pollFirst();
}
return elm;
}
}
public interface Reloadable { void reload(); }

だな。

182 名前:デフォルトの名無しさん mailto:sage [2010/05/07(金) 22:39:38 ]
>>180
readlineは一行分読み込みが終わるまで読み込めない。
ファイルが読み込み元なら改行文字にブチ当たるまで読み込めない。
コンソールが読み込み元なら改行してくれるまで読み込めない。
別の読み込みメソッドを使いましょう。

183 名前:182 mailto:sage [2010/05/07(金) 22:43:17 ]
と思ったけど、無理だな

184 名前:178 mailto:sage [2010/05/07(金) 22:54:36 ]
>>183

ありがとうです。
やっぱり無理なんですかねぇ
3日3晩APIの仕様書熟読とWeb中探しがしんどい・・・orz

185 名前:デフォルトの名無しさん mailto:sage [2010/05/07(金) 23:02:09 ]
>>184
一応言っておくと、
Java6使ってるならSystem.console()使おうぜ

186 名前:デフォルトの名無しさん mailto:sage [2010/05/07(金) 23:08:03 ]
>>178
こんなの使うとできる、のかも。
ttp://www.nilab.info/resource/bbslog/megabbs/1070189533.html

187 名前:デフォルトの名無しさん mailto:sage [2010/05/07(金) 23:12:35 ]
>>172
は?

java.sql.Date

java.util.Date
との違い、
これらを同時に使用するにはどうすればいいのかっていう質問ならわかるんだが。

それともimport java.io.*とimport java.io.PrintWriterとの違いやimport java.util.Collectionとimport java.util.*との違いのことをいっているのか?

188 名前:デフォルトの名無しさん mailto:sage [2010/05/07(金) 23:13:28 ]
>>184
どうしてもやりたかったらawt.keyevent
あとはlinux、cygwinとか?

189 名前:デフォルトの名無しさん mailto:sage [2010/05/07(金) 23:18:27 ]
こんなのとか。
jline.sourceforge.net/

190 名前:デフォルトの名無しさん mailto:sage [2010/05/07(金) 23:20:12 ]
>>172
www.atmarkit.co.jp/fjava/rensai4/java5eclipse10/java5eclipse10_1.html



191 名前:178 mailto:sage [2010/05/07(金) 23:24:46 ]
>>185
>>186
>>188-189
みんなありがとう。ちょっと調べてみて吟味して後の仕様拡張とあわせて
選択しようかなと思います。



192 名前:デフォルトの名無しさん mailto:sage [2010/05/07(金) 23:28:31 ]
>>181
そこまでやるか。
Template Methodに匿名クラスに抽象メソッドにインタフェース全部作ってまでやるか。
そこまでやりだすメリットってそんなにあるのか?

ジェネリックスにワイルドカード指定すればもっと凄い堅牢性が高いものが
できあがりそうだが、やりだすと苦労しそうだ。

193 名前:デフォルトの名無しさん mailto:sage [2010/05/07(金) 23:35:38 ]
>>185
C#のSystem.Console.WriteLine()かと思った。
そんなメソッドとjava.io.Consoleが追加されていたとは。
これでScannerクラスを使う必要もなくなるのか

194 名前:デフォルトの名無しさん mailto:sage [2010/05/07(金) 23:37:03 ]
Apache Commons CLIという選択肢もあり
commons.apache.org/cli/

195 名前:デフォルトの名無しさん mailto:sage [2010/05/07(金) 23:50:30 ]
>>194
cliってgetoptみたいなものでは。

196 名前:デフォルトの名無しさん [2010/05/08(土) 00:14:24 ]
超初心者増えたなぁ

197 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 00:15:32 ]
>>192
匿名クラスなのは、ReloadableDequeの中でreloadを実装すると融通効かなそうだから(部品として弱そうだから)、
匿名クラスでReloadable#reloadを実装した。それから、クラス名考えるのめんどくさかったからってのもある。

抽象クラスなのは、ReloadableDequeを使う人に、
確実にreloadをOverrideさせるため。

Reloadableをインタフェースにしたのは、なんか全然違うところでも使いそうじゃない?そんな理由。マーカ的につかえるかなぁ〜って。

198 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 00:21:25 ]
誤)Reloadableをインタフェースにしたのは、
正)Reloadableインタフェースをつくったのは、

199 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 01:26:02 ]
>>193
正直いってConsoleは微妙
というかeclipseで使えない

200 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 01:52:39 ]
うわあマジだ。ある意味正しい動きではあるが。クソだな。



201 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 01:59:33 ]
>>196
お前いっつもそれしか言わないよな。

202 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 02:00:14 ]
初心者の域を抜け出せない初心者が初心者批判してるんですね

203 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 02:43:15 ]
>>200
利点はioexceptionなげないのとpasswordだけ・・・
自分はIDE上で登録済み
br
Java ステートメント
try {
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
String line;
while((line=br.readLine())!=null){
${cursor}
}
} catch (IOException e) {
// TODO 自動生成された catch ブロック
e.printStackTrace();
}


204 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 05:14:29 ]
マルチスレッドについての質問です。
マルチコアCPUの場合、プロセスのコア割り当てはOSが管理しますよね。
Javaプロセスを複数立ち上げれば、OSが適切にプロセスごとに割り振るのは分かります。
でも、一つのJavaプロセスの中で複数スレッドを走らせた場合、
OSからは一つのJavaプロセスに見えてると思うのですが、
どうやって複数コアへ処理の割り当てを行っているのでしょうか。

205 名前:デフォルトの名無しさん [2010/05/08(土) 05:51:05 ]
/ 名前を読み込んで挨拶する(その2:nextLine()版)
import java.util.Scanner;
class HelloNextLine {
public static void main(String[] args) {
Scanner stdIn = new Scanner(System.in);
System.out.print("お名前は:");
String s = stdIn.nextLine(); // 1行分の文字列を読み込む
System.out.println("こんにちは" + s + "さん。"); // 表示
}
}
Exception in thread "main" java.lang.NoClassDefFoundError:
HelloNextline (wrong name: HelloNextLine)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(Unknown Source)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$000(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
Could not find the main class: HelloNextline. Program will exit.

上記のようになったのですが、エラーが出た時はどの部分をみればいいのでしょうか?

206 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 06:02:11 ]
HelloNextline (wrong name: HelloNextLine)

207 名前:デフォルトの名無しさん [2010/05/08(土) 07:37:04 ]
compress形式で圧縮されたファイル(拡張子 .z のファイル)を解凍したいのですが、
どうすればいいのでしょうか?

208 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 07:42:39 ]
>>204
vmのスレッディングapi実装はosネイティブのスレッディングapiを利用して行われる


209 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 08:45:03 ]
バックグラウンドで画像のサムネールを作る処理を走らせたときに MIN_PRIORITY に
設定しても CPU 100% 行ってしまい、枚数が多いと CPU 熱のフェールセーフが働いて
スリープ状態になってしまう。もうこれ以上って Timer か何かから細かい間隔で suspend
resume してやるしかないかな。

210 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 08:48:11 ]
>>207
標準 API には無いから Runtime#exec() 使ってシェル経由でやるしかない。
ネットで探せばどこかにライブラリが落ちているかもしれないが。



211 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 08:49:55 ]
>>204
今時の Java VM 実装では OS は Java のスレッドまで見えているので
スレッドを適切に CPU に割り当てられる。

212 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 09:21:50 ]
>>209
100%になるのが悪いんじゃなくて冷却が足らないだけだ
ヒートシンク掃除して扇風機でも当てとけ
ハードウェア的な話だから続けるならよそでやってくれ

213 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 09:40:28 ]
ThinkPad だからどうしようもない。役に立たないしょうもない煽りだけならよそでやってくれ。

で、200ms ごとに suspend, resume 繰り返すようにしたらとりあえず 80% ほどに落ち着いた。
TimerTask × ImageIO の閉じた処理どうしなのでデッドロックもないだろう。
少し調整の余地はあるがこれでやるか。

214 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 11:56:35 ]
>>213
PC買い換えろ

215 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 12:39:47 ]
>>213
java.sun.com/javase/ja/6/docs/ja/api/java/lang/management/ThreadMXBean.html
ここら辺使ってスレッドのCPU時間の測定してsuspend~resumeの間隔を調整すれば、CPU使用率の調整とかも出来るかも?

216 名前:207 mailto:sage [2010/05/08(土) 13:10:46 ]
>>210
標準にはないですか。ありがとうございます。
Windowsでも動かすかもしれないので、シェルはちょっと不味いです。
ライブラリ探すか、自作してみます。

217 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 13:12:52 ]
デュアルコアならCPU1つに制限するとかなしなの?

218 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 13:59:26 ]
>>211
>>208

ありがとうございます。よく分かりました。

219 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 14:36:44 ]
>>199
なんでEclipseで使えないんだ
と思ってやってみたら本当に例外を吐いて
DOSプロンプトではちゃんと動く。
さすがにEclipseのコミュニティにバグ報告されている内容だろうか。

220 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 15:26:00 ]
すんませんjavaの練習したいと思ってJDKインスコしたんですが。ユーザー変数にC:\Sun\SDK\bin入れてるけどコマンドプロントで認識しません。

いまいま始めたばっかでよく分からないんですが。
とにかくコマンドプロントで練習できるようにするにはどうすればいいんでしょうか?



221 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 15:28:40 ]
PATH %PATH%;C:\Sun\SDK\bin



222 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 15:29:56 ]
インストール先のフォルダそれで合ってるの?
ユーザー変数?環境変数のこと?

223 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 15:31:00 ]
C:\Program Files\Java\jdk1.*.*_**\bin

224 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 15:33:11 ]
SDKファイルの中の何を指定すればいいのかがよくわかりません・・・

225 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 15:33:55 ]
C:\Sun\SDK\bin

フォルダの場所自体はこれであってるんですが

226 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 15:34:53 ]
>ユーザー変数にC:\Sun\SDK\bin入れてるけど
これを具体的に説明

227 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 15:36:27 ]
環境変数のユーザー編集

変数名 PATH
変数値 C:\Sun\SDK\bin

にしてて、フォルダの位置も正しいはずなんですが
コマンドはC:\>setでやってます


228 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 15:40:30 ]
環境変数の設定変更したあとPC再起動した?

229 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 15:44:07 ]
先程しましたが結果は同じでした


230 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 16:01:36 ]
>>220
OSとJDKインストールした場所は?



231 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 16:05:09 ]
>>230
OSはCです
JDKはC:\Sun\SDKです


232 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 16:08:07 ]
環境変数の設定をsetコマンドでやってるならPC再起動したらダメじゃん

233 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 16:08:58 ]
設定はパフォーマンスとメンテナンスのシステムからやってます

234 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 16:08:59 ]
>>220は何をしたかったの?
javacが実行されないってこと?

235 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 16:09:40 ]
コマンドプロントでjavaが認識されないってことです

'java' は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチ ファイルとして認識されていません。

ってメッセージがでるんです



236 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 16:12:51 ]
>>227
環境変数の設定画面見て、一度、スペルミスが無いかチェック
コロンとセミコロンの打ち間違いや、ドットとカンマの打ち間違いとかの可能性はあるかも
問題なかったらコマンドプロンプトでpath[エンター]打つと
現在のPATHが表示されるからPATHにC:\Sun\SDK\binが含まれていることを確認

それと、C:\Sun\SDK\binのフォルダ内に、javac.exe等のファイルが存在してるかを確認
もしかするとインストール失敗してるのかも


237 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 16:15:09 ]
cmdでpathと打つとC:\Sun\SDK\binは含まれてます

binのフォルダの中にjavac.exeらしきファイルが見当たらないんですが

238 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 16:18:14 ]
うちはJDKインストールしたら>>223のように
Program Files\Jana\ のところにインストールされたけど
C:\Sun\SDK\bin って自分でフォルダ指定してインストールしたの?

239 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 16:18:54 ]
実はJDKをインスコしたつもりでJREをインスコしたとか…
んなわけないかw

240 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 16:18:58 ]
>>238
自分はそこにインストールされました



241 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 16:22:03 ]
もう一回違うJDKインスコします

242 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 16:23:47 ]
jreがインスコされちまった。これはJKDとは違うの?

243 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 16:29:39 ]
JKD?
Joshi Kousei Daisuki
女子 高生 大好き ?

244 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 16:33:59 ]
JDKもインスコされてました。
新しいファイルは
C:\Program Files\Java\jdk16.0_20\binに指定しましたが結果は同じです

他に設定するべき所があるんでしょうか・・・・?



245 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 16:41:00 ]
コマンドプロンプトでpathと入力
C:\Program Files\Java\jdk1.6.0_20\bin がちゃんと指定されているか確認
>>244 C:\Program Files\Java\jdk16.0_20\bin ← 16.0は間違いじゃね?)

C:\Program Files\Java\jdk1.6.0_20\binフォルダに
java.exeやjavac.exeが存在していることを確認


もし、java.exeやjavac.exeが存在していなかったら
可能性としては、インストール時にセキュリティソフトがjava.exeやjavac.exeをウィルスと誤検知して、削除か移動された可能性もある



246 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 16:56:47 ]
>>231
>OSはCです
WindowsC ?

247 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 17:00:38 ]
>>1

よくある質問
・「コマンドまたはファイル名が違います」
 「'javac' は、内部コマンドまたは外部コマンド、
 操作可能なプログラムまたはバッチ ファイルとして認識されていません。」

過去ログ、関連スレッド、よくある質問とその回答など、
質問をする前に、貴方が見なければならないサイトについての情報は、
下のwikiのページにまとめてあります。
ttp://www.wikiroom.com/java/


248 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 17:02:05 ]
>>246
Cドライブってことでしょ

249 名前:デフォルトの名無しさん [2010/05/08(土) 17:44:56 ]
どうした

250 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 18:38:07 ]
他クラスのpublicな定数を利用するときって定数名だけじゃダメなんですか?



251 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 18:44:44 ]
public staticな定数ならstatic importという物があってだな。

252 名前:デフォルトの名無しさん mailto:sage [2010/05/08(土) 18:50:09 ]
全部自前のクラスなら
定数だけのインターフェース作って全部のクラスにインプリメントしてる






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

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

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