2011-01-25 60 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