import java.util.ArrayList;
import java.util.Collections;
import java.util.Random;
import java.util.Scanner;
/** @author 枫雅
* 2019年6月12日
*/
public class TestTwo {
/**
* n 为矩阵阶数
*/
private static int n;
private static int sum;
private static int [][]Matrix;
private static ArrayList
public static void main(String[] args) {
//接收一个n,表示矩阵除数
System.out.println("请输入一个整数N:");
Scanner scan = new Scanner(System.in);
n = scan.nextInt();
//生成一个n阶矩阵并输出
showMatrix(n);
//统计最多1的行
sumRow();
//统计最多1的列
sumColumn();
}
/**
* 统计最多1的行
*/
private static void sumRow() {
for (int i = 0; i < n; i++) {
sum = 0;//每一行求和完毕后重置为0,即每一次都重新计算1的个数
for (int j = 0; j < n; j++) {
sum += Matrix[i][j];//每行求和
}
list.add(sum);//存入list中
}
// list.sort(null);//排序
System.out.println("各行1的总数分别为:" + list);
System.out.println("最多1所在的行为第 " + list.indexOf(Collections.max(list)) + " 行。");
list.clear();//清空
}
/**
* 统计最多1的列
*/
private static void sumColumn() {
for (int j = 0; j < n; j++) {
sum = 0;//每一行求和完毕后重置为0,即每一次都重新计算1的个数
for (int i = 0; i < n; i++) {
sum += Matrix[i][j];//每行求和
}
list.add(sum);//存入list中
}
System.out.println("各列1的总数分别为:" + list);
System.out.println("最多1所在的列为第 " + list.indexOf(Collections.max(list)) + " 列。");
list.clear();//清空
}
/**
* @param n
* 生成一个n阶矩阵并输出
*/
private static void showMatrix(int n) {
Matrix = new int[n][n];
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
Matrix[i][j] = new Random().nextInt(2);
}
}
//show
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
System.out.print(Matrix[i][j] + " ");
}
System.out.println();
}
}
}