gpt4 book ai didi

java - 二维数组填充不起作用

转载 作者:行者123 更新时间:2023-11-29 05:08:21 24 4
gpt4 key购买 nike

我正在尝试用我读入的字符串中的字符填充二维数组。我在实际填充此二维数组时遇到了问题。它不断打印比我给它的更大的二维数组,数字似乎总是 6 而不是字符串中的字母。

我将字符串存储在名为 tempArray 的 ArrayList 中。

输入字符串: WUBDLAIUWBD LUBELUFBSLI SLUEFLISUEB

我用 columnlength = 11 和 rowcount 3 实例化了一个二维数组epidemicArray = new int[rowCount][columnCount];

在我尝试填充它之前的数组:

00000000000
00000000000
00000000000

我的代码:

public static void updateArray(){
//extract string from temp
for (int i = 0; i < tempArray.size(); i++){
String temp = tempArray.get(i);
char[] charz = temp.toCharArray();
for (int j = 0; j < charz.length; j++){
for (int k = 0; k < rowCount; k++){
for (int l = 0; l < columnCount; l++){
epidemicArray[k][l] = charz[j];
}
}
}
}
}

输出:出乎我意料

6666666666666666666666
6666666666666666666666
6666666666666666666666

预期输出:(二维数组)

WUBDLAIUWBD
LUBELUFBSLI
SLUEFLISUEB

谢谢,这真的很烦我。

最佳答案

将您的代码更改为:

public static void updateArray(){
//extract string from temp
for (int i = 0; i < tempArray.size(); i++){
String temp = tempArray.get(i);
char[] charz = temp.toCharArray();
for (int j = 0; j < charz.length; j++){
epidemicArray[i][j] = charz[j];
}
}
}

此编辑应该有效,因为列数是其中一个字符串的长度(其中 3 个字符串的长度相同)。

这是我的输出

ArrayList to array

[编辑]。 @magna_nz,我使用了下面的方法来打印数组

public static void printRow(int rowNumber) {
for (int i = 0; i < 11; i++) {
System.out.print( epidemicArray[rowNumber][i] + " ");
}
System.out.println();
}

public static void main(String[] args) {

updateArray();
for (int i = 0; i < 3; i++) {
printRow(i);
}
}

这将打印数字,但如果你想打印字符,你可以将上面的 printRow 方法更改为如下内容:

public static void printRow(int rowNumber) {
for (int i = 0; i < 11; i++) {
System.out.print( (char)epidemicArray[rowNumber][i] + " ");
}
System.out.println();
}

这会给你以下结果:

in chars

关于java - 二维数组填充不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29617392/

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