我已經習慣了檢查用戶是否輸入了一個雙精度或整數與input.hasNextDouble
/input.hasNextIn
t然後指定一個變量,如果這是真的input.nextDouble
()/ input.nextInt()
。java中是否存在與input.hasNextInt類似的字符串?
但現在我想檢查輸入是否是一個字符串,如果是,分配我的變量,如果不是,產生一個錯誤消息,並再次循環。 Java中的Strings是否有與此類似的方法/語句?或者另一種方式來做到這一點?
我已經習慣了檢查用戶是否輸入了一個雙精度或整數與input.hasNextDouble
/input.hasNextIn
t然後指定一個變量,如果這是真的input.nextDouble
()/ input.nextInt()
。java中是否存在與input.hasNextInt類似的字符串?
但現在我想檢查輸入是否是一個字符串,如果是,分配我的變量,如果不是,產生一個錯誤消息,並再次循環。 Java中的Strings是否有與此類似的方法/語句?或者另一種方式來做到這一點?
A Scanner
允許您從某種輸入(例如文件或InputStream
)中讀入文本。該文本自然是一個String
(因爲它是一個字節序列,其被Scanner
解釋爲字符)。您可以使用.next()
和.nextLine()
讀取字符串,該字符串一次只讀取一個單詞「單詞」標記或一行,您可以使用hasNext()
和hasNextLine()
查看哪些字符串。
Scanner
還提供了在可以安全地轉換成原語(例如int
和double
),這樣就不必寫旋繞整數解析代碼等令牌讀取原始的方法是爲了方便。
但是,如果您只需要字符串,只需使用hasNext()
和next()
或hasNextLine()
和nextLine()
即可。無需檢查輸入是否爲String
,因爲用戶輸入的內容都是字符串。請務必閱讀描述Scanner
如何拆分單詞/標記的文檔。
如果您使用Eclipse之類的IDE,則應在鍵入input.
後向您顯示選項。總之,對於字符串Scanner類布爾檢查要麼是:
input.hasNext();
或
input.hasNext();
其中輸入是掃描儀類的一個實例
這基本上是兩次相同的名字 –
'「但現在我想檢查輸入是否是一個字符串,......「 - 輸入始終是一個字符串,不管是空還是空,但即使這是一個空字符串'」「 - 請澄清** **你正在測試什麼。 –
那麼''1234'''String'? – MadProgrammer
http://stackoverflow.com/questions/29692089/how-to-check-if-user-input-is-string-double-or-long-in-java有許多解釋/方法檢查數值輸入 – peter