2016-04-10 6 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){ 

И даст вам тот же результат.

Смежные вопросы