2011-11-04 66 views
0

的Java的方法是給我的錯誤
的Java \工作區\ PROJECTS \農場\ animalLab.java [行:15] 錯誤:無法找到符號 符號:method addAnimal(java.lang.String,int,Farm[]) 位置:變量型農場農場[]的Java找不到類

我的代碼是

import java.util.Scanner; 

class animalLab{ 
    public Farm[] farm = new Farm[1000]; 

public void main(String[]args){ 
Scanner reader = new Scanner(System.in); 
int i = 0; 

while(reader.hasNext()){ 
    if(reader.nextLine() == "Quit") 
    break; 
    if(reader.nextLine()=="Add"){ 
    System.out.println("Enter animal to add: "); 
    String add = reader.nextLine(); 
    farm.addAnimal(add, i, farm); 
    } 

我的農場類看起來是這樣的

class Farm{ 
public String animal = null; 

public Farm(String s){ 
animal = s; 

}

public String getAnimal(){ 
return animal; 

}

public void addAnimal(String add, int i, Farm farm[]){ 
for (int x =0; x<farm.length; x++) 
    if(farm[x] != null) 
    if(farm[x].animal.equals(add)){ 
    System.out.println(add + " is already in the farm"); 
    break; 
} 

farm[i] = new Farm(add); 

}

回答

1

farm是(多)農場對象的陣列

數組沒有addAnimal方法。花點時間仔細閱讀錯誤消息。

看它像這樣...

error: cannot find [the] method addAnimal

location: variable farm [which is] of type Farm[]

考慮到farm[x].animal「作品」(表達farm[x]Farm類型) - 這怎麼能用來修復編譯錯誤?

我會推薦以複數形式爲數組/集合命名變量 - 例如farms - 緩解這種混亂。另外,除非需要使用數組(例如作業分配),否則我會推薦使用ArrayList - 它使添加和迭代項目變得更加容易。

快樂編碼。