在我的代码的第一行有一个扫描仪,询问有多少人,我将它存储在变量中 people = input.nextInt();.如果用户什么都不输入,我该怎么做才能返回一个固定数字?
答案 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);
}
好的,这是我的代码。实际上,我有两个不同的整数,可以从用户输入中找到。当用户什么都不输入时,我基本上需要输出默认数字。在这种情况下没有任何事情发生。