我习惯于检查用户输入带有input.hasNextDouble
/ input.hasNextIn
t的double或整数,然后使用input.nextDouble
()/ {分配变量{1}}。
但是现在我想检查输入是否是String,如果是,则分配我的变量,如果不是,则产生错误消息并再次循环。对于Java中的字符串,是否有类似的方法/语句?或者另一种方式呢?
答案 0 :(得分:0)
Scanner
允许您从某种输入中读取文本(例如文件或InputStream
)。该文本自然是String
(因为它是一个字节序列,Scanner
解释为字符)。您可以使用.next()
和.nextLine()
来阅读字符串,这些字符串会读取单个"字"令牌或一行一行,您可以使用hasNext()
和hasNextLine()
进行检查。
Scanner
还提供原始方法,以方便阅读令牌,可以安全地转换为基元(例如int
和double
),这样你就不会必须编写复杂的整数解析代码等。
但如果您只需要字符串,只需使用hasNext()
和next()
,或hasNextLine()
和nextLine()
。无需检查输入是否为String
,因为用户输入的任何内容都是字符串。请务必阅读描述Scanner
如何分割单词/标记的文档。
答案 1 :(得分:-3)
如果您使用像Eclipse这样的IDE,它会在您键入input.
后显示选项。无论如何,Scanner类中字符串的布尔检查可以是:
input.hasNext();
或
input.hasNext();
其中input是Scanner类的实例