如何在java上显示所有对象
Item.java 我有一个项目的变量名称和重量如何在java上显示所有对象,java,inheritance,polymorphism,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(){
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中显示这一点
感谢您的帮助在您的Bag类中定义一个函数:
public void printBag() {
for(Item element : myBags) {
System.out.println('Name: ' + element.name);
System.out.println('Weight: ' + element.weight);
}
}
public void printBag() {
for(int i =0; i< itemCount; i++) {
System.out.println("Name: " + myBags[i].name);
System.out.println("Weight: " + myBags[i].weight);
}
}
从主界面调用它:
在Bag类中定义一个函数:
public void printBag() {
for(Item element : myBags) {
System.out.println('Name: ' + element.name);
System.out.println('Weight: ' + element.weight);
}
}
public void printBag() {
for(int i =0; i< itemCount; i++) {
System.out.println("Name: " + myBags[i].name);
System.out.println("Weight: " + myBags[i].weight);
}
}
从主界面调用它:
您必须重写类中的toString方法:
对于第一个项目类别:
@Override
public String toString() {
return "Name: "+ name + ": weight "+ weight +"Kg";
}
然后是包课
这样,每次打印包时,您都会得到包的内容。您必须重写类中的toString方法:
对于第一个项目类别:
@Override
public String toString() {
return "Name: "+ name + ": weight "+ weight +"Kg";
}
然后是包课
这样,每次打印您的书包时,您都会得到它的内容。在bag类中:
public void printBag() {
for(Item element : myBags) {
System.out.println('Name: ' + element.name);
System.out.println('Weight: ' + element.weight);
}
}
public void printBag() {
for(int i =0; i< itemCount; i++) {
System.out.println("Name: " + myBags[i].name);
System.out.println("Weight: " + myBags[i].weight);
}
}
在主要方法中:
myBag.printBag 行李舱:
public void printBag() {
for(Item element : myBags) {
System.out.println('Name: ' + element.name);
System.out.println('Weight: ' + element.weight);
}
}
public void printBag() {
for(int i =0; i< itemCount; i++) {
System.out.println("Name: " + myBags[i].name);
System.out.println("Weight: " + myBags[i].weight);
}
}
在主要方法中:
myBag.printBag 您可能需要向Item类添加一个print函数,该函数只打印name字段。然后运行包中的所有项目,并用这种方法调用您定义的函数。@Rexam是的,您是对的。System.out.printlnmyBag.myBags[0]。name我可以这样显示它,但我需要显示所有项目的输出如果要调用System.out.printlnmyBag,则应该重写Item和Bag的toString方法。另外,请看这里:您可能需要向Item类添加一个打印函数,该函数只打印name字段。然后运行包中的所有项目,并用这种方法调用您定义的函数。@Rexam是的,您是对的。System.out.printlnmyBag.myBags[0]。name我可以这样显示它,但我需要显示所有项目的输出如果要调用System.out.printlnmyBag,则应该重写Item和Bag的toString方法。另外,看看这里:你是什么意思?我无法理解修复,请参阅我的编辑。顺便说一句,我建议你不要使用项目[],而是使用列表。谢谢你的回答,但我不想要这个输出。我需要item.name和item.weight输出您只需相应地将方法更改为string到item类。我已经做了编辑,你可以在回答中看到:你是什么意思?我无法理解修复,请参阅我的编辑。顺便说一句,我建议你不要使用项目[],而是使用列表。谢谢你的回答,但我不想要这个输出。我需要item.name和item.weight输出您只需相应地将方法更改为string到item类。我已经做了编辑,你可以在回答中看到,很高兴你帮了忙: