[英]Scanner int and String
我有一個txt文件,需要將其讀入程序。 文件中內容的格式如下:
1, Q, 0
1, S, 4
1, E, 3
1, W, 2
1, N, 5
2, Q, 0
2, N, 5
3, Q, 0
下面的代碼不起作用:
sc = new Scanner(new FileReader("dirFile.txt"));
while(sc.hasNextLine()){
sc.useDelimiter(", ");
int loc = sc.nextInt();
sc.skip(sc.delimiter());
String description = sc.next();
sc.skip(sc.delimiter());
int locID = sc.nextInt(); // Line 70
sc.nextLine(); // Line 71
locations.get(loc).addExits(description, locID);
}
但是,如果我將第70行和第71行更改為下面的代碼,它將起作用:
String temp = sc.nextLine();
int locID = Integer.parseInt(temp);
我想第一個代碼的問題與掃描儀讀取整數有關。 如果我讓掃描程序將其讀取為String,然后將其解析為int,那就可以了。 但是我不確定為什么第一個代碼不起作用。 這對我來說沒有意義。 誰能告訴我第一個代碼怎么了?
您的文字組成的,
而新行分隔符\\n
。 您必須將它們結合起來。
此外,該設置應在while循環之外設置:
sc = new Scanner(new FileReader("dirFile.txt"));
sc.useDelimiter(", |\\n");
while() {
///
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.