黑马程序员技术交流社区

标题: 看到基础视频发现了一个问题 [打印本页]

作者: janstk    时间: 2015-2-8 20:52
标题: 看到基础视频发现了一个问题
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. }
复制代码










欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2