我基本上想要输入并将其存储到名为mat的2D数组中,其大小为3x3
所以我尝试输入一个输入字符串,将它们转换为char然后将它们放入数组列表中,这就是我到目前为止写的内容。
System.out.println("Enter Message");
Scanner Scanner1 = new Scanner(System.in);
String plaintext = Scanner1.next();
int counter = 0;
// will get chars till the end of input length
while(plaintext.length() > 0){
char text = plaintext.charAt(counter);
counter++;
ArrayList mylist = new ArrayList();
mylist.add(text);
System.out.println(mylist); // chars of string
}
如何将此List
转换为A 2D
我尝试了其他的东西,我尝试使用像这样的分割
System.out.println("Enter Message");
Scanner Scanner1 = new Scanner(System.in);
String plaintext = Scanner1.next();
String[] parts = plaintext.split("");
for (int i=1; i<=3; i++){
System.out.println(parts[i]);
}
这给了我 H Ë 升
排序为1行,3列 Arraylist的输出是这样的
[H]
[e]
[l]
[l]
[o]
我想要一个像这样的2D数组:
[H][e][l];
[l][o][w];
[x][y][z];
或
H e l;
l o w;
x y z;
我只需要将输入字符串转换为数组的二维形式,我一直在尝试很多我无法正确使用它。
答案 0 :(得分:1)
考虑:
String[][] parts = new String[3][3];
// then do this in your loop instead of adding to the list
parts[count/3][count%3] = text;
但是你也有其他问题。在你的第一个循环中,长度将始终> 0,你会得到一个字符,直到你得到一个IndexOutOfBoundsException。考虑改为执行for循环。