gpt4 book ai didi

java - 如何通过其他类访问存储到ArrayList中的对象的元素

转载 作者:太空宇宙 更新时间:2023-11-04 11:51:08 25 4
gpt4 key购买 nike

文件1

import java.util.ArrayList;
public class ShoppingCart{

ArrayList<Items> itemList = new ArrayList<Items>();
private static int budget;
private static int limitWeight;
private static int cartWeight = 0;
private static final int tax = 10;
private int itemCount;

ShoppingCart(int budget, int limitWeight){
this.budget = budget;
this.cartWeight = limitWeight;
}

public ArrayList<Items> returnItems(){
return itemList;
}
public int getCartWeight(){
return cartWeight;
}

public int getBudget(){
return budget;
}
public int getTax(){
return tax;
}
public int addWeight(int itemWeight){
return cartWeight+=itemWeight;
}

public boolean isOverweight(){
if(this.cartWeight > limitWeight){
return true;
}else{
return false;
}
}

public int weightTillOverweight(){
return limitWeight-this.cartWeight;
}

public void heviestItem(){

}

public void addItem(Items i){
this.itemList.add(i);
}


public static class Items{
private final String itemName;
private final int itemPrice;
private final int itemWeight;

public Items(String itemName, int itemPrice, int itemWeight){
this.itemName = itemName;
this.itemPrice = itemPrice;
this.itemWeight = itemWeight;
}
public String getItemName() {
return this.itemName;
}
public int getItemPrice() {
return this.itemPrice;
}
public int getItemWeight() {
return this.itemWeight;
}
}
}

文件2

public class TestShoppingCart{
public static void main(String[] args ){


testAddItem();
}
private static ShoppingCart makeCart() {
return new ShoppingCart(100, 50);
}

public static void testAddItem(){
ShoppingCart s0 = makeCart();
s0.addItem(new ShoppingCart.Items("name",2, 1));
s0.addItem(new ShoppingCart.Items("names",3, 1));

}

}

我的代码有一个片段,我正在尝试访问刚刚通过 addItem 添加到数组列表中的变量。我试图打印我使用 get 方法的变量,但我只能获取数组的引用号。有人可以解释一下如何获取 ArrayList 中的元素吗?

谢谢!提前抱歉英语不好!

最佳答案

添加 getter 方法

private final String itemName;
private final int itemPrice;
private final int itemWeight;

这样:

public String getItemName() {
return this.itemName;
}

然后:

for(int i = 0; i < s0.returnItems().size(); i++){
System.out.println(s0.returnItems().get(i).getItemName());
System.out.println(s0.returnItems().get(i).getItemPrice());
System.out.println(s0.returnItems().get(i).getItemWeight());
}

关于java - 如何通过其他类访问存储到ArrayList中的对象的元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41817699/

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