gpt4 book ai didi

java - 使用 Arrays.toString 打印矩阵

转载 作者:行者123 更新时间:2023-11-29 04:26:29 25 4
gpt4 key购买 nike

以下代码询问用户要创建的单词数:

    String sInt = JOptionPane.showInputDialog("Cuántas palabras vamos a capturar?");
int palabras = Integer.parseInt(sInt);
char[][] charMatrix = new char[palabras][];

目标是将单词保存在一个矩阵中并打印出来,将每个字符保存在不同的矩阵维度中。

    for (int i = 0; i<palabras; i++) {
String str = JOptionPane.showInputDialog("Palabra: ");
for(int j = 0; j<=str.length() - 1; j++) {
charMatrix[i] = new char [str.length()];
charMatrix[i][j] = str.charAt(j);
}
}

假设用户选择了 2 个词,分别是 hello 和 bye。下一行打印矩阵。

    for(int r = 0; r <charMatrix.length; r++) {
System.out.println(Arrays.toString(charMatrix[r]));
}

它应该打印:

    [h,e,l,l,o]
[b,y,e]

而是打印:

    [ , , , ,o]
[ , ,e]

最佳答案

移动charMatrix[i] = new char [str.length()];向上,之前 for环形。您需要在阅读 str 后设置该数组一次来自用户。当前在每次迭代开始时您存储在 charMatrix[i] 中不包含先前设置值的新数组,因此在最后一次迭代之后,您将获得仅包含最后一个元素集的空数组(因为上次迭代仅放置该元素)。

顺便说一句,您可以使用 str.toCharArray() 简化代码并删除内部循环返回 char[]str 持有的字符组成的数组.

关于java - 使用 Arrays.toString 打印矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46044907/

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