2016-04-10 12 views
0

私はforループを使用する小さなプログラムを書いています。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)ステートメントと式の違いは何ですか?

答えて

1

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は予想外の場所にあります。

0

あなたはどちらがあなたにも同じ結果が得られます

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

または

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

を使用する必要があります。