当前位置: 首页 > 知识库问答 >
问题:

如果用户跳过输入,则使用默认值

姚培
2023-03-14
    System.out.print("Enter the size of Stack: ");
    int size = sc.nextInt();

查看图像以供参考。

我是Java的初学者。

共有1个答案

阎星华
2023-03-14

问题是,只要sc.nextInt();能够找到int输入,sc.nextInt();就会等待。

解决问题的一个办法是读取整行,然后尝试将该行解析为int

如果用户输入不是int(例如abcdefg或空字符串(仅enter-button)),则解析将失败。因此,在catch块中设置默认值。

java prettyprint-override">String sizeString = sc.nextLine();

int size;

try {
  size = Integer.parseInt(sizeString);
} catch (NumberFormatException e) {
  size = 10;
}

 类似资料:
  • 在试图使Do/While循环工作时,我很难找到正确的语法。我想用C语言编写一个计算器,让用户输入一个字符串,然后它做它的事情并打印结果,询问用户是否想再去一次。 到目前为止,我有一个简单的main函数,只是为了让Do/While循环正确,但是当我输入Y或Y时,程序只是问我是否想再次继续,它没有给我再次运行“计算器”部分的机会。我做错了什么?

  • 我有数据类 我用jooq写了请求 但我有一个例外,若作者并没有书。这是合乎逻辑的,因为数据类Author中的外业手簿不可为空。我试图将伴生对象添加到数据类中 但是它不起作用,jooq仍然尝试使用默认构造函数,我得到了一个异常。有没有办法在不使数据类中的字段书作者为空的情况下修复它?

  • 这里我使用的是react hooks状态 在这里,我试图改变来自API的默认值。但是,我不能在改变方法上改变。 谢谢

  • 我的程序向用户询问测试分数并显示最小/最大值、测试#和平均值。但是,如果分数不在0到10之间,我不希望在计算中使用该数字。我将如何在do/time循环中执行此操作?我尝试过输入System.exit(0);在if(num }

  • 我是powershell的新手,正在创建一个脚本,该脚本将使用用户输入创建一个共享点站点。其中一个变量是模板。我希望脚本说如果没有用户输入,那么$Template变量将是“团队站点”的默认值,否则如果有用户输入,则使用它。 我知道我的问题是“$Template = $TemplateInput”行,但我不知道在这里放什么来获取用户输入,而不是重复这个问题。也许我想多了,但我很确定这只是一个循环。

  • 问题内容: 我遇到一种情况(在硒测试期间),在这种情况下,用户将收到安全代码。然后,用户必须先输入安全密码,然后才能继续操作。 我不太确定如何获得用户输入的值。我浏览了硒文档,并提出了这个建议。不幸的是,它并不是很有效。 有人可以指出我正确的方向吗? 问题答案: 似乎您必须先接受并关闭提示,然后才能存储和使用该值