如何检查double的scanner输入是否为空?

pdkcd3nj  于 2021-06-26  发布在  Java
关注(0)|答案(2)|浏览(260)

**结束。**此问题需要详细的调试信息。它目前不接受答案。
**想改进这个问题吗?**更新问题,使其成为堆栈溢出的主题。

三天前关门了。
改进这个问题

boolean doubleMe = false;
    double myDouble;

    do {
        System.out.println("Enter a number: ");
        if(Scan.INPUT.hasNextDouble()) {
            myDouble = Scan.INPUT.nextDouble();
            doubleMe = true;
            System.out.print(myDouble);
        }else {
            System.out.println("Sry buddy not a double");
            Scan.INPUT.next();
        }
    }while(!doubleMe);

我想知道如何以及是否可以检查输入是否完全为空。如果我在被问到的时候按回车键,我仍然会得到错误信息。现在的情况是,如果输入integer或string(带内容)的值,就会得到消息。
我把扫描器放在一个箱子里 scan 同学们,这就是为什么看起来是这样。

wqsoz72f

wqsoz72f1#

你必须使用try&catch来避免出错。

if(Scan.INPUT.hasNextDouble())

相同,但在尝试。你不检查错误,所以如果你没有什么程序仍然做你的代码和捕捉错误。你不能做“如果”,当你有无效的值。。。所以试着解决这个问题

13z8s7eq

13z8s7eq2#

if(Scan.INPUT.hasNextDouble()) {
    myDouble = Scan.INPUT.nextDouble();
    if(!myDouble.isEmpty()){
        doubleMe = true;
        System.out.print(myDouble);
    }else{
        doubleMe = false;
    }
}else {
    System.out.println("Sry buddy not a double");
    Scan.INPUT.next();
}

检查是否 myDouble 是空的。如果 myDouble 空的比不做的多 doubleMe 假的。
这样你就可以检查了 myDouble 是否为空。

相关问题