2013-08-05 2 views
0

Я программирование Java в Linux, но он сообщает о следующей ошибке. Кто-нибудь может мне помочь? Спасибо в ожидании!';' ожидаемый и незаконный запуск ошибки выражения

Break.java:4: ';' expected 
    for (int x:numbers) { 
      ^ 
Break.java:11: illegal start of expression 
    } 
^ 
2 errors 

 

public class Break { 
    public static void main(String args[]) { 
     int [] numbers={10,20,30,40,50}; 
     for (int x:numbers){ 
      if (x==30){ 
       break; 
      } 
      System.out.print(x); 
      System.out.print("\n"); 
     } 
    } 
} 
+2

Какую версию java вы используете? Если он меньше, чем Java 1.5, вы не можете использовать расширенный для цикла. –

+1

Для этой строки 'int [] numbers = {10,20,30,40,50};' вероятно, должно быть 'int [] numbers = new int [] {10,20,30,40,50};' –

+1

@DennisMeng - не нужно использовать 'new int []' при использовании выражения инициализатора массива. См. «Создание, инициализация и доступ к массиву» в [Учебник по Java] (http://docs.oracle.com/javase/tutorial/java/nutsandbolts/arrays.html) –

ответ

9

Вы должны использовать JDK 1.4 или раньше. Ваш код компилируется в 1,5 раза, но не в 1.4:

$ javac Break.java 
$ javac -source 1.4 -target 1.4 Break.java 
Break.java:4: for-each loops are not supported in -source 1.4 
(try -source 1.5 to enable for-each loops) 
    for (int x:numbers){ 
      ^
1 error 

Вы должны использовать Java 1.5+ использовать синтаксис цикла Еогеасп, which was introduced in Java 1.5.

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