今天,上课时看到书中的Java数组,跟c/c++略有不同,所以,写了几个简单的数组函数,分别为求数组中最大值,最小值,平均值,和方阵相乘,来看看代码吧!
/**
* java 数组玩一波
*/
package practice;
public class java_array {
public static int getMax(int[]a){
//获取数组的最大值
int max=a[0];
int N=a.length-1;
for(int i=0;i<N;i++)
if(a[i]>max)max=a[i];
return max;
}
public static double getMax(double[]a){
//获取数组的最大值
double max=a[0];
int N=a.length-1;
for(int i=0;i<N;i++)
if(a[i]>max)max=a[i];
return max;
}
public static int getMin(int[]a){
//获取数组的最小值
int max=a[0];
int N=a.length-1;
for(int i=0;i<N;i++)
if(a[i]<max)max=a[i];
return max;
}
public static double getMin(double[]a){
//获取数组的最小值
double max=a[0];
int N=a.length;
for(int i=0;i<N;i++)
if(a[i]<max)max=a[i];
return max;
}
public static double GetAvg(double[]a){
//求数组元素的平均值
int N=a.length;
double sum=0.0;
for(int i=0;i<N;i++)sum+=a[i];
double average=sum/N;
return average;
}
public static double[] copyAry(double[]a){
int N=a.length;
double []b=new double[N];
for(int i=0;i<N;i++)
b[i]=a[i];
return b;
}
public static void inverted_order(double[]a){
//数组倒序
int N=a.length;
for(int i=0;i<N/2;i++){
double temp=a[i];
a[i]=a[N-1-i];
a[N-1-i]=temp;
}
}
public static double[][] mult(double[][]a,double[][]b){
//方阵相乘
int N=a.length;
double [][]c = new double[N][N];
for(int i=0;i<N;i++)
for(int j=0;j<N;j++){
//计算i和列j的点乘
for(int k=0;k<N;k++)
c[i][j]+=a[i][k]*b[k][j];
}
return c;
}
public static void main(String[] args) {
double []a={1,2,3,6,4,5};
double []b,c;
System.out.println(GetAvg(a)+" "+getMax(a)+" "+getMin(a));
for(int i=0;i<a.length;i++)
System.out.print(a[i]+" ");
System.out.println();
b=a.clone();
c=copyAry(a);
inverted_order(c);
for(int i=0;i<b.length;i++)
System.out.print(b[i]+" ");
System.out.println();
for(int i=0;i<c.length;i++)
System.out.print(c[i]+" ");
System.out.println();
double [][]aa={{1,2,3},{2,3,4},{4,5,6}};
double [][]bb={{1,2,3},{4,5,6},{5,6,7}};
double [][]cc=mult(aa,bb);
for(int i=0;i<cc.length;i++){
for(int j=0;j<cc.length;j++){
System.out.print(cc[i][j]+" ");
}
System.out.println();
}
}
}
Java数组患有很多东西可以写,比如排序啊什么的,这里只写了方阵相乘,大家也可以试试矩阵相乘,就这样吧