2011-11-04 37 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 - 它使添加和迭代项目变得更加容易。

快乐编码。