gpt4 book ai didi

java - 将对象添加到 Arraylist 并在方法外部使用它

转载 作者:行者123 更新时间:2023-12-02 04:41:34 25 4
gpt4 key购买 nike

我有一个问题。我无法解决它,我需要一些帮助。我有一个对象的 Arraylist,然后我有一个创建对象并将其添加到 Arraylist 的方法,但我想要另一个可以打印 Arraylist 的方法,但每次我尝试 Arraylist 都是空的,所以这是我的代码:

public class Packages{
ArrayList<Pack> myList = new ArrayList<Pack>();
Pack obj;

public double addPackage(int type, double num){
if(type==1)
{
obj = new Pack(type, num);
total = obj.calculateTotal;
}
else
{
obj = new Pack(type, num);
total = obj.calculateTotal;
}
myList.add(obj);
return total;
}
public int listSize(){
return myList.size();
}
}

每次我调用 listSize() 方法时,它都会返回 0,看起来当 addPackage 方法完成时,它会删除我添加到 Arraylist 中的对象。注意:我的 addPackage 方法将返回双倍总数,但同时将我创建的对象添加到数组列表中。我需要一些帮助。

最佳答案

我尝试了你的代码,它几乎是正确的。我再次发布我使用过且有效的类(class):

public class Package {
List<Pack> myList = new ArrayList<Pack>();
Pack obj;
double total = 0;

public double addPackage(int type, double num) {
if (type == 1) {
obj = new Pack(type, num);
total = obj.calculateTotal();
} else {
obj = new Pack(type, num);
total = obj.calculateTotal();
}
myList.add(obj);
return total;
}

public int listSize() {
return myList.size();
}
}

现在类(class)包是:

public class Pack {
int type;
double value;

public Pack(int type, double value) {
this.type = type;
this.value = value;
}

public double getValue() {
return value;
}

public void setValue(double value) {
this.value = value;
}

public int getType() {
return type;
}

public void setType(int type) {
this.type = type;
}

public double calculateTotal() {
return type*value;
}
}

我在这段代码中验证了:

public static void main(String[] args) {
Package pkg = new Package();
pkg.addPackage(10,10);
pkg.addPackage(10,20);
System.out.println(pkg.listSize());

}

正如预期的那样,它返回2。所有这些类(class)可能与您所拥有的不完全相同,但它会让您了解您缺少什么。

关于java - 将对象添加到 Arraylist 并在方法外部使用它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30126776/

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