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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© janstk 中级黑马   /  2015-2-8 20:52  /  751 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

123_面向对象练习(练习4)中的22题
原题:
  1. class Circle
  2. {
  3.     private static double PI  = 3.14;
  4.     private double radius;
  5.     public Circle(double r)
  6.     {
  7.         radius = r;
  8.     }
  9.     public static double compare(Circle cir[])
  10.     {
  11.         //补全代码,实现compare功能

  12.     }
  13.     public static void main(String args[])
  14.     {
  15.         Circle cir[] = new Circle[3];
  16.         cir[0] = new Circle(1.0);
  17.         cir[1] = new Circle(2.0);
  18.         cir[3] = new Circle(4.0);
  19.         System.out.println(Circle.compare(cir));
  20.         
  21.     }
  22. }
复制代码
老师给出的答案个人感觉有点小问题:(没有判断传入的对象是否为空)
  1. class Circle
  2. {
  3.     private static double PI  = 3.14;
  4.     private double radius;
  5.     public Circle(double r)
  6.     {
  7.         radius = r;
  8.     }
  9.     public static double compare(Circle cir[])
  10.     {
  11.         int max = 0;
  12.         for(int x = 0; x< cir.length;x++)
  13.         {
  14.             if(cir[x]!=null && cir[max]!=null) //先判断都不为空对象...
  15.             {
  16.                 if(cir[x].radius>cir[max].radius)
  17.                     max = x;
  18.             }else if(cir[max]==null)                                            
  19.             {
  20.                 max++;
  21.             }
  22.             
  23.         }
  24.         return cir[max].radius
  25.     }
  26.     public static void main(String args[])
  27.     {
  28.         Circle cir[] = new Circle[3];
  29.         cir[0] = new Circle(1.0);
  30.         cir[1] = new Circle(2.0);
  31.         cir[3] = new Circle(4.0);
  32.         System.out.println(Circle.compare(cir));
  33.         
  34.     }
  35. }
复制代码





0 个回复

您需要登录后才可以回帖 登录 | 加入黑马