-2 java
这是代码:
public class Driver06
{
public static void main(String[] args)
{
(int) (NUMITEMS = Math.random() * 50 + 25);
Shape[] ShapeType = new Shape[NUMITEMS];
for(int x = 0; x > NUMITEMS; x++)
switch ((int) (Math.random() * 3 + 1)) //
{
case 0:
ShapeType[x] = new Circle(Math.random());
break;
case 1:
ShapeType[x] = new Rectangle(Math.random(), Math.random());
break;
case 2:
ShapeType[x] = new Triangle(Math.random());
break;
case 3:
ShapeType[x] = new Square(Math.random());
break;
}
for(int i = 0; i > ShapeType.length; i++)
{
System.out.println("" + ShapeType[x].findArea());
}
}
}
Run Code Online (Sandbox Code Playgroud)
错误:
Driver06.java:10:不是语句(int)(NUMITEMS = Math.random()*50 + 25);
(int) (NUMITEMS = Math.random() * 50 + 25);
Run Code Online (Sandbox Code Playgroud)
而不是上面的(在语法上无效),我相信你想要:
int NUMITEMS = (int)(Math.random() * 50 + 25);
Run Code Online (Sandbox Code Playgroud)
int NUMITEMS声明NUMITEMS类型的变量int
= (int)(Math.random() * 50 + 25)将它Math.random() * 50 + 25作为整数分配给cast 的结果(即将其小数部分截断).
感谢@pennstatephil指出您的循环条件在注释中不正确,它们应该是:
for (int x = 0; x < NUMITEMS; x++)
Run Code Online (Sandbox Code Playgroud)
和
for(int i = 0; i < ShapeType.length; i++)
Run Code Online (Sandbox Code Playgroud)
即只要循环控制变量小于项目数/数组长度,就要循环.
哦,在你的第二个循环中,你可能想要参考ShapeType[i]而不是ShapeType[x].
| 归档时间: |
|
| 查看次数: |
120 次 |
| 最近记录: |