案例: 计算方差:
(1)常用方法,
public static void main(String[] args) { System.out.println("输入五个数:"); Scanner scan = new Scanner(System.in); double a = scan.nextDouble(); double b =scan.nextDouble(); double c = scan.nextDouble(); double d = scan.nextDouble(); double e = scan.nextDouble(); double mean = (a+b+c+d+e)/5; double var = (Math.pow(a-mean,2)+Math.pow(b-mean,2)+Math.pow(c-mean,2)+Math.pow(d-mean,2)+Math.pow(e-mean,2))/5; /*double sdev = Math.abs(var);*/ System.out.println(var); }
这种方法十分死板,如果是十个数、四十个数,定义起来会非常麻烦。
(2)数组方法:
public static void main(String[] args) { Scanner scan = new Scanner(System.in); int [ ] num = new int[5]; //创建一个新数组,数组名为num,数组长度为5,数组长度可根据自己实际需要自定义, int sum=0; for (int n=0;n<num.length;n++){ //数组下标即数组第一个数是从0开始计算,n.length是数组长度, num[n] = scan.nextInt(); sum +=num[n]; //每个数相加的和 } double mean = sum/5.0;//平均数 double var = 0; //方差 for (int n=0;n<num.length;n++){ var += (num[n]-mean)*(num[n]-mean); } var = var/5.0; }
数组和循环的配合,可以使解题方法更为灵活,且不需要定义过多的变量。