Java数组循环操作的基础?

时间:2013-11-02 22:39:42

标签: java arrays sorting

显然,我是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]);
}
}

谢谢!

1 个答案:

答案 0 :(得分: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]);
    }
}