這應該是非常簡單的。當我編寫代碼時,我非常確定它會工作。我想創建一個2維數組的字符串(data [] [])包含data.txt的數據,並且1維數組(kolom [])包含第一行data.txt的列描述。從.txt文件到字符串插入數組的字符串失敗
import java.util.*;
import java.io.*;
public class Data {
private String[][] data;
private String[] kolom;
public Data() throws FileNotFoundException {
data = new String[300][4];
kolom = new String[4];
Scanner readLine = new Scanner(new File("data.txt"));
Scanner readText = new Scanner(readLine.nextLine()).useDelimiter(";");
for(String element : kolom)
element = readText.next();
for(String[] row : data) {
readText = new Scanner(readLine.nextLine()).useDelimiter(";");
for(String element : row){
element = readText.next();
}
}
}
public String[] getKolom() {
return kolom;
}
public String[][] getData() {
return data;
}
public static void main (String[] args) throws FileNotFoundException {
Data data = new Data();
for(String element : data.getKolom())
System.out.print(element);
for(String[] row : data.getData())
for(String element : row)
System.out.print(element);
}
}
該程序輸出全部空值。這意味着字符串沒有插入到數組中。 導致此問題的原因是什麼?
- data.txt下面的代碼片段(幾行301行)。
- data.txt與Data.class文件位於同一個文件夾中。
- 試圖將增強型環路更改爲正常環路仍然是同樣的故障。
- 這個掃描儀的實現有問題嗎?
的data.txt
Nama;Tanggal;Email;Negara
Kamal;16/04/15;[email protected];Cook Islands
Melodie;15/12/23;[email protected];Gibraltar
Salvador;15/07/01;[email protected];Lesotho
Garth;14/02/02;[email protected];Namibia
PS: 'kolom' 是 '列',在我的母語
你不覺得迭代緩衝區很奇怪,您應該嘗試在掃描程序和while循環中使用'hasNext()'。 – 2015-05-09 06:47:06