如果用户什么都没输入,我应该怎么做才能返回固定数字?

时间:2014-10-11 21:45:00

标签: java java.util.scanner

在我的代码的第一行有一个扫描仪,询问有多少人,我将它存储在变量中 people = input.nextInt();.如果用户什么都不输入,我该怎么做才能返回一个固定数字?

3 个答案:

答案 0 :(得分:1)

我相信hasNext()或nextInt()只会在没有给出任何内容的情况下重新输入内容,例如return / enter。试试这个:

int people = 30; //default value

String inputAmount = input.nextLine();
if (!inputAmount.isEmpty()) {
   people = Integer.parseInt(inputAmount);
}

System.out.println(people);

更好的方法是在输入非数字内容时捕获错误。

答案 1 :(得分:0)

if (input.hasNext())
    people = input.nextInt();
else
    people = default_value;

如果没有更多要读取的输入,则hasNext()方法返回false,否则返回true。

答案 2 :(得分:0)

public static void main(String[]args){
    Scanner input = new Scanner(System.in);
    System.out.println("How many cannibles/ missionaries ?");
    int numEach;
    if (input.hasNext()){
        numEach = input.nextInt();
    }
    else
    {
        numEach = 3;
    }
    System.out.println("How many people on the boat ?");
    int boatSize;
    if (input.hasNext()){
        boatSize = input.nextInt();
    }
    else
    {
        boatSize = 2;
    }
    System.out.println(numEach);
    System.out.println(boatSize);

}

好的,这是我的代码。实际上,我有两个不同的整数,可以从用户输入中找到。当用户什么都不输入时,我基本上需要输出默认数字。在这种情况下没有任何事情发生。