A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 边道坚 中级黑马   /  2013-3-15 14:05  /  1546 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

本帖最后由 边道坚 于 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中的三角形的面积显示出来。请问这要怎么改呢?先谢谢啦

评分

参与人数 1技术分 +1 收起 理由
贾文泽 + 1 为了让代码格式整齐,请尽量使用代码模版,.

查看全部评分

1 个回复

倒序浏览
  1. import java.util.ArrayList;
  2. import java.util.List;

  3. public class TriangleWithException {
  4.         private double side1, side2, side3;

  5.         private static int numberOfObjects = 0;

  6.         public TriangleWithException() {
  7.                 this(1.0, 1.0, 1.5);
  8.         }

  9.         public TriangleWithException(double newside1, double newside2,
  10.                         double newside3) {
  11.                 setSide(newside1, newside2, newside3);

  12.                 numberOfObjects++;
  13.         }

  14.         public double getSide1() {
  15.                 return side1;
  16.         }

  17.         public double getSide2() {
  18.                 return side2;
  19.         }

  20.         public double getSide3() {
  21.                 return side3;
  22.         }

  23.         public void setSide(double newSide1, double newSide2, double newSide3)
  24.                         throws IllegalArgumentException {
  25.                 if (newSide1 >= 0 && newSide2 >= 0 && newSide3 >= 0
  26.                                 && (newSide1 + newSide2 > newSide3)
  27.                                 && (newSide1 + newSide3 > newSide2)
  28.                                 && (newSide2 + newSide3 > newSide1)) {
  29.                         side1 = newSide1;
  30.                         side2 = newSide2;
  31.                         side3 = newSide3;
  32.                 } else
  33.                         throw new IllegalArgumentException("Side cannot be negative");
  34.         }

  35.         public static int getNumberOfObjects() {
  36.                 return numberOfObjects;
  37.         }

  38.         public double findArea() {
  39.                 double p = (side1 + side2 + side3) / 2;
  40.                 double s = Math.sqrt((double) (p * (p - side1) * (p - side2) * (p - side3)));
  41.                 return s;
  42.         }
  43.         public static void main(String args[]){
  44.                 List<TriangleWithException> list=new ArrayList<TriangleWithException>();
  45.                 list.add(new TriangleWithException(2,2,3));
  46.                 list.add(new TriangleWithException(3,2,4));
  47.                 list.add(new TriangleWithException(2,4,5));
  48.                 list.add(new TriangleWithException(3,5,7));
  49.                
  50.                 for(TriangleWithException tr:list){
  51.                         System.out.println("面积是:"+tr.findArea());
  52.                 }
  53.                
  54.         }
  55. }
复制代码
上面的main方法就是按照你的需求做的!

评分

参与人数 1技术分 +1 收起 理由
黄玉昆 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马