我有一个动物园的计划,在动物园里有分支的亚群动物是爬行动物.当我做一个equals方法时,主程序编译并运行.我很困惑,如果我比较对象而不是特定的int或String,java知道如何使用equals方法?
public class Zoo {
public static void main(String[]args) {
Animal a=new Animal("Bob");
Reptile komodo= new Reptile("Snakey");
komodo.bask();
a.size=3;
komodo.size=5;
System.out.println(a);
System.out.println(komodo);
Turtle t= new Turtle("Slowy");
t.hide();
t.size=6;
t.numlegs=4;
System.out.println(t);
System.out.println(t.equals(komodo));
}
}
public class Animal {
public String name;
public boolean equals(Animal other) {
return other.size==this.size;
}
public Animal(String s) {
name=s;
}
public void setName(String n) {
this.name=n;
}
public void eat(String meal) {
System.out.println("chump chump yummy "+meal);
}
public int size;
public String toString() {
return "I …
Run Code Online (Sandbox Code Playgroud) 我在将文件读入一个对象数组时遇到了问题.我创建了一个if语句,以便将数据行分成两个不同的子组,一个是生成的,另一个是清理的.但是当我运行程序时,创建的对象是空的.如何将文件连接到对象?我错过了一些关键的东西.
import java.util.Scanner;
import java.io.File;
import java.io.FileNotFoundException;
public class Inventory{
public static void main(String[] args){
int i=0;
Product[] pr=new Product[16];
File InventoryFile=new File("inventory.csv");
Scanner in=null;
try{
in=new Scanner(InventoryFile);
while(in.hasNext()){
String line=in.nextLine();
String[]fields=line.split(",");
if(fields[0].equals("produce"))
pr[i]= new Produce();
else
pr[i]=new Cleaning();
i++;
}
System.out.println(pr[6]);
}catch(FileNotFoundException e){
System.out.println("Arrgggg"+e.getMessage());
}
}
}
Run Code Online (Sandbox Code Playgroud)