Java:创建随机大小的数组,任务是打印每个项目(不同的形状),最后一个元素不';无法完全打印
这是我的司机Java:创建随机大小的数组,任务是打印每个项目(不同的形状),最后一个元素不';无法完全打印,java,arrays,driver,abstract,Java,Arrays,Driver,Abstract,这是我的司机 public class ShapeDriver { public static void main(String[] args) { // // for (int i= 0; i < arr.length;i++) // { // arr[i]= ranShape(); // } Rectangle rect = new Rectangle(10, 10); C
public class ShapeDriver
{
public static void main(String[] args)
{
//
// for (int i= 0; i < arr.length;i++)
// {
// arr[i]= ranShape();
// }
Rectangle rect = new Rectangle(10, 10);
Circle circ = new Circle(6.7);
rightTriangle riTri = new rightTriangle(9, 12.3);
Square sqa = new Square(2);
//random array 20-50
int roll= 0;
int roll2= 0;
int o= 0;
int p= 0;
int rectCount= 1;
int squCount= 1;
int circCount= 1;
int triCount= 1;
roll= (int)(Math.random()*50) + 20;
System.out.println(roll);
Shape[] arr = new Shape[roll];
for (int l= 0; l < roll; l++)
{
roll2= (int)(Math.random()*4) + 1;
o= (int)(Math.random()*100) + 10;
p= (int)(Math.random()*100) + 1;
if (roll2 == 1)
{
arr[l]= new Rectangle(o, p);
// arr[l].getArea();
// arr[l].getPerimeter();
arr[l].toString();
if (l < roll)
{
System.out.println("Rectangle " + rectCount + " stats are: ");
}
rectCount++;
}
if (roll2 == 2)
{
arr[l]= new Square(o);
// arr[l].getArea();
// arr[l].getPerimeter();
arr[l].toString();
if (l < roll)
{
System.out.println("Square " + squCount + " stats are: ");
}
squCount++;
}
if (roll2 == 3)
{
arr[l]= new rightTriangle(o, p);
// arr[l].getArea();
// arr[l].getPerimeter();
arr[l].toString();
if (l < roll)
{
System.out.println("Right triangle " + triCount + " stats are: ");
}
triCount++;
}
if (roll2 == 4)
{
arr[l]= new Circle(p);
arr[l].toString();
// arr[l].getArea();
// arr[l].getPerimeter();
if (l < roll)
{
System.out.println("Circle " + circCount + " stats are: ");
}
circCount++;
}
}
}
所以我的输出很好-除了最后一个元素,例如,我有
[许多形状和面积/周长]
直角三角形的14个属性是:
班级圆圈面积为:30790.74959783356
类圆的周长为:622.0353454107791
第18圈统计数据包括:
这就是它停止的地方。没有错误消息,只是最后一个元素的一部分,没有实际打印周长或面积(使用getArea/GetPermiture或toString访问)您必须颠倒顺序
for (int l= 0; l < roll; l++)
{
roll2= (int)(Math.random()*4) + 1;
o= (int)(Math.random()*100) + 10;
p= (int)(Math.random()*100) + 1;
if (roll2 == 1)
{
if (l < roll)
{
arr[l]= new Rectangle(o, p);
System.out.println("Rectangle " + rectCount + " stats are: ");
arr[l].toString();
rectCount++;
}
}
if (roll2 == 2)
{
if (l < roll)
{
arr[l]= new Square(o);
System.out.println("Square " + squCount + " stats are: ");
arr[l].toString();
squCount++;
}
}
if (roll2 == 3)
{
if (l < roll)
{
arr[l]= new rightTriangle(o, p);
System.out.println("Right triangle " + triCount + " stats are: ");
arr[l].toString();
triCount++;
}
}
if (roll2 == 4)
{
if (l < roll)
{
arr[l]= new Circle(p);
System.out.println("Circle " + circCount + " stats are: ");
arr[l].toString();
circCount++;
}
}
}
for(int l=0;l
for (int l= 0; l < roll; l++)
{
roll2= (int)(Math.random()*4) + 1;
o= (int)(Math.random()*100) + 10;
p= (int)(Math.random()*100) + 1;
if (roll2 == 1)
{
if (l < roll)
{
arr[l]= new Rectangle(o, p);
System.out.println("Rectangle " + rectCount + " stats are: ");
arr[l].toString();
rectCount++;
}
}
if (roll2 == 2)
{
if (l < roll)
{
arr[l]= new Square(o);
System.out.println("Square " + squCount + " stats are: ");
arr[l].toString();
squCount++;
}
}
if (roll2 == 3)
{
if (l < roll)
{
arr[l]= new rightTriangle(o, p);
System.out.println("Right triangle " + triCount + " stats are: ");
arr[l].toString();
triCount++;
}
}
if (roll2 == 4)
{
if (l < roll)
{
arr[l]= new Circle(p);
System.out.println("Circle " + circCount + " stats are: ");
arr[l].toString();
circCount++;
}
}
}