它会在第一堂课的NullpointerException
与第二堂课的Register.läggTillhund(nyHund);
之间不断提供hundRegister.add(nyHund);
。
我不知道是什么原因造成的。有没有人有想法?
代码的目的(完成后)是使用firstclass作为"主程序"将第3类中的对象添加到第二类中的列表中。
感谢您的帮助! 奥斯卡
头等舱(主要)
public class testning {
public static void main(String[] args) {
Hund nyHund = new Hund("Daisy", 13, "labrador", 22.3);
System.out.println(nyHund.toString());
System.out.println(nyHund);
Register.läggTillHund(nyHund);
}
}
第二课:
import java.util.ArrayList;
public class Register {
private static ArrayList<Hund> hundRegister;
public static void läggTillHund(Hund nyHund){
hundRegister.add(nyHund);
System.out.println(nyHund);
}
public Register(){
hundRegister = new ArrayList<Hund>();
}
}
第三类
public class Hund {
private String namn;
private int ålder;
private double vikt;
private String ras;
public Hund(String hundnamn, int hundålder, String hundras, double hundvikt) {
this.namn = hundnamn;
this.ålder = hundålder;
this.ras = hundras;
this.vikt = hundvikt;
}
public String getNamn() {
return namn;
}
public int getÅlder() {
return ålder;
}
public double getSvanslängd() {
if ("tax".equals(ras)){
return 3.7;
}else{
return ((vikt*ålder)/10);
}
}
public String toString() {
return namn + "\n" + ålder + "\n"+ras+"\n"+vikt+"\n"+getSvanslängd();
}
}
答案 0 :(得分:0)
您正在访问静态方法。在这种情况下,构造函数从不工作。使用private static ArrayList<Hund> hundRegister = new Arraylist<>() ;
并删除构造函数。要查看发生了什么,请添加System.out.println行进行构建,您将看到它将无法正常工作