for语句中的编译器错误?

Compiler Errors in a for statement?

我只是想写一个简单的代码,在同一行生成 5 个笑脸。
例如输出= :) :) :) :) :)

而且我不明白为什么这段代码无法编译。

public class SmileGenerator {
    public static void main(String[] args) {
        for (int i=0,i<6,i++) {
            System.out.print(":) ");
        }
    }
}

我得到的错误是:

SmileGenerator.java:9: error: ';' expected  
        for (int i=0,i<6,i++) {  
                      ^  
SmileGenerator.java:9: error: illegal start of type  
        for (int i=0,i<6,i++) {  
                       ^  
SmileGenerator.java:9: error: illegal start of expression  
        for (int i=0,i<6,i++) {  
                        ^  
SmileGenerator.java:9: error: ';' expected  
        for (int i=0,i<6,i++) {  
                         ^  
SmileGenerator.java:9: error: illegal start of expression  
        for (int i=0,i<6,i++) {


                        ^  

您的语法不正确。 for (...) 中的表达式用分号分隔(参见 here)。将您的逗号更改为分号,因此:

for (int i=0; i<6; i++)

... 这将修复您的编译器警告。如果您仔细查看第一条编译器错误消息,您会看到 ';' expected 以及位置的粗略指示。这将有助于您将来诊断此类问题。

编译代码后,下一步就是修复错误。如果您想要 5 个笑脸,请使用:

for (int i=0; i<5; i++)

在javafor循环中,分隔符是“;”字符,而不是 ","