在java中是否有一个String等效的input.hasNextInt?

时间:2015-10-19 01:25:15

标签: java string input

我习惯于检查用户输入带有input.hasNextDouble / input.hasNextIn t的double或整数,然后使用input.nextDouble()/ {分配变量{1}}。

但是现在我想检查输入是否是String,如果是,则分配我的变量,如果不是,则产生错误消息并再次循环。对于Java中的字符串,是否有类似的方法/语句?或者另一种方式呢?

2 个答案:

答案 0 :(得分:0)

Scanner允许您从某种输入中读取文本(例如文件或InputStream)。该文本自然是String(因为它是一个字节序列,Scanner解释为字符)。您可以使用.next().nextLine()来阅读字符串,这些字符串会读取单个"字"令牌或一行一行,您可以使用hasNext()hasNextLine()进行检查。

Scanner还提供原始方法,以方便阅读令牌,可以安全地转换为基元(例如intdouble),这样你就不会必须编写复杂的整数解析代码等。

但如果您只需要字符串,只需使用hasNext()next(),或hasNextLine()nextLine()。无需检查输入是否为String,因为用户输入的任何内容都是字符串。请务必阅读描述Scanner如何分割单词/标记的文档。

答案 1 :(得分:-3)

如果您使用像Eclipse这样的IDE,它会在您键入input.后显示选项。无论如何,Scanner类中字符串的布尔检查可以是:

input.hasNext();

input.hasNext();

其中input是Scanner类的实例