簡體   English   中英

掃描儀int和String

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM