2016-12-14 5 views
0

ここに私のプログラムがしなければならないものがあります: これはユーザが一連の整数を入力できるようにするループです。シリーズの終了を知らせるには、-99と入力する必要があります。すべての数値が入力された後、入力された最大値と最小値が表示されます。ループストッパーとして数値を使用する場合、プログラムでその数値が最大値または最小値として初期化されないことを確認するにはどうすればよいですか?

私のコードは動作していますが、停止する直前に、シリーズの最後の意図した整数ではなく-99としてmaxまたはminのいずれかを初期化してから終了します。私はそれをやめるために何ができますか?

public static void main(String[] args) 
{ 
    //Create a Scanner object for keyboard input. 
    Scanner keyboard = new Scanner(System.in); 

    //create variables 
    int maxInt = -1000;   //number that will be the largest initialized very low 
    int minInt = 1000;   //number that will be the smallest initialized very high 
    int input = 0;    //to hold the user's integer entry 

    //loop for the user to enter as many integers as they want 
    while(input != -99) 
    { 
     //General Instructions and initialization of input 
     System.out.println("Enter an integer. " 
      + "When you are finished, please enter -99."); 
     input = keyboard.nextInt(); 

     if(input > maxInt) 
     { 
      maxInt = input; 
     } 
     else if(input < minInt) 
     { 
      minInt = input; 
     } 
    } 

    System.out.println("Your lowest number is: " + minInt); 
    System.out.println("Your highest number is: " + maxInt); 

    keyboard.close(); 
} 
+0

'input = keyboard.nextInt();の直後に' input'をチェックし、その値が '-99'なら' break'をチェックします。 –

答えて

0

あなたはそれがあなたのセンチネル制御値であれば-99ためMAXINTまたはMININT変数を割り当てる前に、入力値をチェックする必要があります。

は、ここでは、コードです。

if (input > maxInt && input != -99) 
{ 
    maxInt = input; 
} 
else if (input < minInt && input != -99) 
{ 
    minInt = input; 
} 
1

あなたの入力は、このように、まだあなたのwhileループ内で割り当てられている-99ループが開始したとき。したがって、-99でループを実行し、最後に停止します。

while (input != -99) { 
 
    System.out.println("Enter an integer. " + "When you are finished, please enter -99."); 
 
    input = keyboard.nextInt()); 
 

 
    if (input == -99) { 
 
    break; 
 
    } 
 
    if (input > maxInt) { 
 
    maxInt = input; 
 
    } else if (input < minInt) { 
 
    minInt = input; 
 
    } 
 
}

によるbreak文に-99の入力があった場合に今ループは終了します。

関連する問題