繁体   English   中英

for循环中的语句

[英]statements in a for loop

我正在编写一个使用for循环的小程序。

1 Scanner sc = new Scanner(System.in);
2 int T = sc.nextInt();
3 for(int j = 1; j < 2T-1; j+=2){
4     doSomething();
5 } 

但是,这给了我一个错误。
错误消息显示:

javac Main.java -g
Main.java:12: error: ';' expected
            for(int j = 1; j < 2T-1; j+=2){
                                ^
Main.java:12: error: not a statement
            for(int j = 1; j < 2T-1; j+=2){
                                 ^
Main.java:12: error: ')' expected
            for(int j = 1; j < 2T-1; j+=2){
                                   ^
Main.java:12: error: ';' expected
            for(int j = 1; j < 2T-1; j+=2){
                                         ^
4 errors

我不太理解错误消息中的“声明”。

1)它怎么会产生错误?
2)语句和表达式有什么区别?

Java不是代数数学系统。 这个

for(int j = 1; j < 2T-1; j+=2){

应该

for(int j = 1; j < (2*T) - 1; j += 2){

2T-1根本不是有效的声明; 变量名不能以数字开头,编译器检测到2将是有效语句,并正在传达该声明。 但是, T-1随后处于意外位置。

你必须用

for(int j = 1; j < (2*T)-1; j+=2){

要么

for(int j = 1; j < 2*T-1; j+=2){

两者都会给您相同的结果。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM