java - 我如何更改此方法以获取字符串而不是整数

标签 java methods java.util.scanner

原代码如下:

public static int getInt () 
{
    Scanner in = new Scanner (System.in) ; 
    if (in.hasNextInt())
    {
        int a = in.nextInt() ; 
        return a ; 
    }
    else
    {
    System.out.println ("try again:") ; 
    return getInt () ; 
    }
}

这会检查并查看它接收到的输入是否为 int。如果是,则返回 int,如果不是,则告诉您重试并重新运行。

这是我试图改变它的方法:

public static String getIns () 
    {
        Scanner in = new Scanner (System.in) ; 
        if (in.hasNextString())
        {
            String a = in.nextString() ; 
            return a ; 
        }
        else
        {
        System.out.println ("try again:") ; 
        return getIns () ; 
        }
    }

虽然这不起作用。我查看了扫描仪类的文档,我认为问题在于没有 in.hasNextStringin.nextString 扫描仪类中的哪些方法可以我用来做什么我打算这些做什么?

最佳答案

您应该阅读 documentation .

您正在寻找 nexthasNext

关于java - 我如何更改此方法以获取字符串而不是整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2520384/

相关文章:

java - 如何在Android Studio中的RecyclerAdapter中传递多个数组

java - 什么是平等契约(Contract)的重要字段(有效的 java 项目 8)

java - Perl 和 Java 中的 Unicode 比较

java - 如何在 main 中使用带有数组的 JOptionPane.showInputDialog 方法?

java - 获取字符串中的字母。为什么我的代码不能很好地工作?

java.lang.ClassNotFoundException : org. slf4j.bridge.SLF4JBridgeHandler 问题

java - 在 int 上执行方法

java - 递归指数法

java.util.NoSuchElementException - 扫描器读取用户输入

Java Scanner 换行符用正则表达式解析(错误?)