2015-10-19 85 views
0

我已經習慣了檢查用戶是否輸入了一個雙精度或整數與input.hasNextDouble/input.hasNextIn t然後指定一個變量,如果這是真的input.nextDouble()/ input.nextInt()java中是否存在與input.hasNextInt類似的字符串?

但現在我想檢查輸入是否是一個字符串,如果是,分配我的變量,如果不是,產生一個錯誤消息,並再次循環。 Java中的Strings是否有與此類似的方法/語句?或者另一種方式來做到這一點?

+4

'「但現在我想檢查輸入是否是一個字符串,......「 - 輸入始終是一個字符串,不管是空還是空,但即使這是一個空字符串'」「 - 請澄清** **你正在測試什麼。 –

+4

那麼''1234'''String'? – MadProgrammer

+0

http://stackoverflow.com/questions/29692089/how-to-check-if-user-input-is-string-double-or-long-in-java有許多解釋/方法檢查數值輸入 – peter

回答

0

A Scanner允許您從某種輸入(例如文件或InputStream)中讀入文本。該文本自然是一個String(因爲它是一個字節序列,其被Scanner解釋爲字符)。您可以使用.next().nextLine()讀取字符串,該字符串一次只讀取一個單詞「單詞」標記或一行,您可以使用hasNext()hasNextLine()查看哪些字符串。

Scanner還提供了在可以安全地轉換成原語(例如intdouble),這樣就不必寫旋繞整數解析代碼等令牌讀取原始的方法是爲了方便。

但是,如果您只需要字符串,只需使用hasNext()next()hasNextLine()nextLine()即可。無需檢查輸入是否爲String,因爲用戶輸入的內容都是字符串。請務必閱讀描述Scanner如何拆分單詞/標記的文檔。

-2

如果您使用Eclipse之類的IDE,則應在鍵入input.後向您顯示選項。總之,對於字符串Scanner類布爾檢查要麼是:

input.hasNext();

input.hasNext();

其中輸入是掃描儀類的一個實例

+0

這基本上是兩次相同的名字 –

相關問題