2014-02-20 44 views
-3

在Java中,我可以做我可以做StringTokenizer stk = new StringTokenizer(System.in)嗎?

StringTokenizer stk = new StringTokenizer(System.in); 

我想知道是否可以期望收集輸入流作爲一個刺痛,或者有更好的方式獲取用戶輸入轉換爲字符串之前,我可以使用它作爲我的字符串tokenizer的參數?

謝謝!

更新:我從一個學校的電腦工作,不會讓我現在測試我的代碼。我需要到我自己的計算機或有管理員權限的人才能嘗試我的代碼。所以,請忍受我。

+0

一定有辦法可以測試代碼或... [閱讀它(HTTP://文檔.oracle.com/JavaSE的/ 7 /文檔/ API/JAVA/util的/ StringTokenizer.html)。 –

+0

爲什麼你不試試看 –

+0

當你嘗試過時發生了什麼? – Ingo

回答

1

你不能那樣做,因爲StringTokenizer()的構造函數需要java.lang.String類型的參數,但是System.in的類型爲java.io.InputStream

用戶輸入轉換爲字符串的更好的辦法是使用一個Scanner

Scanner sc = new Scanner(System.in); 
System.out.println("Enter name: "); 
String name = sc.nextLine(); 
System.out.println("Enter age: "); 
String age = sc.nextLine(); 
System.out.println(name + " is " + age + "years old"); 
+0

上添加了更新謝謝!這就說得通了。我明白爲什麼掃描儀可以使用System.in而不是StringTokenizer。 – Alain

+0

爲了達到我的目標,我試圖這樣做: 'BufferedReader userInput = new BufferedReader(new InputStreamReader(System.in)); String userInputString = userInput.readLine();' 然後我把'userInputString'作爲參數傳遞給我的'StringTokenizer'請告訴我這不是荒謬的! – Alain

+0

@Alain沒有問題,我已經包含了一個使用掃描儀獲取用戶名的例子。 –