黑马程序员技术交流社区

标题: 从数组中取最大值,大家看看这个怎么样 [打印本页]

作者: Novice.Jin    时间: 2015-1-19 16:18
标题: 从数组中取最大值,大家看看这个怎么样
  1. /**
  2. * 该类用于提取数组中的最大值
  3. * @author Novice
  4. *
  5. */

  6. class GetMax{
  7.         private int[] arr;
  8.         private GetMax(){}//必须传入一个数组,才能创建该类
  9.         /**
  10.          * 创建该类对象时,需要传入一个整形数组
  11.          * @param arr for int[]
  12.          */
  13.         GetMax(int[] arr){//构造函数,在创建对象时接收一个数组
  14.                 this.arr = arr;
  15.         }
  16.         /**
  17.          * 该方法用于提取整形数组中的最大值
  18.          * @return int for int[]
  19.          */
  20.         public int getMax(){
  21.                 int max = 0;//用于存放数组中最大数组的下表
  22.                 for (int i = 0 ; i < this.arr.length-1 ; i++){//循环判断,不多做解释
  23.                         if (this.arr[max] < this.arr[i+1]){
  24.                                 max = i+1;
  25.                         }
  26.                 }
  27.                 return this.arr[max];//返回一个最大的整数,该整数来自于一个整形数组
  28.         }
  29. }

  30. public class Demo {

  31.         public static void main(String[] args) {
  32.                 // TODO Auto-generated method stub
  33.                 int[] arr = {1,2,3,4,5,6,7,8,9,10};
  34.                 GetMax getMax = new GetMax(arr);
  35.                 System.out.println(getMax.getMax());

  36.         }

  37. }
复制代码


作者: 瞿乐    时间: 2015-1-19 16:44
不错,不过有两点可以优化的。
第一点是可以使用工具类静态方法的形式,不用创建新对象,直接调用用起来方便。
第二点是,如果要用这种形式的话,不用写那个 private GetMax(){}。每个类,如果没有写构造函数,默认是会有个空的构造函数,但是,你写了有参数构造函数的时候,是不会有那个空的构造函数了,除非你自己手动重写。
纯属个人之见,仅供参考。
作者: Novice.Jin    时间: 2015-1-19 17:13
瞿乐 发表于 2015-1-19 16:44
不错,不过有两点可以优化的。
第一点是可以使用工具类静态方法的形式,不用创建新对象,直接调用用起来方 ...

关于第二点

我就是要重写哪个默认构造函数并私有

这样每次创建对象就必须传入一个数组
作者: Novice.Jin    时间: 2015-1-19 17:14
还有的一点,我是在写一个类,而不是一个方法
这样写方便添加新功能,比如传入浮点型
作者: 梁小刀11    时间: 2015-1-19 22:53
Novice.Jin 发表于 2015-1-19 17:14
还有的一点,我是在写一个类,而不是一个方法
这样写方便添加新功能,比如传入浮点型 ...

你里面已经是int []arr 了把...怎么添加浮点数,,,我是小白.
作者: 梁小刀11    时间: 2015-1-19 23:17
Novice.Jin 发表于 2015-1-19 17:14
还有的一点,我是在写一个类,而不是一个方法
这样写方便添加新功能,比如传入浮点型 ...

你里面已经是int []arr 了把...怎么添加浮点数,,,




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