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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

/*
有一个圆形和长方形。
都可以获取面积,对于面积如果出现非法的数值,视为是获取面积出现问题。
问题通过异常来表示。
*/

interface Shape
{
         
                double getArea();
         
}

class Rec implements Shape
{
         private int len,wid;
         
         Rec(int len,int wid)
         {
             this.len = len;
             this.wid = wid;
         }

         public double getArea()
         {
            
                        return len * wid;
         }

}

class ExceptionTest1
{
      public static void main(String[] args)
      {
              Rec r = new Rec(5,3);
              r.getArea();
            
      }
}

运行后什么也不显示,正常应该打印出结果15.0。

3 个回复

倒序浏览
bTbl[i] = new boolean[i+1];   这是新建一个数组 并让其btbl这个二维数组中的第i个数组等于这个新建的数组 跟btbl.length没有关系.
写成下面这样就好理解了.
boolean[] bls=new boolean[i+1];
btbl[i]=bls;//btbl这个二维数组中的第i个元素就是刚刚新建的bls 也就是new boolean[i+1];
回复 使用道具 举报
大哥,首先,你这代码太乱了,第2,2个成员变量都是INT型,你的获取面积方法返回DOUBLE型,能输出才有鬼,曾四豆...我给你改了一下,结果就出来了.自己看吧.
  1. interface Shape
  2. {
  3.          
  4.                 void getArea();
  5.          
  6. }

  7. class Rec implements Shape
  8. {
  9.          private double len;
  10.                  private double wid;
  11.          
  12.          Rec(double len,double wid)
  13.          {
  14.              this.len = len;
  15.              this.wid = wid;
  16.          }

  17.          public void getArea()
  18.          {
  19.             
  20.                         System.out.println(len * wid);
  21.          }

  22. }

  23. class ExceptionTest1
  24. {
  25.       public static void main(String[] args)
  26.       {
  27.               Rec r = new Rec(5.00,3.00);
  28.               r.getArea();
  29.             
  30.       }
  31. }

复制代码
回复 使用道具 举报
本帖最后由 徐鹏跃 于 2013-11-21 14:59 编辑

没有打印啊  System.out.println(),修改了下代码,加入了面积为负数的处理异常
  1. <span style="background-color: rgb(255, 255, 255); line-height: 1.5;">
  2. </span>
复制代码

public class Rec implements Shape {
        private double len,wid;
    public Rec(double len, double wid)
    {
        this.len = len;
        this.wid = wid;
    }
        @Override
        public double getArea() {
                if(len < 0 || wid < 0) {
                        throw new RuntimeException("参数不能为负数!!!");
                }
                return len * wid;
        }
        public static void main(String[] args) {
                Rec r = new Rec(5.00,3.00);
        System.out.println(r.getArea());
        }
}
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马