【发布时间】:2018-07-12 14:45:37
【问题描述】:
Item.java
我有一个带有变量名称和重量的项目
package com.company;
public class Item {
String name;
Double weight;
}
包.java
这个包最多可以容纳 20 公斤的物品。
package com.company;
public class Bag {
Item [] myBags;
int itemCount;
Double currentWeight;
Bag(){
itemCount = 0;
currentWeight = 0.0;
myBags = new Item[50];
}
boolean canAddItem(Item item) {
if (currentWeight + item.weight > 20) {
return false;
} else {
return true;
}
}
void AddItem(Item item){
myBags[itemCount] = item;
currentWeight = currentWeight + myBags[itemCount].weight;
itemCount++;
}
}
Main.java
package com.company;
public class Main {
public static void main(String[] args) {
// write your code here
Bag myBag = new Bag();
/*item 1*/
Item fishing_rod = new Item();
fishing_rod.name = "rod1";
fishing_rod.weight = 10.4;
if(myBag.canAddItem(fishing_rod)){
myBag.AddItem(fishing_rod);}
/*item 2*/
Item axe = new Item();
axe.name = "axe1";
axe.weight = 2.2;
if(myBag.canAddItem(axe)){
myBag.AddItem(axe);}
System.out.println(myBag.currentWeight);
//System.out.println(myBag.myBags); i want to show that's here
}
}
我在包中添加了两个对象。我想显示我在包中添加的所有对象。
如何显示?如何在 java 中显示?
感谢您的帮助
【问题讨论】:
-
您可能需要在您的
Item类中添加一个print函数,该函数只打印name字段。然后遍历你包里的所有物品,调用你这样定义的函数。 -
@Rexam 是的,你是对的。 "System.out.println(myBag.myBags[0].name)" 我可以这样显示,但我想要显示所有项目的输出
-
如果你想调用
System.out.println(myBag)你应该覆盖Item和Bag的toString()方法。另外看看这里:How to use the toString method in Java?
标签: java inheritance polymorphism