java给我的错误是
Java \ Workspace \ PROJECTS \ Farm \ animalLab.java [第15行]
错误:找不到符号
符号:method addAnimal(java.lang.String,int,Farm[])
location:Farm []
我的代码是
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);
}
答案 0 :(得分:1)
farm
是(很多)Farm对象的数组。
数组没有addAnimal
方法。花点时间仔细阅读错误信息。
这样看......
错误:无法找到[the] 方法addAnimal
位置:变量农场[类型为农场[]
的
考虑farm[x].animal
“工作”(表达式farm[x]
的类型为Farm
) - 如何使用它来修复编译错误?
我建议以复数形式命名数组/集合的变量 - 例如farms
- 减轻这种混乱。此外,除非需要使用数组(例如家庭作业),否则我建议使用ArrayList
- 这样可以更轻松地添加和迭代项目。
快乐的编码。