所以基本上我有这个java赋值,其中有六个类(Rectangle,Circle,Cylinder,Box,ShapesABSTester),我需要创建一个数组然后使用for循环使用 instanceOf 方法识别数组中的对象。
这就是我对循环的看法
for(int i = 0; 1 < myShapes.length; i++)
{
System.out.println(myShapes[i].toString());
}
这完全正常,因为它通过列表并通过从其他类获取toString方法打印出我需要的所有输出,但显然我必须使用instanceOf方法来实现这一点。我在这里搜索过谷歌并且没有找到任何我需要的东西,所以希望有人可以帮我解决正确的语法。
根据说明说明
使用for循环使用instanceOf方法检查数组中的每个项目以确定 如果对象是圆柱体,圆形,方框或矩形
我。打印出对象的类型和对象的toString()
II。只需“输入”一次对象
III。如果一个物体是圆柱体,那么也不要将它称为圆形
IV。如果一个对象是一个盒子,那么也不要把它称为矩形
因此输出应该类似
对象0是一个矩形,然后打印toString方法
对象1是一个框
对象2是一个圆圈
对象3是圆柱体
答案 0 :(得分:1)
谷歌的第二个结果...... https://stackoverflow.com/questions/7526817/use-of-instance-of-in-java
if( object instanceof Rectangle) {
System.out.println("object is rectangle");
}
答案 1 :(得分:-1)
for(int i = 0; i < myShapes.length; i++)
{
System.out.print("Object " + i + " is a");
if(myShapes[i] instanceof Rectangle)
System.out.print(" rectangle: ");
else if(myShapes[i] instanceof Circle)
System.out.print(" circle: ");
else if(myShapes[i] instanceof Box)
System.out.print(" box: ");
else if(myShapes[i] instanceof Cylinder)
System.out.print(" cylinder: ");
System.out.println(myShapes[i].toString());
}