找不到符号方法添加(java.lang.integer)..实际上是什么问题?

时间:2011-01-26 05:45:00

标签: java

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; i >= 0; i--) {
            System.out.print(a[i] + " ");
        }
    }
}

3 个答案:

答案 0 :(得分:2)

注意课程的:您的ArrayList不是java.util.ArrayList

正确:

java.util.ArrayList b = new java.util.ArrayList();

答案 1 :(得分:1)

问题在于将您的班级命名为ArrayList。在ArrayList班级中,您没有将方法定义为add()。您正在调用包ArrayList而不是java.util.ArrayList

将声明更改为java.util.List<Integer> b = new java.util.ArrayList<Integer>();。同样为了清楚起见,将您的课程重命名为有意义的内容。

答案 2 :(得分:0)

我没有运行代码但是我一眼就看到你从a.length开始,这将导致ArrayIndexOutOfBoundsException。修复此行,如a.length - 1

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

和这一行

ArrayList<Integer>  b = new ArrayList<Integer>();