Java:标记 "n" 上的语法错误,++ 应在此标记之后
Java: Syntax error on token "n", ++ expected after this token
当 运行 这段代码时,我在 Eclipse 中遇到了这个错误:
package prova1;
import java.util.Scanner;
public class Fattoriale {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int n;
System.out.print("Inserisci il numero:\n");
n = input.nextInt();
int val = 1;
for ( n; n>1; n-=1){
val = val*n;
}
System.out.println(val);
}
}
我正在尝试获取 n 数的阶乘,但出现此错误,我无法弄清楚问题出在哪里:
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
Syntax error on token "n", ++ expected after this token
at prova1.Fattoriale.main(Fattoriale.java:12)
我尝试创建一个新的 var i,但我仍然收到该错误
在 Java 中,您不能在 for
循环的第一个隔间中单独使用 n
。但是,您可以将其留空:
for ( ; n>1 ; n-=1) {
// ^
// Nothing
}
考虑用更传统的 --
替换 -= 1
。
如果你想变得很花哨,你可以这样做:
for ( int i = input.nextInt() ; n>1 ; n-- ) {
// ...
}
注意:使用上面的for
循环就可以了。不过,一般来说,当您将三个隔间之一留空时,应该考虑使用 while
循环代替 for
。
当 运行 这段代码时,我在 Eclipse 中遇到了这个错误:
package prova1;
import java.util.Scanner;
public class Fattoriale {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int n;
System.out.print("Inserisci il numero:\n");
n = input.nextInt();
int val = 1;
for ( n; n>1; n-=1){
val = val*n;
}
System.out.println(val);
}
}
我正在尝试获取 n 数的阶乘,但出现此错误,我无法弄清楚问题出在哪里:
Exception in thread "main" java.lang.Error: Unresolved compilation problem:
Syntax error on token "n", ++ expected after this token
at prova1.Fattoriale.main(Fattoriale.java:12)
我尝试创建一个新的 var i,但我仍然收到该错误
在 Java 中,您不能在 for
循环的第一个隔间中单独使用 n
。但是,您可以将其留空:
for ( ; n>1 ; n-=1) {
// ^
// Nothing
}
考虑用更传统的 --
替换 -= 1
。
如果你想变得很花哨,你可以这样做:
for ( int i = input.nextInt() ; n>1 ; n-- ) {
// ...
}
注意:使用上面的for
循环就可以了。不过,一般来说,当您将三个隔间之一留空时,应该考虑使用 while
循环代替 for
。