如何显示Java上的所有对象

时间:2018-07-12 14:45:37

标签: java inheritance polymorphism

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中显示?

感谢您的帮助

3 个答案:

答案 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();