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


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

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



1 名前:デフォルトの名無しさん mailto:sage [2008/02/08(金) 19:48:24 ]
プログラミング言語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質問・相談スレッド111【大歓迎】
pc11.2ch.net/test/read.cgi/tech/1200151522/

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

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

388 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 11:28:48 ]
ttp://www.google.co.jp/search?sourceid=navclient&hl=ja&ie=UTF-8&rls=GGLD,GGLD:2005-13,GGLD:ja&q=java+path+%e8%a8%ad%e5%ae%9a

389 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 11:44:22 ]
ありがとうございます。
しかしやはりどうも落としたバージョン(jdk-6-doc-ja)
だと上手くいかないようなので、申し訳ないのですが、質問を変えます。
改めてj2sdkを落としたいんですが、場所がどこなのか分かりません。
Javaの公式サイトから探しましたが、日本語に変換しても
別のページに飛ぶとまたすぐ英語になってしまうので、読めませんし訳が分かりません。
具体的なURLを直接教えて下さると大変助かります

390 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 11:45:34 ]
> jdk-6-doc-ja

コーヒー返せwww

391 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 11:47:56 ]
やはり何かおかしかったですかねw
やたら重いんで何かおかしいと思ったんですが。
でも英語だらけで分からないんですよ、ほんと。
国際派じゃないとこれから生きていけそうもないな

392 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 11:54:44 ]
doc

document

393 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 11:55:53 ]
国際派じゃなくても>>388見れば普通は何が言いたいか解る

ググれカス

394 名前:387 mailto:sage [2008/02/17(日) 11:56:23 ]
困ったな…調べてみてはいるんですが、どうもありそうにないですね。
ほんとに日本語でおkという感じなんですが…読めない。
やさしいJAVA2版に書かれていたURLも消えているようですし、
今の主流はもうj2sdkじゃないんでしょうか?

395 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 11:58:13 ]
>>389
確かにJDKとは書いてありますが、ドキュメントの方を取得されたようで。

Java SE Downloads
ttp://java.sun.com/javase/ja/6/download.html

リンク先には、JDK, J2EE, NetBeans, JRE と並んでいますが、
それぞれの説明を読む等で適切なものを選んでインストールしてください。

>>391
ま、ゆっくりやってくださいな。好きこそ物の上手なれとも言いますし。
アルファベットが読めないとか辞書を触ると目が見えなくなるとか言う人なら
更に教育を受けるか、病院に行った方が良いと思いますが。

396 名前:387 mailto:sage [2008/02/17(日) 11:58:16 ]
やっと見つかった…検索の仕方がまずかったみたいです。
お騒がせしました



397 名前:387 mailto:sage [2008/02/17(日) 12:00:23 ]
>>395
ご立派な嫌味をどうもw
知識が豊富で羨ましいです

398 名前:デフォルトの名無しさん [2008/02/17(日) 12:01:48 ]
本当ご立派な

399 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 12:06:24 ]
>>397は人格に問題ありすぎだな。
あんなに懇切丁寧なレスを嫌味だなんて。

というか、有用な情報を見いだす目が著しく欠如しているってことか。

JDK落とすだけでこれだから、この先は想像を絶するいばらの道が待っていることだろう。


400 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 12:13:34 ]
初心者相手にいちいち優位に立とうとするなよ。

401 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 12:43:04 ]
Java初心者ってか対人関係初心者だけどなw

402 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 12:47:28 ]
おまいも十分そう見えるが。

403 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 12:57:40 ]
>>402
>>387本人乙。

404 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 13:14:00 ]
そう思いたいのですね。

405 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 13:36:39 ]
そのほうが面白いし。

406 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 13:37:24 ]
そうか。



407 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 13:48:17 ]
うん。

408 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 13:53:49 ]
こ。

409 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 15:16:04 ]
ころころうんこ

410 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 15:17:25 ]
食物繊維取れ

411 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 15:39:49 ]
普通にSunのページわかりにくい

412 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 15:46:13 ]
非開発者向けではどう見てもないよな。
母さんにあそこから最新の JRE 落として入れろとはとても言えない。

413 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 16:01:35 ]
ほんと、SUNにはもっと普及率を上げるための努力をしてもらいたい。
まずはインストールをもっと簡単にして。

414 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 16:50:00 ]
>>1 のリンク死んでるな。というかサーバが停止してるようだが。

415 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 17:55:48 ]
>>412
もっともです。テンプレっぽいのに追加で。

**** 開発環境が必要の場合は ****
>>5

**** 実行環境だけが必要の場合は ****
■ Java ソフトウェアのダウンロード
ttp://www.java.com/ja/

416 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 17:59:58 ]
ム板なんだし JRE の落とし方はどうでも良くない?
かえって混乱すると思う。



417 名前:369 mailto:sage [2008/02/17(日) 18:54:29 ]
なるほど!何とか理解できました。>374 さん thx

418 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 18:59:59 ]
>>416
ところがEclipseを使うのにJDKは不要だ罠

新人研修等ではじめからEclipseでスタートする場合、
JDKを入れたことがないという人も出てきそうなご時世だね。

419 名前:デフォルトの名無しさん [2008/02/17(日) 20:16:41 ]
Arrays.sortを使って数値の配列をソートしたんですが
これってソート後の配列の添え字情報とかも取得できないんですか??

たとえば
ソート前
a[0]= 2
a[1]= 1
a[2]= 3
 ↓ ソート
ソート後
a[1]= 1
a[0]= 2
a[2]= 3

の[1],[0],[2]の情報を取得したいですー!何か方法ありませんかー!

420 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 20:25:55 ]
その添え字情報を何に使うんだ?
ただ単に安定なソートがしたい、ってだけなら、

List<Integer> lst = Arrays.asList(2, 1, 3);
Collections.sort(lst);

でOKじゃない?

421 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 20:35:50 ]
class Hoge { public int ソート前のインデックス; public int 値; }
こういうラッパーをかぶせてからソートすればいいんじゃね

422 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 21:09:07 ]
>>419
一番高速なのは、quicksortのコードを自分でいじって実装することかな。
値をスワップするところで、添え字もスワップすればいい

423 名前:419 [2008/02/17(日) 21:09:52 ]
>>420,421
返答ありがとうございます

hoge[0] = 3423
hoge[1] = 4123
hoge[2] = 4142

a[0]= 2
a[1]= 1
a[2]= 3

みたいにhogeにID、aに値を保存していて、それぞれ添え字で=を確認してたんです
(つまり添え字が0ならID;3423→2みたいにです)
あとaには同じ値がたくさんはいっているのでソート後に値で確認もできないんです。。。

もしかして他にいい保存方法あったりしますかね^^;

424 名前:デフォルトの名無しさん [2008/02/17(日) 21:10:48 ]
>>422
やっぱ自分で実装するのが一番早いですかね?。。

425 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 21:16:03 ]
クラス使えよ
class IDAndValue { int id; int value; }
ソートはComparatorを自分で実装すればいいだけ

426 名前:デフォルトの名無しさん [2008/02/17(日) 21:21:10 ]
>>425
ありがとうございます
やってみます!



427 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 21:27:25 ]
Comparableでもいいよ

428 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 22:31:34 ]
ファイルを後ろから読み込むにはどうすればいいのでしょうか?
BufferedReaderのreadLineのように一行ずつ読み込めるものがあると良いのですが、、、

429 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 22:45:34 ]
そんなに大きくないならListに全部読み込んで、後ろから取り出せば?

430 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 22:45:43 ]
多分だけど、どうしてそれがしたいかを説明すると
よりハッピーになると思う

431 名前:デフォルトの名無しさん mailto:sage [2008/02/17(日) 23:05:38 ]
>>378
>>361のページに↓のようにいつ統計を採ったのかを書いてある
Millward Brown survey, conducted December 2007.
See Methodology Section for details on the Millward Brown study.

432 名前:デフォルトの名無しさん [2008/02/17(日) 23:24:14 ]
public ShortTimer t;
t.start();
これでタイマーが開始しましたが、再びここで
t.start();
すると実行時エラーになります。
そこで t が t.start(); されているかを知る方法を教えてください。

433 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 00:01:19 ]
>>432
>>2 Good Luck!

434 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 01:07:55 ]
428です。
後ろに行くほど新しい情報が書いてあるログファイルなので後ろから読み込めたらいいなと。
容量はそれほど大きくもないのですが、、、

435 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 02:22:54 ]
>>434
それは tail コマンドと同じ機能っぽい印象を受けました。

そして、あまりに便利なコマンドだから、かっこいいことをしてるハズだ
と、そう思って検索してみました。すると…

勘違いしていました。tail.c
ttp://programamemo2.blogspot.com/2008/02/tailc.html

バッファサイズ決めて、(最初はファイル長を割って余った分だけ)ファイルから読み込んで
改行文字数を数えて、必要数たまったら、そのバイトから最後まで出力っぽい感じ。
ファイルが更新された時の処理も、そのブログ記事にあるとおりで、なんともはや…

436 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 02:36:16 ]
んなもん tail の動き見てりゃ 1 秒ごとに監視してるだけくらい想像付くべ。
ファイルのケツから数kB〜数十kB ごとに読み込んで行数カウント、必要行数に
達したらそこから開始位置まで出力、達しなければその前のブロックを評価が定番。



437 名前:デフォルトの名無しさん [2008/02/18(月) 08:34:15 ]
class Test {
int sum(int[] date){
int r=0;
int i;
for(i=0; i<date.length; i++)
r += date[i];
return r;
}
}

public class sample34{
public static void main(String[] args) {
Test test =new Test();
int[] date1 = new int[]{1,2,3,4,5};
int result;
result=test.sum(date1);
System.out.println(result);
}
}
これで15が返ってくる理由教えてください。
私の考えはsum(int[] date)ここに{1,2,3,4,5}を入れるわけですよね?
でdate.lengthとなっているから、その個数5だと思うんですけど
すいません意味不明で・・・

438 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 08:54:32 ]
配列のインデックスは0から始まる

439 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 09:21:12 ]
>>437
配列型の変数 date の length は int型で、この場合の値は 5 です。よって
L5: i が 5 未満の場合、L6 へ進む。そうでなければL7へ進む。
L6: r と date[i] を加算し、r にその結果を入れる。(i に 1 加える。L5へ進む。)
L7: r を返す。
// 何をしてるかと言えば、配列の各要素の値を加算した値を返してるだけ。

よって、Test のインスタンスメソッド sum(int[]) に
date1 を入れて実行すると 15 が返される。
// 各要素の値、1 から 5 までを加算した値

後は手元の本などで for文の仕組みを調べ直してください。

蛇足。制御文 if, else, for, while, do-while の "{ }" を省略した場合、
直後の1文が制御対象になりますが、見易さや事故防止等の為、
省略しないことをお勧めします。

440 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 09:26:03 ]
data.length
  Σ data[i]
  i=0

441 名前:デフォルトの名無しさん [2008/02/18(月) 09:36:09 ]
ありがとうございます。分かりました!!!
これからも勉強頑張っていきます!

442 名前:デフォルトの名無しさん [2008/02/18(月) 13:40:38 ]
TreeMapでデータをソートしたのですが
Entryで得たvalueとkeyをStringにキャストしてInteger.parseIntをつかってから
int型にしてint型変数に格納しようとするとkeyだけキャストできないというエラーが出てしまいます

原因がわかりませんー・・・

443 名前:デフォルトの名無しさん [2008/02/18(月) 14:01:46 ]
OSのタイムゾーン設定では日本時間なのに
JavaのデフォルトタイムゾーンがGMTになっています。
デフォルトのタイムゾーンってどこをいじれば変更できるのでしょうか?
環境はJava1.6.0_04 Windows 2003 です。

444 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 14:06:03 ]
>>442
コードを見せてみれ
エラーメッセージも正確に

445 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 14:07:15 ]
>>442
キャストできないエラーというのは、「Stringにキャストして」の部分なのでしょうか?
1.5以降ならジェネリクスをお勧めします。

原因としては TreeMap に格納する際に何型を使ったのか、が怪しいところです。

446 名前:442 [2008/02/18(月) 14:14:34 ]
public class Sort {
public Sortdata sort(Difference dif){
int i = 0;
String change_sm = null;
String change_play = null;
Sortdata data = new Sortdata();
NumericComparator c = new NumericComparator();
TreeMap map = new TreeMap(c);
while(i < dif.number){
change_sm = Integer.toString(dif.sm[i]);
map.put(new Integer(dif.replay[i]), change_sm);
i++;
}
Set s = map.entrySet();
i = 0;
Iterator it=s.iterator();
while(it.hasNext()){
Map.Entry e = (Map.Entry) it.next();
change_sm = (String) e.getValue();
change_play =(String) e.getKey(); //getKeyだけキャストがおかしいというエラーがでる
data.sm[i] = Integer.parseInt(change_sm);
data.replay[i] = Integer.parseInt(change_play);
System.out.println(data.sm[i]+":"+data.replay[i]);
i++;
}
return data; }
class NumericComparator implements Comparator {
public int compare(Object o1, Object o2) {
int result=((Integer)o1).compareTo((Integer)o2);
if(result==0) result=1;
return result;
} } }



447 名前:442 [2008/02/18(月) 14:16:22 ]
すいません初心者でコピペで作ったようなプログラムなのでどこを載せればいいのかわかりませんでしたTT
エラーは

Exception in thread "main" java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.String
at Sort.sort(Sort.java:34)

行は書き込むときに編集してしまったので違うかもです
change_play =(String) e.getKey(); //getKeyだけキャストがおかしいというエラーがでる
とりあえず↑を指してます

448 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 14:21:41 ]
そらだめだよ。
Integerで格納したんだから、Stringにはキャスト出来ない。

449 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 14:24:24 ]
>>446
Mapにputするときはkeyの部分をInteger型で入れている。
Integer型なのにString型へキャストしようとするからエラーになる。

450 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 14:31:02 ]
>>446
重ねてJ2SE1.5(5.0)以降ならジェネリクスをお勧めします。
ついでに autoboxing も機能するので更に見やすくなります。

> map.put(new Integer(dif.replay[i]), change_sm);
key が Integer, value が String。そりゃ key でキャストエラーになります。

以下蛇足。
・変数は使う直前で宣言すること。
・元が int型なら Integer だけにしておけば良いのに。
・初期化、比較、更新があるなら while ではなく for を使うように。
・ついでに初期化部で int i = 0; で宣言すること。(添え字の使いまわしは厳禁)

451 名前:デフォルトの名無しさん [2008/02/18(月) 14:36:27 ]
みなさんありがとうございます!
ジェネリスクも試してみようと思います><

452 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 14:37:10 ]
>>443
set | find "TZ"
結果はカラ?

453 名前:443 mailto:sage [2008/02/18(月) 14:45:46 ]
>>452
レスありがとうございます。
TZ=JST
とでます。

454 名前:デフォルトの名無しさん [2008/02/18(月) 15:37:48 ]
ネイティブインターフェイスの使い方を教えてください

455 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 15:42:34 ]
>ネイティブインターフェイス
JNIのこと?

456 名前:デフォルトの名無しさん [2008/02/18(月) 15:55:04 ]
はい



457 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 15:59:29 ]
>>454
これでも読んどけ
java.sun.com/j2se/1.5.0/ja/docs/ja/guide/jni/spec/jniTOC.html

458 名前:デフォルトの名無しさん [2008/02/18(月) 16:05:55 ]
dllの作り方教えてください

459 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 16:10:42 ]
それはJavaじゃないよ

460 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 16:11:22 ]
わからない問題があったので教えてください

public class Test extends Thread{
private int i, j;
public synchronized void run(){
for(int count = 0; count < 2; count++){
i++; j++;
System.out.print("i=" + i + " : j=" + j + " ");
}
}

public static void main(String[] args){
new Test().start();
new Test().start();
}
}

A. i=1:j=1 i=1:j=1 i=2:j=2 i=2:j=2
B. i=1:j=1 i=2:j=2 i=1:j=1 i=2:j=2
C. iとjの値は出力されるが表示順は一意ではない

Testクラスは二つでき、runメソッドはそれぞれで動くため
AにもBにもなりえる(実際は何回やってもBになるが)と思ってCにしたんですけど答えはBでした
Aにはならないんでしょうか?

解説には「run()メソッドをsynchronized指定しているためrun()メソッド実行中は
他に制御が移ることなく処理されます」とあります



461 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 16:20:05 ]
答はCであってます。
printの後ろに、
try { Thread.sleep(1000); } catch (InterruptedException e) {}
を追加して実行してみてください。

462 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 16:29:21 ]
たぶんスレッドでの(i=1:j=1 i=2:j=2)の組の出力は保証されるということなのだろうけど、
どっちのスレッドかわからんよな、これ。
Aは間違い。でも、結果的に出力は必ずBになるなw

463 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 16:31:40 ]
えー、保証すらされないだろ

464 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 16:33:05 ]
>>461-462
ありがとうございます
安心しました

465 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 16:51:26 ]
フルパスからファイル名を取り出す関数とかあれば
教えてください。
WinAPIのGetFullPathName()のようなやつがあれば・・・

466 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 16:53:02 ]
File#getName()



467 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 16:54:52 ]
>>466
快速的回答謝謝。

468 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 16:58:18 ]
wikiのリンク切れてる・・・
だれか原因わかる人います?

469 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 17:05:24 ]
リンク切れてるっつーか、ホスティングしてる wikiroom が
最近落ちまくり & ほったらかし & メール送っても無応答状態らしい。

470 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 17:07:32 ]
>>469レスサンクス!

まじか…javacの設定方法探そうと思ったのに…

471 名前:デフォルトの名無しさん [2008/02/18(月) 18:15:45 ]
lass Test {
int m;
int n;

Test(int i,int j) {
m=i;
n=j;
}

Test(Test testC) {
m= testC.m;
n= testC.n;
}

int sum(int i,int j){
return m + n + i + j;
}
}
public class sample38{
public static void main(String[] args);
Test test = new Test(10, 5);
test.m++;
test.n++;
Test test2 = new Test(test);
System.out.println(test2.sum(2, 3));
}
}
このプログラムの中の
Test(Test testC) {
m= testC.m;
n= testC.n;
がある意味がよくわかりません。テキストを読んでいてもよく分からないので教えてください。

472 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 18:20:34 ]
いわゆるコピーコンストラクタってやつ

473 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 18:25:06 ]
コンストラクタのオーバーロードじゃね

474 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 18:27:44 ]
Java 的には clone() だな。

475 名前:デフォルトの名無しさん [2008/02/18(月) 18:33:51 ]
JNIはどうすんの

476 名前:デフォルトの名無しさん [2008/02/18(月) 18:35:42 ]
>>471です。処理はどんな手順で進んでいくのですか?



477 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 18:58:35 ]
どこまでわかるのか書け

478 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 19:08:06 ]
オブジェクトはフィールド、メソッド、クラス、を持つとよく聞きますが、実際にオブジェクトを生成する際、フィールド以外の物も新たに作るのでしょうか?
それとも状態を持つのはフィールドだけなのでメモリにはフィールドのみを生成するのでしょうか?

479 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 19:13:44 ]
フィールドのみと考えていい

480 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 19:13:48 ]
クラスとメソッドはほぼ一体。最初にクラスを参照したときにメモリ上に現れ static 宣言
されたフィールドとメソッドを持つ。非 static フィールドはインスタンスごとに作成される。

481 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 19:16:33 ]
>>479,>>480
素早く分かりやすい回答ありがとうございました。
ずっと気になっていたことだったので本当にすっきりしました。

482 名前:デフォルトの名無しさん [2008/02/18(月) 19:23:08 ]
>>477
Test test = new Test(10,5);
これを上の
Test(int i,int j) {
m=i;
n=j;
に入れて、つぎにmとnに1を足すまでは分かる。

Test(Test testC) {
m= testC.m;
n= testC.n;
これどんな処理してるん?


483 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 19:28:09 ]
testCに渡された既存のTestオブジェクトの中身を
新しく作ろうとしてるTestオブジェクトにコピーしてる

484 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 19:35:35 ]
Javaのコントロールパネルの出し方教えてくれ
どこにもなくて困ってる

485 名前:デフォルトの名無しさん [2008/02/18(月) 19:36:35 ]
test

486 名前:デフォルトの名無しさん [2008/02/18(月) 19:37:48 ]
どういうときにコピーコンストラクタは使うの?



487 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 20:09:37 ]
オブジェクトをコピーしたいとき

488 名前:デフォルトの名無しさん mailto:sage [2008/02/18(月) 20:14:13 ]
必要なクラスやライブラリが増えるとクラスパスの設定が面倒になりますが、
自分が書いたソースのクラスファイルを格納してるフォルダに全て突っ込んじゃえばいいと思うんですが、
この考え方は間違ってますか?
例えばDBのJDBCドライバを使うにはCLASSPASSに追加するかtomcatのcommon/binに入れたりするけど
前者の場合、無関係なプログラムにも影響を及ぼすし、後者の場合はコンテナを変えたらまた作業が増える。
自分が作ってるサーブレットのクラスファイルを保存してる場所にJDBCドライバを入れちゃえば全て解決な気がする。






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

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

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