在while语句中,使用一元运算符'!'时,int类型的操作数类型不正确。

4
import java.util.Scanner;
public class GuessingGame_v1
{
    public static void main(String[] args)
    {
        double randNum = Math.random();

        int number =(int) (randNum * 100.0);
        int counter = 0;
        Scanner in = new Scanner(System.in);

        int guess = 0;

        while (!guess = randNum)
        {
            System.out.println("Enter your guess: ");
            int guess = in.nextInt();

           if(guess > randNum)
               System.out.println("Too High");
           else
               System.out.println("Too Low");
        }    
        if (guess = randNum)
            System.out.println("Congradulations you guessed the number!");
    }
}

我刚开始学编程,但在这个代码中一直显示“对于一元运算符'!',操作数类型int有误”。我该怎么做才能解决这个问题呢?

2
!(guess == randNum) - Rabbit Guy
3
Gotcha是一个编程术语,表示在程序中发现了一个意外情况或者陷阱。它通常指的是代码中隐藏的问题,可以导致程序崩溃或产生错误结果。这个词也可以用于表示成功地捕获到一个错误或漏洞并进行修复。 - sam
1个回答

10

! 是一个一元取反运算符,期望单个 boolean 操作数。因此它不能应用于一个 int

你应该进行更改。

while (!guess = randNum)

while (guess != randNum)

!= 是一个运算符,用于检查两个数字是否不相等。

此外:

if (guess = randNum)
应该是这样的

if (guess == randNum)

因为您想要比较数字(而不是将 randNum 赋值给 guess 变量)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接