gpt4 book ai didi

java - 如何将输出固定在单独的行上以创建 5x5 矩阵?

转载 作者:行者123 更新时间:2023-12-02 02:17:23 26 4
gpt4 key购买 nike

使用随机双数创建 5x5 矩阵。输出是正确的,但它全部在一行上。我怎样才能避免这种情况?

我尝试在 System.out.print 末尾添加 ln 但得到相同的结果。

    private static double[][] RandomArray(int n) {
double[][] randomMatrix = new double [n][n];
double[] randomArray = new double [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 static void main(String[] args){

System.out.println(Arrays.deepToString(RandomArray(5)));
}
}

[[96.0, 11.0, 9.0, 69.0, 10.0], [76.0, 96.0, 51.0, 86.0, 11.0], [74.0, 67.0, 73.0, 99.0, 32.0], [51.0, 90.0, 86.0, 84.0, 8 5.0 ], [69.0, 30.0, 21.0, 36.0, 89.0]]我希望输出是单独行上的数组,因此它看起来几乎像一个 5x5 的盒子。输出是包含所有数组的一长行,但这是错误的。

最佳答案

问题是您需要格式化数组,以便当它打印到控制台时,您可以按所需的顺序获得信息。 Arrays.deepToString(RandomArray(5)) 只是接受一个数组并将其转换为字符串。该方法处理二维数组的方式是使用括号包裹每一行,然后用一个更大的括号包裹所有行,这就是你的矩阵。如果您希望控制台中的代码看起来像矩阵,则必须像这样打印出来。使用嵌套的 for 循环(即 for 循环内的 for 循环),您可以以看起来更像“网格状”的方式打印数据。您的问题的可能解决方案可能如下所示:

double[][] matrix = RandomArray(5);
for(int i = 0; i < 5; i++){
for(int j = 0; j < 5; j++){
System.out.print(matrix[i][j]);
}
System.out.println("");
}

或者,如果您想将括号保留在每行末尾并使用 Arrays.deepToString() 方法,您可以执行以下操作:

double[][] matrix = RandomArray(5);
for(int i = 0; i < 5; i++){
System.out.println(Arrays.deepToString(matrix[i]));
}

将矩阵视为数组的数组是有帮助的,因此如果您想要一整行,您只需采用randomMatrix[0],您就会看到第一个您创建的 5 个长数组。

关于java - 如何将输出固定在单独的行上以创建 5x5 矩阵?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57294693/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com