问题:
设计一个能生成m*m矩阵,并计算所有元素平均值的应用程序。矩阵中每个元素均为10-20的随机正整数。要求生成和显示矩阵并计算元素平均值的功能由dispose()方法完成,并将计算结果返回给主方法中的调用语句,由主方法将其显示到控制台窗格中。
代码:
import java.util.Scanner;
//设计一个能生成5*5矩阵,并计算所有元素平均值的应用程序。
//矩阵中每个元素均为10-20的随机正整数。
//要求生成和显示矩阵并计算元素平均值的功能由dispose()方法完成,
//并将计算结果返回给主方法中的调用语句,由主方法将其显示到控制台窗格中。
public class Demo12 {
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.print("请输入矩阵的维度:");
System.out.print("(例如:5*5代表需要生成5*5的矩阵)");
Scanner sc = new Scanner(System.in);
int x = sc.nextInt();
int [][] a = new int[x][x];
for(int i = 0 ; i < a.length ; i++) {
for(int j = 0 ; j < a[i].length ; j++) {
a[i][j] = (int)(10+Math.random()*10);
}
}
for(int i = 0 ; i < a.length ; i++) {
for(int j = 0 ; j < a[i].length ; j++) {
System.out.print(a[i][j]+"\t");
}
System.out.print("\n");
}
dispose(a , x);
}
public static void dispose(int [][]list , int n){
int sum = 0;
for(int i = 0 ; i < list.length;i++) {
for(int j = 0 ; j < list[i].length ; j++) {
sum += list[i][j];
}
}
System.out.print("矩阵中所有元素的平均值:"+(double)sum/(n*n));
}
}