我一直在试图让程序运行时遇到问题。数组中的第一行设置为空白,并继续推出数组中的最后一行。
Scanner console = new Scanner(System.in);
System.out.println("please enter the file name");
String name = console.next();
Scanner input = new Scanner(new File(name));
int length = input.nextInt();
int lengt = input.nextInt();
char[][] array = new char[length][lengt];
for(int i = 0; i < length; i++) {
array[i] = input.nextLine().toCharArray();
}
for(int k = 0; k < array.length; k++){
for(int s = 0; s < array[k].length; s++) {
System.out.print(array[k][s]);
}
System.out.println();
}
input.close();
System.out.println();
答案 0 :(得分:0)
尝试将代码行input.nextLine();
添加到您的代码中,如下所示:
int length = input.nextInt();
int lengt = input.nextInt();
input.nextLine();
char[][] array = new char[length][lengt];
我相信正在发生的事情是您正在阅读int
以获得length
和lengt
,但您将离开该行的其余部分。当您第一次使用array[i] = input.nextLine().toCharArray();
和length
lengt
和int
for
和class MyClassA {
int value1;
int value2;
}
推动其余部分时,请致电value2
。由于这被视为Observable<List<MyClassA>>
循环中的第一行,因此您不会迭代最后一行。