2013-03-10 60 views
0

我想在我的Scanner賦值String,我將用nextLine(),因爲它可能包含不止一個單詞或將使用next()
原始代碼太長,我無法將其全部粘貼。該方法有一個參數Scanner scanner,這種方法被另一個類調用,它通過其他類的實例,所有我想知道的是如何使用Scanner如何將字段值存儲在掃描儀

private String name; 

private String id; 

public void readData() 
    { 
     Scanner scanner = new Scanner(); 

     name = scanner.nextLine(); 

     id = scanner.nextLine(); 
     } 
+1

你究竟在這裏掃描什麼?你的代碼首先不會編譯,因爲'Scanner'類中沒有構造函數'public Sc​​anner()'。相反,您可能想使用'掃描儀(文件源)','掃描儀(InputStream源)'或'掃描儀(字符串源)'。 請看看下面的文檔:http://docs.oracle.com/javase/1.5.0/docs/api/java/util/Scanner.html – 2013-03-10 21:59:37

+0

對不起m8是我的錯,原來的代碼很長,我不能通過他們所有的方法有參數掃描儀掃描儀,這種方法是由另一個類調用,它通過了其他類的實例,所有我想知道的是如何使用掃描儀訪問字段 – 2013-03-10 22:09:39

+0

那麼,問題代表.. **你的掃描儀掃描什麼?**它是一個「字符串」嗎?它是一個文件嗎?這就對了? – 2013-03-10 22:15:10

回答

0

使用nextLine方法來訪問領域讀取當前行的所有內容。當前行可能只有一個換行符,它會返回一個空字符串。

我想用scanner.next()scanner.nextLine()的標識要麼是相同的,因爲ID是一個值,但next()在我看來是更好的,但是對於名稱可能會使用nextLine()方法。