2011-01-25 61 views
1

为什么我收到以下错误: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] + " "); 
     } 
    } 
} 

如何解决此错误?

+2

你的代码为我编译(如果我把它放在类中的方法中,很明显)。你可能有一个名为`ArrayList`的类吗?如果是这样,你可能会意外地使用它而不是`java.util.ArrayList`,你可能的意思。 – 2011-01-25 10:29:42

+1

[找不到符号方法add(java.lang.integer)..实际上是什么问题?](http://stackoverflow.com/questions/4801711/cannot-find-symbol-method-add-java -lang-integer-what-the-problem-actually) – 2011-01-26 07:55:58

回答

4

重读你的问题,我想你在你们班开始失踪

import java.util.*; 

。这是你得到这个错误的唯一方法。顺便说一句,你也应该得到一个像“无法解析符号ArrayList”这样的错误,它会告诉你什么是问题。


更改最后一个循环是

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

随着经验的积累,你将能够读取的错误信息,并了解他们的意思。在这种情况下,您尝试访问超出数组末尾的索引(第33行)(或者代码中的内容)。阵列a的最后一个元素是a.length-1,因为第一个元素是0

,因为他们往往是些什么问题,以及如何解决它的最好的线索,是要仔细阅读错误信息的重要。

当你发布一个问题时,你应该发布你收到的错误。

0

你的类被称为ArrayList,这是隐藏java.util.ArrayList,因此你的编译错误。要么更改班级的名称,要么在宣布b时使用全名java.util.ArrayList