1 から 100 までの乱数を生成し、それを暗証番号として保持するプログラムを作成します。プログラムは、ユーザーが秘密の番号を推測できるかどうかをチェックします。ユーザーは、数字が見つかるまで数字を推測し続けるか、ユーザーが 0 を入力してプログラムを終了することができます。
ユーザーが推測するたびに、プログラムは次のように報告します。
- 高すぎる、または低すぎる (30 以上のオフ)
- 高値または安値 (10 ~ 30 ポイントの差)
- 少し高いまたは少し低い (10 ポイント未満の差)
秘密の番号が 74 で、ユーザーが 26 を入力すると、プログラムは "Way too Low" を出力します。次にユーザーが 65 と言うと、プログラムは「A Little Low」と出力します。
if ステートメントで行き詰まっています。おそらく私の構造が正しくありません。わからない 。
import java.util.Scanner;
public class SecretNumber {
public static void main(String[] args){
int random1, answer;
Scanner input = new Scanner(System.in);
random1 = (int)(Math.random()*10);
System.out.print(random1);
System.out.println("Guess the number");
answer = input.nextInt();
while(answer != 0) {
if (answer > (random1 + 30)){
System.out.println("Way to high");
}
else if ( answer > ( random1 - 30)){
System.out.println("Way to low");
}
else if (answer > random1 + 10 && answer < random1 + 30){
System.out.println("High");
}
else if (answer > random1 - 10 && answer < random1 - 30 ){
System.out.println("Low");
}
else if ( answer > random1 + 10){
System.out.println("A little high");
}
else if ( answer < random1 - 10){
System.out.println("A little low");
}
else if ( answer == random1){
System.out.println("That is correct");
System.exit(0);
}
else {
System.out.println("Guess the number");
answer = input.nextInt();
}
}
}
}