范例1. 静态内部类求数组的极值
(1) 在项目中创建MaxMin类,在该类中定义一个静态内部类Result。然后在内部类中定义两个浮点型属性,一个是max——代表最大值,
一个是min——代表最小值。再使用构造方法进行初始化,并提供getMax()和getMin()方法来获得这两个值。最后定义一个静态方法getResult(),
该方法的返回类型是Result。示例代码如下:
public class MaxMin { public static class Result{ private double max; //表示最大值 private double min; //表示最小值 public Result(double max,double min) { //使用构造方法进行初始化 this.max=max; this.min=min; } public double getMax() { //获得最大值 return max; } public double getMin() { //获得最小值 return min; } public static Result getResult(double[] array) { double max=Double.MIN_VALUE; double min=Double.MAX_VALUE; for(double i:array) { //遍历数组获得最大值和最小值 if(i>max) { max=i; } if(i<min) { min=i; } } return new Result(max,min); //返回Result对象 } } }
(2) 在项目中创建Demo类,在该类的主方法中,使用随机数初始化一个指定长度的数组,并求得该数组的最大值和最小值。示例代码如下:
public class Demo { public static void main(String[] args) { // TODO Auto-generated method stub double[] array=new double[10]; for(int i=0;i<array.length;i++) { //初始化数组 array[i]=100*Math.random(); } System.out.println("********原数组是:********"); for(int i=0;i<array.length;i++) { System.out.println(array[i]); //显示数组中的元素 } System.out.println("数组中最大元素是:"+MaxMin.Result.getResult(array).getMax()); System.out.println("数组中最小元素是:"+MaxMin.Result.getResult(array).getMin()); } }
执行上面代码显示如下:
********原数组是:******** 32.486306491447046 26.73199724027362 62.83754290258193 34.850605081482925 2.891460871285634 68.81028436198814 53.92970869942765 44.54562673150725 90.4919151730465 9.91663693195608 数组中最大元素是:90.4919151730465 数组中最小元素是:2.891460871285634