私の「If」ステートメントは書き込みの答えを与えていません。たとえば、「5」を入力すると出力が高すぎます。これは乱数が低いことを意味しますが、「4」のように小さい数値を入力すると出力が低すぎます。乱数が大きいことを意味します。かなり紛らわしいですが、コード内の私のロジックが正しいかどうか疑問に思っています??
java.util.Scanner をインポートします。java.lang.Math をインポートします。
public class GuessTest {
public static void main(String[] args)
{
System.out.println("Welcome to the gussing game, Try to guess the number am thinking of to win!");
System.out.println("++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++");
System.out.println();
System.out.println("Am thinking of a number between 0 and 10. Try to guess it.");
System.out.println();
Scanner sc = new Scanner(System.in);
String choice = "y";
while (!choice.equalsIgnoreCase("n"))
{
System.out.println("Enter the Number:");
int guess = sc.nextInt();
double rightNum = Math.random() *10;
int randomNum = (int) rightNum;
if (guess == randomNum)
{
System.out.println("Correct you've got it! The Number Was " + randomNum );
System.out.println();
System.out.println("Would you like to play again (y/n):");
choice = sc.next();
}
else if (guess < randomNum)
{
System.out.println("your too low!");
}
else if (guess > randomNum)
{
System.out.println("Your too high!");
}
}
}
}