java:编写一个程序,在4*4的矩阵中随机填入0和1,打印该矩阵,找到第一个具有最多1的行和列。展示代码
时间: 2024-09-23 10:03:53 浏览: 36
在Java中,我们可以使用Random类生成随机数,并遍历矩阵来寻找具有最多1的行和列。以下是简单的代码示例:
```java
import java.util.Arrays;
import java.util.Random;
public class Main {
public static void main(String[] args) {
int[][] matrix = new int[4][4];
Random random = new Random();
// 随机填充矩阵
for (int i = 0; i < matrix.length; i++) {
for (int j = 0; j < matrix[i].length; j++) {
matrix[i][j] = random.nextInt(2); // 0或1的概率相等
}
}
// 打印矩阵
printMatrix(matrix);
// 寻找具有最多1的行和列
int maxOnesRow = findMaxOnesRow(matrix);
int maxOnesColumn = findMaxOnesColumn(matrix);
System.out.println("行中最多1的数量: " + maxOnesRow);
System.out.println("列中最多1的数量: " + maxOnesColumn);
}
// 打印矩阵
private static void printMatrix(int[][] matrix) {
for (int[] row : matrix) {
System.out.println(Arrays.toString(row));
}
}
// 寻找矩阵中某个维度上具有最多1的元素的位置
private static int findMaxOnesRow(int[][] matrix) {
int maxCount = 0, rowIndex = -1;
for (int i = 0; i < matrix.length; i++) {
int count = 0;
for (int j = 0; j < matrix[i].length; j++) {
if (matrix[i][j] == 1) {
count++;
}
}
if (count > maxCount) {
maxCount = count;
rowIndex = i;
}
}
return rowIndex;
}
private static int findMaxOnesColumn(int[][] matrix) {
int maxCount = 0, columnIndex = -1;
for (int j = 0; j < matrix[0].length; j++) {
int count = 0;
for (int i = 0; i < matrix.length; i++) {
if (matrix[i][j] == 1) {
count++;
}
}
if (count > maxCount) {
maxCount = count;
columnIndex = j;
}
}
return columnIndex;
}
}
```
阅读全文