gpt4 book ai didi

java - 如何在不同的类上使用 Arraylist

转载 作者:行者123 更新时间:2023-12-01 22:33:09 25 4
gpt4 key购买 nike

我试图将在不同类中创建的狗(nyHund)添加到我使用另一个类中的构造函数创建的Arraylist中,但是每当我尝试在“register”类中使用Arraylist时,我都会得到无法解析数组列表名称的错误。

头等舱:

    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 (ras=="tax"){
return 3.7;
}else{
return ((vikt*ålder)/10);
}
}

public String toString() {
return namn + "\n" + ålder + "\n"+ras+"\n"+vikt+"\n"+getSvanslängd();
}
}

二等

    import java.util.ArrayList;
public class testning {

public static void main(String[] args) {
Hund nyHund = new Hund("Daisy", 13, "labrador", 22.3);
System.out.println(nyHund.toString());
Register.läggTillHund(nyHund);



}

}

第三类:

import java.util.ArrayList;

public class Register {



public static void läggTillHund(Hund nyHund){
hundRegister.add(nyHund);
System.out.println(nyHund);



}



private Register(){
ArrayList<Hund> hundRegister = new ArrayList<Hund>();
}


}

我遇到的问题是“hundRegister.add(nyHund)”

有什么想法吗?或者指出我哪里出错了? (Java 中非常新)

致以诚挚的问候奥斯卡

最佳答案

ArrayList您创建的内容位于您的 Register 本地构造函数。在类内部但在构造函数外部将其声明为实例变量,因此它在整个类的范围内。

public class Register {
private ArrayList<Hund> hundRegister;
private Register(){
hundRegister = new ArrayList<Hund>();
}
}

此外,还不清楚为什么构造函数是 private 。其他任何东西都不能访问该构造函数。我会成功public .

另外,在 getSvanslängd ,替换ras=="tax""tax".equals(ras) 。请参阅How do I compare strings in Java? .

关于java - 如何在不同的类上使用 Arraylist,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27302747/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com