Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JAVA非法启动类型_Java - Fatal编程技术网

JAVA非法启动类型

JAVA非法启动类型,java,Java,我的节目: 我收到以下错误:m.java:31:类型的非法开始。语法绝对正确,我已经检查过无数次了。怎么了 public class m { public static void main (String[] args) { boolean bool = true; while(bool) { rand_number player_1 = new rand_number(); Sys

我的节目:

我收到以下错误:
m.java:31:类型的非法开始
。语法绝对正确,我已经检查过无数次了。怎么了

public class m
{
    public static void main (String[] args)
    {
        boolean bool = true;

        while(bool)
        {
            rand_number player_1 = new rand_number();
            System.out.println("Player_1 guessed " + player_1.rand_n);

            rand_number player_2 = new rand_number();
            System.out.println("Player_2 guessed " + player_2.rand_n);

            rand_number player_3 = new rand_number();    
            System.out.println("Player_3 guessed " + player_3.rand_n);

            if(player_1.guessed || player_2.guessed || player_3.guessed)
            {
                System.out.println("We have a winner");   
                bool = false;
            }
        }
    }
}

class rand_number
{
    int rand_n = (int)(Math.random() * 10);

    if(rand_n == 2) 
    {
        boolean guessed = true;
    }
}
只能在类级别进行字段声明。类似这样的if语句需要位于方法、构造函数或初始值设定项块中

您可以这样删除if语句:

class rand_number
{
    //...    
    if(rand_n == 2) 
    {
        boolean guessed = true;
    }
}

但我质疑,为什么您希望在创建时设置此值,而不是响应某些用户操作。

您的语法完全错误<代码>随机数不包含方法,但尝试执行条件


如果你想做随机数,你应该试试下面的
random
类:

boolean guessed = rand_n == 2;

您应该看看,它有助于获得任何java开发人员都能在一秒钟内理解的干净代码。例如,类名称以大写字母开头

Random random = new Random();
int numberToFind = random.nextInt(2);