黑马程序员技术交流社区
标题:
请问这个该怎么改呢
[打印本页]
作者:
边道坚
时间:
2013-3-15 14:05
标题:
请问这个该怎么改呢
本帖最后由 边道坚 于 2013-3-16 11:46 编辑
public class TriangleWithException{
private double side1,side2,side3;
private static int numberOfObjects=0;
public TriangleWithException(){
this(1.0,1.0,1.5);
}
public TriangleWithException(double newside1,double newside2,double newside3){
setSide(newSide1,newSide2,newSide3);
numberOfObjects++;
}
public double getSide1(){
return side1;
}
public double getSide2(){
return side2;
}
public double getSide3(){
return side3;
}
public void setSide(double newSide1,double newSide2,double newSide3)
throws IllegalArgumentException {
if(newSide1>=0&&newSide2>=0&&newSide3>=0&&(newSide1+newSide2>newSide3)&&(newSide1+
newSide3>newSide2)&&(newSide2+newSide3>newSide1)){
side1=newSide1;
side2=newSide2;
side3=newSide3;}
else
throw new IllegalArgumentException("Side cannot be negative");
}
public static int getNumberOfObjects(){
return numberOfObjects;
}
public double findArea(){
double p=(side1+side2+side3)/2;
double s=Math.sqrt((double)(p*(p-side1)*(p-side2)*(p-side3)));
return s;
}
}
那么要在测试程序中建立一个可以用来存放Triangle对象的ArrayList,在这个ArrayList中加入多个Trianlge对象,并编程遍历这个集合,将所有存放在ArrayList中的三角形的面积显示出来。请问这要怎么改呢?先谢谢啦
作者:
沉默de羔羊
时间:
2013-3-15 17:41
import java.util.ArrayList;
import java.util.List;
public class TriangleWithException {
private double side1, side2, side3;
private static int numberOfObjects = 0;
public TriangleWithException() {
this(1.0, 1.0, 1.5);
}
public TriangleWithException(double newside1, double newside2,
double newside3) {
setSide(newside1, newside2, newside3);
numberOfObjects++;
}
public double getSide1() {
return side1;
}
public double getSide2() {
return side2;
}
public double getSide3() {
return side3;
}
public void setSide(double newSide1, double newSide2, double newSide3)
throws IllegalArgumentException {
if (newSide1 >= 0 && newSide2 >= 0 && newSide3 >= 0
&& (newSide1 + newSide2 > newSide3)
&& (newSide1 + newSide3 > newSide2)
&& (newSide2 + newSide3 > newSide1)) {
side1 = newSide1;
side2 = newSide2;
side3 = newSide3;
} else
throw new IllegalArgumentException("Side cannot be negative");
}
public static int getNumberOfObjects() {
return numberOfObjects;
}
public double findArea() {
double p = (side1 + side2 + side3) / 2;
double s = Math.sqrt((double) (p * (p - side1) * (p - side2) * (p - side3)));
return s;
}
public static void main(String args[]){
List<TriangleWithException> list=new ArrayList<TriangleWithException>();
list.add(new TriangleWithException(2,2,3));
list.add(new TriangleWithException(3,2,4));
list.add(new TriangleWithException(2,4,5));
list.add(new TriangleWithException(3,5,7));
for(TriangleWithException tr:list){
System.out.println("面积是:"+tr.findArea());
}
}
}
复制代码
上面的main方法就是按照你的需求做的!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2