2017-02-13 61 views
-1

我一直有問題試圖讓程序工作。數組中的第一行設置爲空白,並保持推出數組中的最後一行。來自文件的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

回答

0

嘗試加入一行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