Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/361.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_Swing_Compiler Errors - Fatal编程技术网

Java 不是一个表达式开头非法的语句吗?

Java 不是一个表达式开头非法的语句吗?,java,swing,compiler-errors,Java,Swing,Compiler Errors,您好,我是编程新手,我正在尝试创建一个简单的数学游戏,如果计算机生成一个随机方程,玩家必须在时间用完之前解决它,我遇到了这个小问题,如果这个块似乎不是一个语句,也不是表达式的非法开始,有人能解释一下这里发生了什么事吗 for(int i = difficulty; i >= 0; i- -){ System.out.println(i+"..."); Thread.sleep(500); } 这是完整的代码 import javax.swing.*; public cl

您好,我是编程新手,我正在尝试创建一个简单的数学游戏,如果计算机生成一个随机方程,玩家必须在时间用完之前解决它,我遇到了这个小问题,如果这个块似乎不是一个语句,也不是表达式的非法开始,有人能解释一下这里发生了什么事吗

for(int i = difficulty; i >= 0; i- -){
    System.out.println(i+"...");
    Thread.sleep(500);
}
这是完整的代码

import javax.swing.*;

public class CruncherExtreme 
{
    public static void main (String[] args) throws Exception
    {
       int difficulty;

    difficulty = Integer.parseInt(JOptionPane.showInputDialog("How god are your?\n"+"1 = evil genius...\n"+"10 = evil, but not a genius"));
    boolean cont = false;

    do
    {
        cont = false;

        double num1 = (int) (Math.round(Math.random()*10));
        double num2;
        do
        {
            num2 = (int) (Math.round(Math.random()*10));
        }

        while(num2==0.0);
        int sign = (int)(Math.round(Math.random()*3));
        double answer;
        System.out.println("\n\n*****");

        if(sign==0)
        {
            System.out.println(num1+" times "+num2);
            answer = num1*num2;
        }
        else if(sign==1)
        {
            System.out.println(num1+" divided by "+num2);
            answer = num1/num2;
        }
        else if(sign==1)
        {
            System.out.println(num1+" plus "+num2);
            answer = num1+num2;
        }
        else if(sign==1)
        {
            System.out.println(num1+" minus "+num2);
            answer = num1-num2;
        }
        else
        {
            System.out.println(num1+" % "+num2);
            answer = num1%num2;
        }

        System.out.println("*****\n");

        for(int i = difficulty; i >= 0; i- -)
        {
            System.out.println(i+"...");
            Thread.sleep(500);
        }
        System.out.println("ANSWER: "+answer);
        String again;
        again = JOptionPane.showInputDialog("Play again?");
        if(again.equals("yes"))
        cont = true;
    }
    while (cont);
}
}

应该是

for(int i = difficulty; i >= 0; i--){

增量后符号(
--
)之间有一个空格,这对编译器来说是非法的。

尝试
i--
而不是
i--
哇,太漂亮了,我已经看了一个多小时了,甚至没有注意到谢谢。
for(int i = difficulty; i >= 0; i--){