一元运算符的坏操作数类型int'!在while声明中

时间:2015-11-02 20:14:06

标签: java

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为一元运算符'!'。我该怎么做才能解决这个问题?

1 个答案:

答案 0 :(得分:9)

!是一个一元否定运算符,需要一个boolean个操作数。因此,它无法应用于int

你应该改变

while (!guess = randNum)

while (guess != randNum)

!=是检查两个数字是否彼此不相等的运算符。

另外

if (guess = randNum)

应该是

if (guess == randNum)

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