我必须在不到3秒的时间内输入5个int数组,意味着执行时间应该小于3,而且我正在使用Scanner类或者那个,但它会使执行时间更长,所以还有其他可能方式,我必须得到输入
1 2 3
4 5 6
7 8 9
10 11 12
13 14 15
并且必须在一行中输入1 2 3?我该怎么做...? 我把最初的字符串作为输入,然后使用split("")方法将其分离,然后使用包装类解析它?还有其他办法吗?
答案 0 :(得分:2)
尝试以下代码段,我猜你可能正在寻找输入2d数组而不使用使用Scanner分割字符串。
int[][] array = new int[5][2];
Scanner scan = new Scanner(System.in);
int i=0;
int k=0;
while(scan.hasNextInt()){
array[i][k] = scan.nextInt();
k++;
if(k == 2) {
k = 0;
i++;
}
if(i == array.length){
break;
}
}
for(int p=0; p < array.length; p++) {
for(int j=0;j < 2; j++) {
System.out.print(array[p][j] + " ");
}
}