档案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访问我刚刚添加到我的arraylist中的变量。我试图打印我使用getmethod的变量,但我只能得到数组的引用号。有人可以解释一下如何在ArrayList中获取Element吗?
谢谢!对不起的英语提前抱歉!
答案 0 :(得分:0)
为
添加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());
}