Item.java
我有一个变量名称和重量的项目
package com.company;
public class Item {
String name;
Double weight;
}
Bag.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中显示?
感谢您的帮助
答案 0 :(得分:2)
您必须重写类中的toString()
方法:
对于首先 Item 类:
@Override
public String toString() {
return "Name: "+ name + ": weight "+ weight +"Kg";
}
然后袋课
@Override
public String toString() {
return Arrays.toString(myBags);
}
通过这种方式,每次打印包包时,您都会得到其中的内容。
答案 1 :(得分:2)
在袋类中:
\/FJw==
在主要方法中:
public void printBag() {
for(int i =0; i< itemCount; i++) {
System.out.println("Name: " + myBags[i].name);
System.out.println("Weight: " + myBags[i].weight);
}
}
答案 2 :(得分:0)
在Bag类中定义一个函数:
public void printBag() {
for(Item element : myBags) {
System.out.println('Name: ' + element.name);
System.out.println('Weight: ' + element.weight);
}
}
然后从main
调用它:
myBag.printBag();