ニワトリが先かたまごが先か

SEのたまごがのろのろとJAVAの勉強をするブログ

Onbordng  オリエンテーション

連稿すみません。

明日のお弁当を犠牲にして書いています。許してください。

 

気を取り直して1問目です。

コーディンゲームのサイトはこちら。

Coding Games and Programming Challenges to Code Better

 

【Onbordng オリエンテーション

◎ゴール

プログラムを書いて一番近くにいる敵の船を撃っていきましょう。

×ルール
各ターン(1回のループ)ごとに、近くにいる2機の情報が含まれています。
enemy1 と dist1:enemy1の変数名と自分までの距離。
enemy2 と dist2:enemy2の変数名と自分までの距離。
各ターンが終わる(ループを抜ける)前に、近いほうの敵を撃つためにenemy1とenemy2の値を出力します。

 

f:id:tamago00:20170409211310p:plain

f:id:tamago00:20170409211707p:plain

 

 

【解答】

import java.util.*;

class Player {

  public static void main(String args[]) {
    Scanner in = new Scanner(System.in);

 

    // ループ
    while (true) {
      String enemy1 = in.next(); // name of enemy 1
      int dist1 = in.nextInt(); // distance to enemy 1
      String enemy2 = in.next(); // name of enemy 2
      int dist2 = in.nextInt(); // distance to enemy 2

 

      // 「System.out.println()」を使って攻撃。

      // ここにコードを書いてください(↓ここからが解答)

      if (dist1 < dist2) {
       System.out.println(enemy1);
      } else {
       System.out.println(enemy2);
      }

    }
  }
}

 

f:id:tamago00:20170409211136p:plain

簡単なループの問題です。

2機の距離が自動的に取得できるので、小さいほうをSystem.out.println()します。

どこを間違えたのかと思ったのですが、デフォルトが再生されただけでした。よかった…

 

あと、よくよく見ると模範ではないですが、ユーザーの解答が見れるようになっていましたね。知らなかった…

 

まあ、このようなノリで続けていくつもりです。

 

では、お弁当作ります。

ぺこり。