for (int k = 0; k < dec2.length; k++) {
System.out.println(dec2[k]);
String[] tab = dec2[k].split(",");
System.out.println(tab[0]);
当我尝试这段代码时,dec2
是一个String数组,包含:
41,31
11,21
42,41
12,22
当我尝试显示tab[0]
时,我会收到第一个号码(在&#34;,&#34;之前),但tab[1]
会返回ArrayIndexOutOfBoundsException
,我不会#39; t得到原因,因为它应该包含第二个数字(在&#34;,&#34;之后)。
答案 0 :(得分:1)
String[] dec2 = new String[] {"41,31", "11,21", "42,41", "12,22"};
for(int k = 0 ; k < dec2.length ; k++) {
System.out.println(dec2[k]);
String[] tab = dec2[k].split(",");
System.out.println(tab[0]);
System.out.println(tab[1]);
}
我得到了这个输出:
41,31
41
31
11,21
11
21
42,41
42
41
12,22
12
22
Process finished with exit code 0
没有例外。
您可以在按索引获取元素之前尝试che tab.length
,或使用forEach
循环:
for(int k = 0 ; k < dec2.length ; k++) {
System.out.println(dec2[k]);
String[] tab = dec2[k].split(",");
for (String part : tab) {
System.out.println(part);
}
}
答案 1 :(得分:0)
试试这个解决方案:
for(int k = 0 ; k < dec2.length ; k++){
System.out.println(dec2[k]);
String [] tab = dec2[k].split(",");
for (String string : tab) {
System.out.print(string+" ");
}
System.out.println();
}
我创建了一个foreach
循环来迭代数组tab
以提取这两个数字:
for (String string : tab) {
System.out.print(string+" ");
}
输出:
41,31
41 31
11,21
11 21
42,41
42 41
12,22
12 22
如果您想使用exact index
试试这个,您将获得相同的输出:
for(int k = 0 ; k < dec2.length ; k++){
System.out.println(dec2[k]);
String [] tab = dec2[k].split(",");
System.out.print(tab[0]+" ");
System.out.print(tab[1]);
System.out.println();
}