语法错误,'for each'语句仅在源级别为1.5或更高时可用

use*_*565 6 java

收到以下错误:

Exception in thread "main" java.lang.Error: Unresolved compilation problem: 
Syntax error, 'for each' statements are only available if source level is 1.5 or greater at Tuto.OneDimArrays.main(OneDimArrays.java:14)
Run Code Online (Sandbox Code Playgroud)

码:

public class OneDimArrays {    
    public static void main(String[] args) {            
        int[] xabc = new int[5];    
        xabc[2]=20;    
        xabc[0]=50;    
        for(int temp:xabc){    
        System.out.println(temp);   
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

请帮忙..

Waq*_*idy 17

如果您正在使用Eclipse IDE,则右键单击项目,转到属性,Java编译器,选中"启用项目特定设置"并将"编译器合规性"级别设置为大于1.5.我通过将其设置为1.6解决了这个问题.希望能帮助到你


App*_*ish 3

该错误准确地告诉您问题是什么。您正在使用 for-each 循环:

for(int temp : xabc)
{
    System.out.println(temp);   
}
Run Code Online (Sandbox Code Playgroud)

此语法仅在 Java 1.5 中添加,因此您似乎正在使用早期版本进行编译。在不知道您正在使用什么 IDE/环境的情况下,我无法告诉您如何解决此问题,但看看您是否可以找到一种使用更新版本的 java 来编译代码的方法。

请注意,JRE(Java 运行时环境)和 JDK(Java 开发工具包)之间存在差异。JRE用于在计算机上运行java程序,而JDK用于在计算机上编写java程序。通常,您的系统只会在 JRE 过时时向您发出警告(因为大多数计算机用户不编写代码,甚至可能没有安装 JDK)。因此,即使你的 JRE 是最新的,除非你有正确的 JDK,否则你也无法编译最新的功能。

如果您使用的是旧版 JDK,可以在此处下载最新版本。

如果您使用的是最新的 JDK,则必须更改项目中的一些设置才能使用它。

如果出于某种原因,这两个选项都不可行,您可以使用 1.5 之前的语言结构来模拟 for-each 循环。帕特的回答中描述了最基本的方法。