1.数组案例:数组数据统计
现在假设给你一个数组,要求可以统计出数组的最大值,最小值,平均值,总和。这些操作肯定是需要通过循环的操作形式完成。
范例 1:基本实现
public class Test{
public static void main(String[] args){
int data [] = new int []{1,2,3,4,5,66,7,8,9};
int max = data[0]; //假设第一个数据为数组中的最大内容
int min = data[0]; //假设第一个数据为数组中的最小内容
int sum = data[0];
for(int x=1;x<data.length;x++){
sum += data[x];
if(data[x] > max){ //当前内容大于最大内容
max = data[x];
}
if(data[x] < min){ //当前内容小于最小内容
min = data[x];
}
}
System.out.println("最大值:"+max);
System.out.println("最小值:"+min);
System.out.println("总合:"+sum);
System.out.println("平均值:"+sum/data.length);
}
//定义一个专门进行数组输出的方法
public static void printArray(int temp[]){
for(int x=0;x<temp.length;x++){
System.out.print(temp[x] + ",");
}
System.out.println("");
}
}
此时确实实现了所需要的功能,但是随之会发现主方法中的代码有些多。
主方法实际上就相当于一个客户端调用,那么既然是客户端调用,里面的代码应该越简单越好。
范例 2:改进代码
public class Test{
public static void main(String[] args){
int data [] = new int []{1,2,3,4,5,66,7,8,9};
double result[] = stat(data); //数据统计
System.out.println("最大值:"+result[0]);
System.out.println("最小值:"+result[1]);
System.out.println("总合:"+result[2]);
System.out.println("平均值:"+result[3]);
}
//此时需要返回的数据一共有四个,那么一个方法返回一种数据类型,所以
//应该使用数组返回
// 数组[0]为最大值,数组[1]为最小值,数组[2]为总和,数组[3]为平均值。
public static double[] stat(int data[]){
double retData[] = new double[4];
retData[0]= data[0];
retData[1]= data[0];
retData[2]= data[0];
for(int x=1;x<data.length;x++){
retData[2] += data[x];
if(data[x] > retData[0]){ //当前内容大于最大内容
retData[0] = data[x];
}
if(data[x] < retData[1]){ //当前内容小于最小内容
retData[1] = data[x];
}
}
retData[3] = retData[2] / data.length;
return retData;
}
//定义一个专门进行数组输出的方法
public static void printArray(int temp[]){
for(int x=0;x<temp.length;x++){
System.out.print(temp[x] + ",");
}
System.out.println("");
}
}
在整个进行程序开发的时候,主方法不要涉及到过于复杂的程序逻辑,只需要关注结果。
网友评论