1、定义一个6行6列的二维整型数组,输出该二维数组中的每行和每列的最大值、最小值、和平均值。(知识点:数组的创建、初始化和元素访问)
要求:(1)数组元素的值随机产生,大小为20值99之间;
(2)输出结果按下面表格的形式输出。每行,每列后面输出和、平均值、最大值和最小值,其中平均值保留小数点1位。
98 | 44 | 55 | 64 | 84 | 27 | | | sum | avg | min | max |
67 | 53 | 75 | 91 | 74 | 64 | | | ||||
67 | 64 | 83 | 62 | 39 | 27 | | | ||||
81 | 45 | 26 | 98 | 24 | 55 | | | ||||
56 | 34 | 64 | 60 | 97 | 32 | | | ||||
66 | 39 | 28 | 22 | 77 | 98 | | | ||||
-------------------------------- | ||||||||||
sum | ||||||||||
avg | ||||||||||
min | ||||||||||
max |
public class sixsix {
public static int sum1(int i,double a[][]) //对行求和
{
int s=0;
for(int j=0;j<6;j++)
s+=a[i][j];
return s;
}
public static int sum2(int i,double a[][]) //对列求和
{
int s=0;
for(int j=0;j<6;j++)
s+=a[j][i];
return s;
}
public static double max1(int i,double a[][]) //求行的最大值
{
double max=0;
for(int j=0;j<6;j++)
{
if(a[i][j]>max)max=a[i][j];
}
return max;
}
public static double max2(int i,double a[][]) //求列的最大值
{
double max=0;
for(int j=0;j<6;j++)
{
if(a[j][i]>max)max=a[j][i];
}
return max;
}
public static double min1(int i,double a[][]) //求行的最小值
{
double min = 101;
for(int j=0;j<6;j++)
{
if(a[i][j]<min)min=a[i][j];
}
return min;
}
public static double min2(int i,double a[][]) //求列的最小值
{
double min=101;
for(int j=0;j<6;j++)
{
if(a[j][i]<min)min=a[j][i];
}
return min;
}
public static void main(String[] args) {
double a[][] = new double[10][10];
for(int i=0;i<6;i++)
{
for(int j=0;j<6;j++)
a[i][j]=(int)(20+Math.random()*80);
}
for(int i=0;i<=5;i++)
{
String avg;
a[i][6]=sum1(i,a);
avg=String.format("%.1f", a[i][6]/6);
a[i][7]=Double.parseDouble(avg);
a[i][8]=max1(i,a);
a[i][9]=min1(i,a);
}
for(int i=0;i<=5;i++)
{
String avg;
a[6][i]=sum2(i,a);
avg=String.format("%.1f", a[6][i]/6);
a[7][i]=Double.parseDouble(avg);
a[8][i]=max2(i,a);
a[9][i]=min2(i,a);
}
for(int i=0;i<10;i++)
{
for(int j=0;j<10;j++)
{
if(a[i][j]==0)continue;
System.out.print(a[i][j]+"\t");
}
System.out.println();
}
}
}