找不到符号:方法添加

时间:2011-01-25 10:24:14

标签: java

为什么我收到以下错误:cannot find symbol: method add?这是我的代码:

import java.util.*

public class ArrayList {
    // instance variables - replace the example below with your own
    public void processinput(String s) {
        int[] a = { 34, 25, 16, 98, 77, 101, 24 };

        ArrayList b = new ArrayList();

        for (int i = 0; i < a.length; i++) {
            int d = a[i];
            if (d % 2 > 0) {
                b.add(new Integer(d));
            }
        }

        for (int i = 0; i < b.size(); i++) {
            System.out.print(b.get(i) + " ");
        }

        for (int i = a.length - 1; i >= 0; i--) {
            System.out.print(a[i] + " ");
        }
    }
}

如何解决此错误?

3 个答案:

答案 0 :(得分:4)

再次阅读你的问题,我认为你错过了

import java.util.*;

在课程开始时。这是您收到此错误的唯一方法。顺便说一下,您还应该收到类似“无法解析符号ArrayList”的错误,该错误会告诉您问题所在。


将最后一个循环更改为

for(int i = a.length-1; i >= 0; i--) {

凭借经验,您将能够阅读错误消息并理解它们的含义。在这种情况下

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 7
at Main.main(Main.java:33)

在第33行,(或代码中的任何内容),您尝试访问超出数组末尾的索引。数组a的最后一个元素是a.length-1,因为第一个元素是0

仔细阅读错误消息非常重要,因为它们通常是解决问题的最佳线索以及如何解决问题。

发布问题时,您应该发布错误。

答案 1 :(得分:1)

ArrayIndexOutOfBoundsException:7。修好这一行

for(int i = a.length-1; i >= 0; i--)

答案 2 :(得分:0)

您的类名为ArrayList,这隐藏了java.util.ArrayList,因此您的编译错误。您可以更改班级名称,也可以在声明java.util.ArrayList时使用b的全名。