Java - OOP 对象数组并显示它们
Java - OOP array of objects and display them
我创建了一个对象(杯子)数组,我也设置了体积、容量和颜色,所有这些都是通过调用 .display() 显示的,但是我可以让 display() 在试图循环遍历杯子数组时的这个实例。我没有从 display() 方法中得到显示杯子容量和颜色的输出,我添加了两位代码,一个在包含显示方法的杯子 class 中,第一个显示我试图创建一个数组并显示每个杯子。我将非常感谢任何帮助,因为这是学校作业的一部分。
当前输出截图
public static void main(String[] args)
{
//Makes Array of cups
Cup [] Cups = new Cup[4];
// Creates 4 Cups with 250 capacity and black colour
for(int i = 0 ; i > 4 ; i++)
{
Cups[i] = new Cup (250, ContainerColour.BLACK );
Cups[i].display();
}
//Teapot, Wash and then fill with tea
TeaCup myTeaCup = new TeaCup();
myTeaCup.Wash();
myTeaCup.Fill();
myTeaCup.display();
}
我的杯子 oop 代码:
// ---------------------------------------------------------------------
// class variables
// ---------------------------------------------------------------------
private ContainerColour myColour;
private int iCapacity;
private int iVolume;
private int iTemp;
private int iFill;
private String SzMaterial;
private Boolean bEmpty;
// ---------------------------------------------------------------------
// Constructors
// ---------------------------------------------------------------------
public Cup()
{
super();
reset();
return;
}
public Cup (Cup original) {
iCapacity = original.getCapacity();
iVolume = original.getVolume();
SzMaterial = original.getMaterial();
}
public Cup(int size)
{
this();
super.setCapacity(size);
setColour(ContainerColour.NOT_SET);
return;
}
public Cup (int size , ContainerColour colour)
{
this (size);
setColour(colour);
return;
}
//setters
public void setColour(ContainerColour c)
{
myColour = c;
}
//getters
public ContainerColour getColour()
{
return(this.myColour) ;
}
//main
public void display()
{
System.out.println("Cup: \nCapacity = " + getCapacity());
System.out.println("Volume = " + getVolume());
System.out.println("Colour = " + getColour() );
if(iVolume == 0) {
bEmpty = true;
}
else {
bEmpty = false;
}
System.out.println("Empty = " + bEmpty );
return;
}
public static void main(String[] args) {
Cup myCup = new Cup();
myCup.setCapacity(250);
myCup.setColour(ContainerColour.WHITE);
myCup.Wash();
myCup.fill();
myCup.display();
}
而不是 hard-coding 4,使用实际数组本身来确定 length
并在你的 for
循环中使用它:
for(int i=0; i<Cups.length; i++) {
Cups[i] = new Cup (250, ContainerColour.BLACK );
Cups[i].display();
}
public static void main(String[] args)
{
//Makes Array of cups
Cup [] Cups = new Cup[4];
// Creates 4 Cups with 250 capacity and black colour
for(int i = 0 ; i < 4 ; i++)
{
Cups[i] = new Cup (250, ContainerColour.BLACK );
Cups[i].display();
}
//Teapot, Wash and then fill with tea
TeaCup myTeaCup = new TeaCup();
myTeaCup.Wash();
myTeaCup.Fill();
myTeaCup.display();
}
因此,如果您在编码循环中犯了所有错误,它应该小于 4,其次,数组索引从零开始,这意味着当您达到 3 时,您将迭代数组 Cups 中的所有对象。
我创建了一个对象(杯子)数组,我也设置了体积、容量和颜色,所有这些都是通过调用 .display() 显示的,但是我可以让 display() 在试图循环遍历杯子数组时的这个实例。我没有从 display() 方法中得到显示杯子容量和颜色的输出,我添加了两位代码,一个在包含显示方法的杯子 class 中,第一个显示我试图创建一个数组并显示每个杯子。我将非常感谢任何帮助,因为这是学校作业的一部分。
当前输出截图
public static void main(String[] args)
{
//Makes Array of cups
Cup [] Cups = new Cup[4];
// Creates 4 Cups with 250 capacity and black colour
for(int i = 0 ; i > 4 ; i++)
{
Cups[i] = new Cup (250, ContainerColour.BLACK );
Cups[i].display();
}
//Teapot, Wash and then fill with tea
TeaCup myTeaCup = new TeaCup();
myTeaCup.Wash();
myTeaCup.Fill();
myTeaCup.display();
}
我的杯子 oop 代码:
// ---------------------------------------------------------------------
// class variables
// ---------------------------------------------------------------------
private ContainerColour myColour;
private int iCapacity;
private int iVolume;
private int iTemp;
private int iFill;
private String SzMaterial;
private Boolean bEmpty;
// ---------------------------------------------------------------------
// Constructors
// ---------------------------------------------------------------------
public Cup()
{
super();
reset();
return;
}
public Cup (Cup original) {
iCapacity = original.getCapacity();
iVolume = original.getVolume();
SzMaterial = original.getMaterial();
}
public Cup(int size)
{
this();
super.setCapacity(size);
setColour(ContainerColour.NOT_SET);
return;
}
public Cup (int size , ContainerColour colour)
{
this (size);
setColour(colour);
return;
}
//setters
public void setColour(ContainerColour c)
{
myColour = c;
}
//getters
public ContainerColour getColour()
{
return(this.myColour) ;
}
//main
public void display()
{
System.out.println("Cup: \nCapacity = " + getCapacity());
System.out.println("Volume = " + getVolume());
System.out.println("Colour = " + getColour() );
if(iVolume == 0) {
bEmpty = true;
}
else {
bEmpty = false;
}
System.out.println("Empty = " + bEmpty );
return;
}
public static void main(String[] args) {
Cup myCup = new Cup();
myCup.setCapacity(250);
myCup.setColour(ContainerColour.WHITE);
myCup.Wash();
myCup.fill();
myCup.display();
}
而不是 hard-coding 4,使用实际数组本身来确定 length
并在你的 for
循环中使用它:
for(int i=0; i<Cups.length; i++) {
Cups[i] = new Cup (250, ContainerColour.BLACK );
Cups[i].display();
}
public static void main(String[] args)
{
//Makes Array of cups
Cup [] Cups = new Cup[4];
// Creates 4 Cups with 250 capacity and black colour
for(int i = 0 ; i < 4 ; i++)
{
Cups[i] = new Cup (250, ContainerColour.BLACK );
Cups[i].display();
}
//Teapot, Wash and then fill with tea
TeaCup myTeaCup = new TeaCup();
myTeaCup.Wash();
myTeaCup.Fill();
myTeaCup.display();
}
因此,如果您在编码循环中犯了所有错误,它应该小于 4,其次,数组索引从零开始,这意味着当您达到 3 时,您将迭代数组 Cups 中的所有对象。