import java.util.ArrayList;
import java.util.Iterator;
public class TestTriangle{
public static void main(String[] args){
int i=0;
ArrayList<GeometricObject>s=new ArrayList<GeometricObject>();
GeometricObject s1=new Triangle(1.5,2.6,4.8);
GeometricObject s2=new Triangle(1.5,2.5,3.5);
GeometricObject s3=new Triangle(4.5,5.5,6.5);
GeometricObject s4=new Triangle(3.0,4.0,5.0);
s.add(s1);
s.add(s2);
s.add(s3);
s.add(s4);
/** for(i=0;i<s.size();i++) //第一种遍历方法;
{
if(((Triangle)s.get(i)).isTriangle()==true)
{
System.out.print("三角形的形状是:");
System.out.print(((Triangle)s.get(i)).getSide1()+" ");
System.out.print(((Triangle)s.get(i)).getSide2()+" ");
System.out.println(((Triangle)s.get(i)).getSide3()+" ");
System.out.print("三角形的面积是:");
System.out.println(((Triangle)s.get(i)).findArea());
}
else
System.out.println("输入的三条边不能构成三角形,请重输!");
} */
Iterator it=s.iterator(); //第二种遍历方法,须添加包 import java.util.Iterator;
while(it.hasNext())
{
if(((Triangle)s.get(i)).isTriangle()==true)
{
System.out.print("三角形的形状是:");
System.out.print(((Triangle)s.get(i)).getSide1()+" ");
System.out.print(((Triangle)s.get(i)).getSide2()+" ");
System.out.println(((Triangle)s.get(i)).getSide3()+" ");
System.out.print("三角形的面积是:");
System.out.println(((Triangle)s.get(i)).findArea());
}
else
System.out.println("输入的三条边不能构成三角形,请重输!");
}
}
}
第二个遍历,为什么不能输入我要的结果,而是反复的输出 输入的三条边不能构成三角形,请重输!"
import java.util.Iterator;
public class TestTriangle{
public static void main(String[] args){
int i=0;
ArrayList<GeometricObject>s=new ArrayList<GeometricObject>();
GeometricObject s1=new Triangle(1.5,2.6,4.8);
GeometricObject s2=new Triangle(1.5,2.5,3.5);
GeometricObject s3=new Triangle(4.5,5.5,6.5);
GeometricObject s4=new Triangle(3.0,4.0,5.0);
s.add(s1);
s.add(s2);
s.add(s3);
s.add(s4);
/** for(i=0;i<s.size();i++) //第一种遍历方法;
{
if(((Triangle)s.get(i)).isTriangle()==true)
{
System.out.print("三角形的形状是:");
System.out.print(((Triangle)s.get(i)).getSide1()+" ");
System.out.print(((Triangle)s.get(i)).getSide2()+" ");
System.out.println(((Triangle)s.get(i)).getSide3()+" ");
System.out.print("三角形的面积是:");
System.out.println(((Triangle)s.get(i)).findArea());
}
else
System.out.println("输入的三条边不能构成三角形,请重输!");
} */
Iterator it=s.iterator(); //第二种遍历方法,须添加包 import java.util.Iterator;
while(it.hasNext())
{
if(((Triangle)s.get(i)).isTriangle()==true)
{
System.out.print("三角形的形状是:");
System.out.print(((Triangle)s.get(i)).getSide1()+" ");
System.out.print(((Triangle)s.get(i)).getSide2()+" ");
System.out.println(((Triangle)s.get(i)).getSide3()+" ");
System.out.print("三角形的面积是:");
System.out.println(((Triangle)s.get(i)).findArea());
}
else
System.out.println("输入的三条边不能构成三角形,请重输!");
}
}
}
第二个遍历,为什么不能输入我要的结果,而是反复的输出 输入的三条边不能构成三角形,请重输!"
while(it.hasNext())
{
Triangle t=(Triangle)it.next();
if(t.isTriangle())
{
System.out.print("三角形的形状是:");
System.out.print(((Triangle)s.get(i)).getSide1()+" ");
System.out.print(((Triangle)s.get(i)).getSide2()+" ");
System.out.println(((Triangle)s.get(i)).getSide3()+" ");
System.out.print("三角形的面积是:");
System.out.println(((Triangle)s.get(i)).findArea());
}
else
System.out.println("输入的三条边不能构成三角形,请重输!");
}