BLOG

【プログラマー 研修 Java】ミッサンの記録2

こんにちは、ミッサンです。

寒さが一段と厳しくなっていますが、皆様いかがお過ごしでしょうか。

僕は自分の携帯電話で暖をとっています。

今回はループ文を中心に学習しました。

◆本日の内容

まずは、前回行った条件分岐の復習を行った後に、

の学習を行いました。

◆所感

今回の課題で行ったじゃんけんをするプログラムでは内部的で正数を使って出す手を管理するのですが、

その勝敗判定のロジックを組むのにだいぶ頭を悩ませてしまいました。

最終的には3の剰余で比較することでそこそこ上手く組めたので満足しましたが、時間もかかってしまったのでまだまだ研鑽をつまないといけないようです。

//0:グー,1:チョキ,2:パー
//p:プレイヤーの手,c:コンピュータの手
if(p == c){
//あいこ
}else if((p + 1) % 3 == c){
//勝ち
}else{
//負け
}

(といった感じのコードになりました)

また、new Scanner(System.in)で生成したスキャナオブジェクトを.close()で閉じてしまうと、System.inも閉じてしまうという仕様を知らずに閉じてしまっていたために、また別の場所でnew Scanner(System.in)を宣言して生成して.nextLine()などを呼び出しても何も起きないという問題に当たったりもしました。

Scanner scanner = new Scanner(System.in);
String str = scanner.nextInt();
scanner.close();
//~中略~
Scanner scanner2 = new Scanner(System.in);
String str2 = scanner2.nextLine(); //反応しない!!
scanner2.close();

(といったコードです)

API仕様書を見ても見当たらず、解決までにこれもまた頭を悩ませることになってしまいました。

◆最後に一言

満員電車で座っていると大変気分がよくなります。

それではまた。

BLOGトップへ戻る