【问题标题】:Is there a String equivalent in java to input.hasNextInt?java中是否有与input.hasNextInt等效的String?
【发布时间】:2015-10-19 01:25:14
【问题描述】:

我习惯于检查用户是否使用input.hasNextDouble/input.hasNextInt 输入双精度或整数,然后使用input.nextDouble()/input.nextInt() 分配一个变量。

但是现在我想检查输入是否为字符串,如果是,则分配我的变量,如果不是,则生成错误消息并再次循环。 Java中的字符串是否有类似的等效方法/语句?或者另一种方式来做到这一点?

【问题讨论】:

标签: java string input


【解决方案1】:

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();

    输入是 Scanner 类的一个实例

    【讨论】:

    • 这两次基本上是同名
    猜你喜欢
    • 2011-04-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-20
    • 1970-01-01
    • 2010-12-23
    相关资源
    最近更新 更多