- 1 名前:仕様書無しさん mailto:sage [03/09/24 05:33]
- このスレッドは、Sun認定Java資格の
SJC-P Sun Certified Programmer for the JAVA 2 Platform 1.4 Sun Certified Programmer for the JAVA 2 Platform 1.2 に関して、具体的な『実用情報』を集めるために立てました。 過去スレ・関連スレ>>2 受験手続き・チケット情報>>3 関連書籍 >>4 リンクなど >>5 ▼▼▼▼▼▼▼▼▼▼ ↓注目 ▼▼▼▼▼▼▼▼▼▼ このスレッドでは、 次の書き込みや議論は『 不要 』です。 「資格なんて意味ねーよ」 「実務経験関係なしにiStudyシコシコやってればとれる資格に意味ねぇ」 「3日で取れないやつはクソ」etc スレッドを荒らすだけの発言はこっち↓でやってください。 うひょ。 pc.2ch.net/test/read.cgi/prog/1062656417/ pc.2ch.net/test/read.cgi/prog/1042882513/ ▲▲▲▲▲▲▲▲▲▲ ↑注目 ▲▲▲▲▲▲▲▲▲▲ 前向きに、 SJC-Pに関する実用情報を議論するための スレッドにしましょう。 資格、万歳! 資格、マンセー!
- 319 名前:仕様書無しさん mailto:sage [03/12/30 12:36]
- 【Java経験】なし
【言語経験】VBを約1年 【試験番号】310-035(SJC-P) 【 正解数 】50/61 = 81% 【受験回数】初めて 【勉強期間】約3ケ月 【使用教材】独習Java、青本、日経BP 【出題内容】316さんと同じようにスレッドの問題が最初から10問 ほど連続で出て焦りました。あとはまんべんなく。 日経BPに載っているのと同じような問題が結構ありました。 【感想など】Javaはまったくの未経験だったので青本を読むのが大変でした。 3〜4周は読んだと思います。試験を受ける1週間前まで青本しか やっていなかったのですが、このスレを見て日経BPを買いました。 同じような問題が出てびっくりでした。青本は練習問題、模擬試験の答えの解説が 丁寧でよかったんですが、ガーベジコレクションとスレッドの内容が不十分で、 そこを日経BPの本でカバーしました。日経は練習問題の解説がクソでしたが。 Collectionは覚えることが多いわりに問題数が少ないので捨てました。
- 320 名前:仕様書無しさん [03/12/30 22:34]
- プロメトリックで受ける場合、
貸してくれたホワイトボードに書いた字を消すものはあるんですか? 消せない場合、ボードいっぱいで書くスペースがなくなった場合、 予備のボードはくれますか?
- 321 名前:仕様書無しさん [03/12/30 22:48]
- >>320
水性ペンだけど、消せません。(水でぬれた雑巾ならば消えるかな?) ツバをつけてこすれば消えますが、指が汚れます。 不足しそうだったら受付の人に言えば、2枚もらえます。(いっぱいあるので) で、裏、表で4枚分。 でも、そんなに使わないよ。
- 322 名前:仕様書無しさん [04/01/01 16:30]
- ソフトバンク社またまたミス発見!!
p197の適切なequlas× equals○ ミスが多すぎて信用できなくなってきた。
- 323 名前:仕様書無しさん [04/01/01 16:35]
- >>322
試験でもミスがあるから、気にするな。 ミスを見つけれるようになるのも実力のうち。
- 324 名前:仕様書無しさん [04/01/01 16:47]
- でも実際に試験を受けてこれには困ったよ
int array1[] == {0, 1, 2, 3} int array2[] = array1[]; array2[1] = 5; Syste.out.println(array1[1]); 出力結果はどれかという問題なんだけど 1行目でセミコロンはないわ、イコールが誤植なのかも わからないわで。とりあえずコンパイルエラーを選んだけど 正解か不正解かもわからないまま。
- 325 名前:仕様書無しさん [04/01/01 16:48]
- × Syste.out.println(array1[1]);
○ System.out.println(array1[1]);
- 326 名前:仕様書無しさん [04/01/01 16:50]
- >>323
お返事ありがとー 試験でもミスがあるとは・・・
- 327 名前:仕様書無しさん [04/01/01 16:57]
- >>324
コンパイルエラーでいいと思いますよ。
- 328 名前:仕様書無しさん [04/01/02 00:38]
- ソフトバンクシルバーを
完璧に出きれば、合格は、できると思います。 実践では〜。解らんさ、 実践は、紫や、青がやくだつかもね。
- 329 名前:仕様書無しさん [04/01/02 18:15]
- 328さん参考になりました。
完璧になるまでがんばります。
- 330 名前:仕様書無しさん mailto:sage [04/01/04 10:04]
- ソフトバンクシルバー本完璧にやったら55問以上正解で合格できると思うが・・・
- 331 名前:仕様書無しさん [04/01/04 13:11]
- >>330
ソフトバンクシルバーでそんなにとれるとは・・・ 恐るべしソフトバンク社
- 332 名前:仕様書無しさん mailto:sage [04/01/05 07:36]
- ソフトバンク本は実際の試験より簡単なんでしょ?
- 333 名前:仕様書無しさん mailto:sage [04/01/06 21:35]
- ソフトバンクの方が簡単、
ソフトバンクの問題を2,3問合わせたような問題。 でも、本質を理解すれば問題ない。
- 334 名前:仕様書無しさん mailto:sage [04/01/07 01:13]
- >>333
……本質を理解すればどの問題集でも高得点は取れると思われるが。
- 335 名前:仕様書無しさん [04/01/09 14:19]
- iStudyで5割と6割だった。
- 336 名前:仕様書無しさん mailto:sage [04/01/09 23:33]
- 先月無事SJCP合格したのですが、次に何を勉強し、どういった道のりをたどれば
最終的にナイスなJava使いになれるのか分からなくて困ってます。 どんな仕事をするのかにもよるのでしょうが、 もし良かったら皆さんのSJCP取得後にたどった道のりを聞かせて下さい。 (ちなみに自分は今派遣で某N○Cにて企業向け基幹システム開発部の 下っ端の仕事をやってます。)
- 337 名前:仕様書無しさん [04/01/09 23:55]
- ナイスなJava使い?
はて? それよりも、派遣は止めなあかんな。w 話はそれからだ。
- 338 名前:仕様書無しさん mailto:sage [04/01/10 03:08]
- >>336
とりあえず、適当にServlet関係のお仕事でもしてればいいんじゃないかと;-)
- 339 名前:仕様書無しさん [04/01/11 21:39]
- class Sample
{ public static void main(String[] args){ int a = 128; byte b = (byte)a; System.out.println(b); } } なぜコンパイルエラーでなく 「 -128 」 が出力されるのですか? _| ̄|○
- 340 名前:仕様書無しさん mailto:sage [04/01/11 22:08]
- 想像で悪いけど
128 2しんすうにしたら 1000 0000 でbyetは8ビットだから2^7しかあらわせない 最後の8ビット目は +-記号ビットだから 2の補数計算して-128となると想像するがどうよ?
- 341 名前:仕様書無しさん [04/01/11 22:14]
- >>339
きちんとbyte型にキャストされているので、コンパイルエラーにはなりません。 なぜ、「-128」になるかは、以下の理由 int型は、32bitであり、128 を 2進数 で表すと、以下になる。 00000000000000000000000010000000 byte型は、8bitなので、byte型にキャストすると上位24ビットを削ると以下になる。 10000000 byte型は、符号付きなので、一番左のビットは、符号を表す(0 なら プラス、1 なら マイナス)。 よって、マイナスである。 また、マイナスの値は、2の補数で表されるので、「-128」となる。 2の補数については、googleって下さい。
- 342 名前:339 [04/01/11 22:18]
- >>340-341
なるほど!!理解出来ました!! ありがとうございました!!
- 343 名前:仕様書無しさん mailto:sage [04/01/12 01:40]
- プログラムのプの字もわからない僕が独学で出来るじゃばの本おせーて
- 344 名前:仕様書無しさん mailto:sage [04/01/12 04:24]
- >>343
さ、最初の方を読め!>>4とか>>5とか等。後は立ち読みして、自分に合っていそーな者を選ぼう!!
- 345 名前:仕様書無しさん mailto:sage [04/01/12 11:14]
- うーむ ここのスレずいぶん 親切だな。俺もSJC-Pとろっかな。
iStudyと青本用意したし 参戦します。よろしくです。
- 346 名前:仕様書無しさん [04/01/12 11:21]
- >>343
そうだね。 なお、やさしいJavaのURLはまちがっているな。 ttp://www.amazon.co.jp/exec/obidos/ASIN/4797319062/ 独習Javaは、2冊目の本だね。 一通り、おわったら、iアプリを作るのはどうだろう? あれもとりあえずJavaだからね。 世の中、奇特な人がいるもんでJavaアプリの解説をしている個人サイトもあるよ。 ttp://www.geocities.co.jp/SiliconValley-Bay/2972/ Httpの通信もできて、クライアント・サーバーシステムのクライアント側に使える。 いま、仕事でやっている。3日目だが。 カメラAPI、赤外線リモートコントロールAPIなど興味深いものもある。 転職組で、SJC-Pを取った人も、お奨めかな?クラス数も多くならないし。 JavaのオリジナルAPLを、その場でアピールできる。 結構、C/SのC側として使う例は多いみたい。 また、iアプリ、ゲームプログラミングの書籍は、いっぱい売っている。 そこら辺からアイディアをもらって、拡張していく。 今の端末は、プログラム領域の制限がゆるくなっているから、 泣く泣く削ったという機能を実装できる環境にある。
- 347 名前:346 [04/01/12 11:29]
- 別にiアプリでなくとも、可。
Vアプリ(J-フォン Javaアプリ)も同じこと。 好きな奴を使え。
- 348 名前:仕様書無しさん mailto:sage [04/01/12 16:54]
- class test {
public static void main(String args[]) { int x[] = {1,2,3,4,5}; disp(x); change(x); disp(x); } public static void change(int x[]) { int y[] = {11,22,33,44,55}; x = y; } public static void disp(int x[]) { for(int i=0; i<x.length; i++) System.out.print(x[i] + " "); System.out.println(""); } } これを動かすと 1 2 3 4 5 1 2 3 4 5 になりますが、 changeメソッドの x=y; で yの参照をxに代入しているのでは無いのですか? 配列なので参照を変更していると思うのですが… 全然違います? 厨房レベルの質問ですいません。
- 349 名前:仕様書無しさん [04/01/12 17:13]
- 変数の受け渡しは値渡しだから
呼び出し元への影響はないよ
- 350 名前:仕様書無しさん [04/01/12 17:17]
- >>348
「x = y」で、y の参照を x に代入しているが、 main にそれを戻してないから、main の x は、{1,2,3,4,5} の参照のままだと思う。
- 351 名前:仕様書無しさん [04/01/12 18:14]
- それって、試験に出るポイントそのままやんけ。
試験対策本を買って、解説読めば理解できるはず。 その解説が判らんってことだろ? 説明受けても理解できるか疑問...。
- 352 名前:仕様書無しさん [04/01/13 11:54]
- この問題って
xやyが配列出なくて普通のintだったら 1 11 と表示されるんですか?
- 353 名前:352 [04/01/13 11:55]
- 配列出→配列で
- 354 名前:仕様書無しさん [04/01/13 15:56]
- JDK1.5がリリースされたらSJC-Pの内容が難しくなるから取得するなら今の内かな?
追加される仕様を覚えてSJCP1.5が始まってから取得した方が良いような気もするけど。 とにかく今年Javaが新たな進化をしようとしてるから、これから勉強を始める人は気に留めてた方がいい。 ま、
- 355 名前:仕様書無しさん [04/01/13 18:31]
- >>352
実行環境はないんですか? 人任せでなく、実際にコンパイルして、実行してみるのが一番だと 思いますが。。。
- 356 名前:仕様書無しさん [04/01/13 18:43]
- >>352
参照型変数とint等のプリミティブ型変数は実データの持ち方が違うのを理解したほうがいいかも。 ほとんどの対策本はこの辺が判ってることが前提だから、普通のJava教本を読んだ方が 理解しやすいと思うよ。
- 357 名前:仕様書無しさん [04/01/13 20:52]
- >>354
アップグレード試験が始まるってことだよ。w コードネーム、「Tiger」。 =機械翻訳= ttp://www.excite.co.jp/world/url/body/?wb_url=java.sun.com/developer/technicalArticles/RoadMaps/J2SE_1.5/j2se_1_5.html&wb_lp=ENJA
- 358 名前:仕様書無しさん [04/01/13 20:57]
- ざっと見た感じ、template(Meta Data)?
ttp://java.sun.com/features/2003/05/bloch_qa.html
- 359 名前:仕様書無しさん mailto:sage [04/01/14 00:15]
- >>348
changeに渡している、int x[ ] は、 ただのコピーです。 コピーに値を代入しても、それをmainに返していないので、 mainにあるオリジナルは、変化無し。 解るかしら? 例えば int x = 1; int y = x; y = 2; 当然 xは、1でしょ。 もちろん、 x = y; を付け足したら、 xは、2でしょ? ああ、説明できない(゜дÅ )ソフトバンクシルバーに書いてあるT_T見て!
- 360 名前:仕様書無しさん [04/01/14 02:17]
- xの値を変えたければ、
this.x={11,22,33,44,55}; をしろということですか?
- 361 名前:仕様書無しさん [04/01/14 02:18]
- とおもったらxはmainのローカル変数だった。
んじゃどうやって変えるんだ???
- 362 名前:仕様書無しさん mailto:sage [04/01/14 03:35]
- mainのxを変えたければ単純にchangeメソッドをvoidではなく
int[]を戻すように変更すればいいんでない? public static void change(int x[]) { int y[] = {11,22,33,44,55}; return y; } で,mainメソッド内で,x = change(x); これじゃ,ダメ? それか,xをクラス変数にしてしまうとか。
- 363 名前:仕様書無しさん mailto:sage [04/01/14 03:39]
- ↑
この場合,changeメソッドの引数意味ないですね。 スマソ
- 364 名前:仕様書無しさん mailto:sage [04/01/14 03:44]
- ↑
うーむ,何か意味のないコードですね。
- 365 名前:仕様書無しさん [04/01/14 11:01]
- 根本的な原因は、、、
public static void change(int x[]) { int y[] = {11,22,33,44,55}; x = y; //ここ } 『//ここ』と書いてあるところでyの値を変えた時、当然xの値も変わる。 この辺が>>348君を困らせる原因となっているのだろうから、 >>359さんの説明では納得できないだろうね。
- 366 名前:仕様書無しさん mailto:sage [04/01/14 11:39]
- a
- 367 名前:仕様書無しさん mailto:sage [04/01/14 11:47]
- class test {
public static void main(String args[]) { int x[] = {1,2,3,4,5}; disp(x); ・・・@ change(x); disp(x); } public static void change(int x[]) { int y[] = {11,22,33,44,55}; x = y; ・・・A } public static void disp(int x[]) { for(int i=0; i<x.length; i++) System.out.print(x[i] + " "); System.out.println(""); } } @のx とAのxは異なるものです。 @のxは、mainメソッド内がスコープで、int型配列オブジェクトを参照しています。 Aのxは、changeメソッド内がスコープで、同じくint型配列オブジェクトを参照しています。 つづく
- 368 名前:仕様書無しさん mailto:sage [04/01/14 11:48]
- つづき
引数をchangeメソッドに渡すことで、Aのxに@のxを代入したことになりますが、 これは、参照先({1, 2, 3, 4, 5}配列)を渡したことになります。 つまり、changeメソッド開始時点では、 @のxと、Aのxが同じ配列オブジェクトを参照していると言うことです。 しかし、changeメソッド内の x = y; によって、 Aのxは、yの配列オブジェクト({11, 22, 33, 44, 55}配列)を参照することになります。 このとき、Aの参照しているオブジェクトを書き換えるのではなく、 Aの参照先を書き換えることに注意してください。 この結果、@のxの参照するオブジェクトは初期状態のまま保持されます。 こんな感じでいかがでしょう?
- 369 名前:仕様書無しさん [04/01/14 12:05]
- >>368
すばらしくわかりやすい!!!。 下手な参考書より理解できました。
- 370 名前:仕様書無しさん mailto:sage [04/01/14 12:57]
- 釣れまっか?
- 371 名前:仕様書無しさん mailto:age [04/01/14 23:40]
- 厨房で、すいません。
教えて君で、申し訳ない。 javaを始める言語環境の作り方を教えて! 自分なりに、 @JDKをダウンロード(1.4.2_03)。 Aパスを設定。win98なので、 「アクセサリ」「メモ帳」でファイルの種類を「すべてのファイル」にして、 Cドライブの「autoexec.bat」を開き、「c¥j2sdk1.4.0_03\bin;」と入力。 ていうか、set path=c:\jadkをインストールしたディレクトリ名¥bin; 」? 関連付けってどうやるんですか? フォルダを作ってない? 申し訳ないんですが、教えて下さい。
- 372 名前:仕様書無しさん mailto:sage [04/01/14 23:49]
- うーむ。初心者は何か本買った方がいいかと。。
Win98はめんどいんだよなぁ。。。
- 373 名前:371 mailto:age [04/01/14 23:58]
- >>372
レス、どうもです 本、見ながら設定してるんですけど(;;) 自分なりに、ms-dosプロントに入力して見ましたが、 コマンドが違いかディレクトリが違うていうメッセージが! 教えて下さい。
- 374 名前:仕様書無しさん [04/01/15 00:13]
- 確かにWin98はダメだね。
今の世の中、Win2K以降は必須。 あと、クレクレ厨房対策用に、 >>5 に有名どころの入門書 >>6 に有名どころのFAQサイトがある。 すまんが、そっちに逝ってくれ。 あと、オレが参考となった資料はこちら。 ttp://works.nri.co.jp/solution/index4-2.html Eclipse,Jakarta TomcatなどWebアプリケーションサーバーの開発環境 構築が出来る。 これらのサイトに逝って、一通り理解が出来れば職業PG 2〜3年目と同レベルになれると思う。 まあ、がんがれや。
- 375 名前:371 mailto:age [04/01/15 00:18]
- >>374
サンキュー。
- 376 名前:仕様書無しさん mailto:sage [04/01/15 20:12]
- アマゾンの日経のレビューに
『書店で見たとき、我が目を疑った。「さっき出た問題が書いてある」』 とか書いてありますけど実際のテストと比べてレベルの違いとかはどうですか? 対策本の中ではやっぱ一番お勧めですか?
- 377 名前:ほけんしょ [04/01/15 20:45]
- お久しぶりです
11月にSJC-P取得したほけんしょです。その節はお世話になりました おかげさまで来週からJava開発案件の契約社員として採用なりました これもSJC-P取得のおかげと思っています。 このところ寒い日が続きますが みなさんもお体に気をつけてがんばってください
- 378 名前:ほけんしょ [04/01/15 20:49]
- >>377
ちなみに契約金は4X万/月 ですが詳細設計〜テストなのでこの辺で実務経験を積むには良いと思い決定しました。
- 379 名前:仕様書無しさん mailto:sage [04/01/16 00:30]
- お ええなw 俺そんなにもらっとらんな 正社員やけど。
ちなみに あかんよ。 残業代 別じゃないと。
- 380 名前:仕様書無しさん mailto:sage [04/01/16 05:09]
- >>376
全部読むのしんどいけど、力はかなりつく 早く資格とりたいのならソフトバンクの方がいい 難易度は過去ログから見て 日経BP>>試験>>>ソフトバンク ぐらいらしい
- 381 名前:仕様書無しさん mailto:sage [04/01/16 20:51]
- 日経BP、腕ちぎれませんか?
厚すぎ!だと思うのですが...。
- 382 名前:仕様書無しさん mailto:sage [04/01/16 20:55]
- 2回目でぎりぎり合格。
日経BPのp175のコードとほぼ同じ問題が出た。 他にも出てたかもしれないけど、 青本中心で勉強してたので不明。 デカいし高いし持ち歩けないけど 後々まで役に立つ良本だと思う>日経BP
- 383 名前:仕様書無しさん mailto:sage [04/01/16 21:10]
- >>382さん
おめでとうございます。 2回目で合格ですか。 ちなみに経験はいかほどでしょうか? 当方、プログラミングも未経験ですが ただいま勉強中です。 ラッパーとかが何か覚えにくくて苦戦してます(苦笑) コレクションを捨てたとしても、まだやってないインナークラスと スレッドをやって本格的な試験対策をせねば…
- 384 名前:仕様書無しさん mailto:sage [04/01/17 00:31]
- なぜコレクションを捨てる・・・
- 385 名前:仕様書無しさん mailto:sage [04/01/17 00:36]
- 確実に点が取れるとこなのに・・・
- 386 名前:仕様書無しさん mailto:sage [04/01/17 00:37]
- >>384
実務では必要だけど合格するだけなら捨てても問題ないからね 覚えるのに時間がかかる割には問題数が少ない
- 387 名前:仕様書無しさん mailto:sage [04/01/17 00:40]
- ほけんしょよう。
がんばれよう。
- 388 名前:382 mailto:sage [04/01/17 01:18]
- >>383
ありがとう。 当方Java経験は1年ちょい。 ただしここ半年は実務でコード書いてない。 しかもプログラミングやってたといっても ほとんどコピペでOKのようなとこだったので 全然身についてなかった(と1回目不合格で悟る) 今回はスレッドを重点的にやった。 スレッドの正解率Upのおかげで滑り込みセーフ。 がんばってください。
- 389 名前:仕様書無しさん [04/01/17 01:23]
- Thread#join()とかObject#wait()、notify()、notifyAll()とかあの辺いまだにわからん。
困ったものだ。
- 390 名前:仕様書無しさん mailto:sage [04/01/17 02:10]
- まあ、みんな嫌いなとこだわな
- 391 名前:仕様書無しさん [04/01/17 11:46]
- >>389
当然テストによって違うのだろうけど、 私の時はスレッドの問題が10問くらい連続で出ました。 その辺の範囲は絶対捨てない方がいいですよ。
- 392 名前:仕様書無しさん mailto:sage [04/01/17 12:47]
- スレッドって結構出るって聞くよね?
地道にやらないと。
- 393 名前:仕様書無しさん mailto:sage [04/01/17 14:48]
- テンプレにある、スレッド本読破するといいと思います。
載っているコードは実際打ち込んで実行した方が良いだろうけど。 SJC-WCに向けて、XML勉強中・・・ふぅ。
- 394 名前:仕様書無しさん [04/01/17 17:54]
- スレッド関連は実際にコード書いて動かすことをやらないと、なかなか覚えられないだろうよ。
自分でマルチスレッド物を作って動かしてみ。 ちゃんと動いたら感動するから。
- 395 名前:仕様書無しさん mailto:sage [04/01/18 01:57]
- 【Java経験】なし(自習)
【言語経験】C, PL/SQL, VB, Ruby(趣味) 【試験番号】310-035(SJC-P) 【 正解数 】35/61 = 57% 【受験回数】1 【勉強期間】約1ヶ月(実質1週間程度) 【使用教材】日経BP 【出題内容】実行結果をテキストボックスに記述する方式の問題があって一瞬面食らいました。 同一範囲の知識を問う問題が連続して出題されていたように感じました。 【感想など】スレッドは皆さん仰るとおり難問でした。実際にコードを書いて理解したつもりでも 50%程度の正答率に留まりました。
- 396 名前:395 [04/01/18 02:04]
- 来月から実務なので自習を兼ねて資格取得しました。このスレは大変参考に
なりました。ありがとうございました。
- 397 名前:仕様書無しさん mailto:釣りだよ釣り [04/01/18 04:08]
- SJCとったら、JavaVM仕様の勉強かな。
特にGCの仕組みは学んでおかないと現場ではウンコ扱いだからな。 エデンとか、サバイバーとか領域の意味をしっかり把握して どんなタイミングでFullGCが走るか、ちゃんと勉強しておくようにな。 まぁ、派遣とかその他もろもろのウンコPGには関係の無い話かもな。
- 398 名前:仕様書無しさん mailto:sage [04/01/18 04:54]
- >>397
SunJREのローカル実装にこだわってる馬鹿発見。
- 399 名前:仕様書無しさん mailto:sage [04/01/18 09:55]
- アホは放置で
- 400 名前:仕様書無しさん [04/01/18 10:06]
- 今月のC magazineはjavaのThread特集だよ。
- 401 名前:仕様書無しさん mailto:sage [04/01/18 14:29]
- >>398,399
>>397のメール欄みろ。
- 402 名前:仕様書無しさん mailto:sage [04/01/18 15:03]
- >>397
おまいの言うウンコPGが二匹も釣れたようだ。 良かったな。
- 403 名前:399 mailto:sage [04/01/18 18:22]
- >>401
見てましたよ。 >>402 いえ、学生です。情報学科の
- 404 名前:仕様書無しさん mailto:sage [04/01/18 20:05]
- 実務でやり始めたが、ウンコPGが作ったプログラムを引き継ぐのは大変だ。
1つのファイル(モジュール)に、複数のクラスが入っている。(インナークラスでは無い) システム設計書なし、機能仕様書なし、外部設計書なし ソフトウェア設計書なし、デバッグ仕様書なし、デバッグ報告書1枚、 画面遷移の取り扱い説明書、あり つまり、無い無いずくし。 なんだかな〜。(阿藤快風に)
- 405 名前:仕様書無しさん mailto:sage [04/01/18 21:01]
- プログラミング未経験なんですが、SJC-Pを取ろうと
勉強しています。 よく、上達するには何かを作ってみろとか言われますが、 初心者の時、どんなのプログラムを書いてましたか? (もちろんレベルで出来る物の差はありますけど) サンプルコードを書き換えたりはしますが 何かを作れと言われても、具体的にどんなのを作れば良いのか 浮かばなくて…
- 406 名前:仕様書無しさん mailto:sage [04/01/18 21:44]
- >>405
3つの数字を用意して、それぞれ1〜100の間を繰り返し上下に動くようにする。 その変化するスピードは、3つそれぞれで異なるものとする。 その変化の様子をアプレットなり、コンソールなり、ウインドウなりで、 表示させる。 こんな感じでやってみては? とりあえず、制御構文と、スレッドの応用になります。 また、ボタンを作ってその数字を停止させたり、動かしたりを操作できるようにすれば、 wait(), notify()の練習にもなります。 (範囲外ですが、GUIの勉強にもなります) 「3つの数字」の「3」の部分をfinal int型で示すようにするなどして、 汎用性を持たせるようにするとよいかとおもいます。
- 407 名前:仕様書無しさん mailto:sage [04/01/18 21:57]
- >>404
ウンコPGがいるような会社にいるお前も・・・
- 408 名前:仕様書無しさん mailto:sage [04/01/18 23:31]
- とりあえず、コレクション簡単なんだから覚えてください。。
Vectorとか、Hashtableとかじゃないですよ
- 409 名前:仕様書無しさん mailto:sage [04/01/19 00:25]
- >>404
よく上司許したね。 ってか、クビ?
- 410 名前:仕様書無しさん [04/01/19 01:51]
- すいません質問です。
試験のチケットは有効期限ってどのくらいですか? 今自分は振込み用紙が来たところです。
- 411 名前:ジャバヒロ mailto:sage [04/01/19 02:36]
- public class Sample{
public static void main(String args[]){ int x = new int[1]; func(x); System.out.println(String.valueOf(x[0])); } static void func(int x[]){ x[0] = 100; } } ↑これって「100」と出力されるんですけど、どうしてですか? main()メソッドのx[0]は0で初期化されますよね? で、func()メソッドの引数として獲得されるx[]には main()メソッドで定義したx[]配列への参照がコピーして 渡されるんですよね? func()メソッド内で x[0] = 100; としたところで func()メソッドで獲得した引数としてのx[]の参照先が 変わるだけで、main()メソッドで定義したx[]配列には 影響ないんじゃないの?でも、「100」と出力されちゃう。 どなたか説明していただけませんか? 私の勘違いを指摘してください。
- 412 名前:仕様書無しさん mailto:sage [04/01/19 03:26]
- >>411
「参照」って言葉の意味を理解してますか? newとかで明示的に作成しない限り、基本的にオブジェクトそのものの数は増えない、と。
- 413 名前:仕様書無しさん mailto:sage [04/01/19 07:18]
- >>411
ん? 「func()メソッドで獲得した引数としてのx[]の参照先が 変わるだけで・・・」 ここがおかしいんでない? 確かにmain内の変数xとfunc内の変数xは別物だけど 参照先の実体は同じハズ
- 414 名前:仕様書無しさん mailto:sage [04/01/19 07:57]
- >411 func()メソッドで獲得した引数としてのx[]の最初の参照先はどこなのでしょう?
それがわかれば解決かと。プリミティブ型と参照型がごっちゃになっているのでしょう。 それと、 int x = new int[1];だとコンパイルエラーがでるはずですが。 int[] x = new int[1];が正しいかと......。
- 415 名前:仕様書無しさん mailto:sage [04/01/19 07:58]
- public class Sample{
public static void main(String args[]){ int[]x = new int[1]; func(x); System.out.println(String.valueOf(x[0])); } //引数名でxを使うとややこしいので、x_copyにしました。 static void func(int x_copy[]){ x_copy[0] = 100; } } 1. int型の配列xはx[0]の領域を指しています。 x→x[0] これはよさそう。 2. func(int型の配列の参照);メソッドにxを渡します。 3. x_copyはxがコピーされる。 ここで言うコピーとは、xの値(参照型なのでアドレス)とx_copyの値(当然アドレス) は同じということです。 x の値が0x0001(参照先のアドレス)ならば x_copy の値も0x0001(参照先のアドレス)となる。 参照が指している先は同じということなんですけれど、図にするとこんな感じ。 x →→→→→→→ 0x0001 ↑ x_copy →→→→→ ↑
- 416 名前:仕様書無しさん mailto:sage [04/01/19 07:59]
- x →→→→→→→ 0x0001
↑ x_copy →→→→→ ↑ 4. x_copyの0番目x_copy[0]に100を入れる つまり、0x0001アドレスの値を100にする 5. 表示したら100になる xが指しているアドレスとx_copyが指しているアドレスは 同じなので、アドレス内の値が変更されたら、当然xの値も変わっている。 説明するっていうことはむつかしいな。 この問題の重要な点は「参照」ではなく、staticメソッドは、 他のstaticメソッドへアクセスすることができるということを言いたいのかと思ったが..... 411がむばれ。
- 417 名前:仕様書無しさん mailto:sage [04/01/19 08:01]
- 同じところを指している図をつくりたいんだけれど、うまくいかないよ〜
うわ〜ん。 x →→→→→→→ 0x0001 ↑ x_copy →→→→→ ↑
- 418 名前:仕様書無しさん [04/01/19 12:35]
- >411
配列はオブジェクトと同じ扱いです。たとえint型だろうとね。 だから、メソッドにオブジェクトの参照を渡して、メソッド内でその参照に対して計算なり何なりすると、元々作ったオブジェクト中身も計算に伴って変化します。 これはとても理に叶ってると思いませんか?
- 419 名前:ジャバヒロ mailto:sage [04/01/19 13:19]
- >>412 〜 >>418
レスありがとうございます。 配列xの参照先アドレスと配列x_copyの参照先アドレスが同じなので func()メソッド内で配列x_copyの要素1番目に100を入れると main()メソッド内の配列xの要素1番目も0から100に変わるということですね。
|

|