0

显然,我是 Java 新手,并且正在做作业,给我一个数组,然后必须用各种 for 循环多次在精神上操纵它。我已经完成了我的工作,但是我对计算机科学很陌生并且很兴奋,我认为我可以编写一个基本程序来检查我的工作。

这是我编写的代码,我的编译器一直对我大喊“找不到符号 - 变量 a”到那里的底部。我无知的想法告诉我,当我将数组命名为“a”时,我创建了“a”。可悲的是,我无法找到与此类似的示例代码。你们能告诉我我做错了什么吗?

import java.util.Scanner;

public class ArrayTest
{
public static void main(String[] args)
{
int[] a = { 1, 2, 3, 4, 5, 4, 3, 2, 1, 0 };// the array I'm working on

}
{
for (int i = 1; i < 10; i++) { a[i] = a[i - 1]; } //the manipulation given
}
{   
System.out.println(a[i]);
}
}

谢谢!

4

1 回答 1

4

您的a数组被声明为您的main方法的本地成员。

方法之后的下一个块main称为实例块,因为它们与您的Main类的实例相关,而不是与其main静态可执行方法的主体相关。

因此,您的for循环引用了一个无法访问其范围的变量。

通过删除围绕它们的大括号将for循环和打印输出移动到main方法,以便编译代码。

就像 Keppil 的回答一样进行编辑。

根据要求,Keppil 代码的简单复制粘贴。

public static void main(final String[] args) {
    int[] a = { 1, 2, 3, 4, 5, 4, 3, 2, 1, 0 };// the array I'm working on
    for (int i = 1; i < 10; i++) {
        a[i] = a[i - 1]; // the manipulation given
        System.out.println(a[i]);
    }
}
于 2013-11-02T22:43:18.760 回答