2016-12-25 8 views
-5

私は、ユーザーがプログラムが生成する乱数を推測する機会が3回あるゲームを作ろうとしています。私はこれまでのところこのコードを持っていますが、ユーザーが3つの推測のうち3つを入力した後にプログラムを停止させる方法はわかりません。ユーザーが正常に3回の試行で推測することができない場合には、私はプログラムが言いたい「あなたが失う。数はだった...」限界数推測ゲームを3回試してみよう

import java.util.Random; 
import java.util.Scanner; 
class GuessNumber { 
    public static void main(String args[]) { 
     Random random = new Random(); 
     Scanner input = new Scanner(System.in); 
     int MIN = 1; 
     int MAX = 10; 
     int comp = random.nextInt(MAX - MIN + 1) + MIN; 
     int user; 


     do { 
      System.out.print("Guess a number between 1 and 10: "); 
      user = input.nextInt(); 

      if (user > comp) 
       System.out.println("My number is less than " + user + "."); 
      else if (user < comp) 
       System.out.println("My number is greater than " + user + "."); 
      else 
       System.out.println("Correct! " + comp + " was my number! "); 
     } while (user != comp); 
    } 
} 
+1

カウンター変数が必要です。回数が増えたらカウンタを増やし、カウンタが3になると印刷して終了します。 – Andreas

答えて

0

は、単に試行回数をカウントし、それが到達するとループを抜けますしきい値。同様に:

int attemptsNum = 0; 
    final int maxAttempts = 3; 
    do { 
     System.out.print("Guess a number between 1 and 10: "); 
     user = input.nextInt(); 

     if (user > comp) 
      System.out.println("My number is less than " + user + "."); 
     else if (user < comp) 
      System.out.println("My number is greater than " + user + "."); 
     else 
      System.out.println("Correct! " + comp + " was my number! "); 
    } while (user != comp && ++attemptsNum <maxAttempts); 

    if (attemptsNum == maxAttempts) 
     System.out.println("You loose. The number was :" + comp);