来自文件的Java多重阵列

问题描述:

我一直有问题试图让程序工作。数组中的第一行设置为空白,并保持推出数组中的最后一行。来自文件的Java多重阵列

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(); 
+2

你能包括你的文件的前几行 – SeanKelleyx

尝试加入一行input.nextLine();到您的代码如下所示:

int length = input.nextInt(); 
int lengt = input.nextInt(); 
input.nextLine(); 
char[][] array = new char[length][lengt]; 

我认为正在发生的事情是,你正在阅读的int的获得lengthlengt,但你离开该行的其余部分。当您第一次拨打array[i] = input.nextLine().toCharArray();时,您正在推动其余行或lengthlengtint的行。由于这是您的for循环中的第一行,因此您不会遍历最后一行。

+0

谢谢它的工作 – ghost2092000

+0

伟大的,这里是如何可以标记为接受的答案:http://meta.stackexchange.com/questions/5234/how-does-接受-的回答工作 – SeanKelleyx