java - 如何在 Java 中显示 N x N 随机数矩阵?

标签 java arrays matrix for-loop

我正在尝试创建一个随机双数矩阵。矩阵的大小必须为 n x n,并且所有数字都必须在 1 到 100 之间。我多年来一直试图对其进行排序,我知道它一定很简单(通常是这样)。

这是我的代码:

public static void main(String[] args) { 
    PrintRandomGraph(RandomArray(4));
}

private static double[] RandomArray(int n) {  
    double[] randomArray = new double[n];
    double[][] randomMatrix = new double [n][n];

    Random rand = new Random(); 
    rand.setSeed(System.currentTimeMillis()); 
    for (int i = 0; i < n; i++) {

        Integer r = rand.nextInt()% 100; 
        randomArray[i] = Math.abs(r);
        for (int j = 0; j < n; j++) {
            Arrays.fill(randomMatrix, i, i+1, randomArray);
        }  
    }

    return randomArray;  
}

private static void PrintRandomGraph(double[] inputArray) {
    int n = inputArray.length;
    double[] showArray = new double[n];
    double[][] showMatrix = new double [n][n];

    for (int j = 0; j < n; j++) {
        for (int i = 0; i < n; i++) {
            double r = inputArray[i];
            showArray[i] = r; 
            Arrays.fill(showMatrix, i, i+1, showArray);
        }
    }

    System.out.println(Arrays.deepToString(showMatrix));
}

当我运行代码时,我得到一个重复 n 次的随机数组,例如:

[[63.0, 97.0, 64.0, 75.0], [63.0, 97.0, 64.0, 75.0], [63.0, 97.0, 64.0, 75.0], [63.0, 97.0, 64.0, 75.0]]



我想我需要回到 for 循环的顶部并添加新数组...?请帮忙=(

任何帮助深表感谢。谢谢你。

最佳答案

你有没有尝试过这样的事情:

private static double[][] RandomArray(int n) {
    double[][] randomMatrix = new double [n][n];

    Random rand = new Random(); 
    rand.setSeed(System.currentTimeMillis()); 
    for (int i = 0; i < n; i++) {     
        for (int j = 0; j < n; j++) {
            Integer r = rand.nextInt()% 100; 
            randomMatrix[i][j] = Math.abs(r);
        }

    }

    return randomMatrix;
}

打印图形:
public void printGraph(double[][] array, int n) {
    for (int i = 0; i < n; i++) {     
        for (int j = 0; j < n; j++) {
            System.out.println(array[i][j]);
        } 
    }
}

用方括号打印图形:
public void printGraph(double[][] array, int n) {
        for (int i = 0; i < n; i++) {  
            System.out.print(" [ ");   
            for (int j = 0; j < n; j++) {
                System.out.print(array[i][j]);
            } 
            //Put println instead of print here to have each row in a new line
            System.out.print(" ]");
        }
    }

另外,这看起来很像家庭作业,如果是,请像这样标记它:)

关于java - 如何在 Java 中显示 N x N 随机数矩阵?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4328442/

相关文章:

Java readFile从字节x到字节y

java - 与 0xff 的按位与运算很重要吗?

java - 当我将 jframe 作为参数传递给另一个方法时,出现空白帧

c - 如何制作一个适合标准输入字符串的数组?

java - 阵列矩形旋转

javascript - 多维矩阵上的每元素数组运算

java - 如何根据 href 链接动态更改 Thymeleaf 片段

php - MYSQL 将数组与数据库表进行比较

arrays - 找出从给定行到末尾的最大元素

java - 我无法使用 JAVA 中的 pow 函数将值插入到矩阵字段中