【问题标题】:How can get boolean user Input如何获得布尔用户输入
【发布时间】:2017-08-26 02:43:57
【问题描述】:

当我这样输入程序时:

boolean a = (true & false) & true;

成功了。

但是当我使用扫描仪从键盘输入时:

Scanner sc = new Scanner(System.in);
boolean b = sc.nextBoolean();

无法返回正确答案。

从键盘输入时有什么方法可以布尔值吗? 对不起,如果我的英语不是很清楚。

【问题讨论】:

  • 你输入的是什么值?
  • Scanner 将接受truefalse(或其任何不区分大小写的变体,例如TRUE、@987654327)的单个布尔值@、TrueFalsetrUefALse 等)。它_won't` 接受一个完整的布尔表达式,如(true & false) & true...
  • @ElliottFrisch 好吧,你的意思是“价值”?我只是使用 System.out.println() 打印出来。

标签: java boolean logic


【解决方案1】:

根据nextBoolean() 的文档,它会将输入的下一个标记扫描为布尔值并返回该值。

正如 @Kevin 在 cmets 中正确指出的那样,如果您尝试为其提供不区分大小写的 truefalse 以外的输入,您最终会得到 InputMismatchException.

【讨论】:

  • 哦,我明白了。无论如何,我们可以在使用用户输入时进行布尔运算吗?谢谢
  • @Jon 您可以使用扫描仪scb 提供布尔值输入。但是,如果表达式已经在上面一行中进行了评估,那么您不需要扫描它以查找用户输入。
  • @Jon 如果此答案解决了您的问题,请将其标记为已接受的答案(单击答案旁边的勾号)。这将使这篇文章对未来的访问者有所帮助。
猜你喜欢
  • 2022-07-06
  • 2019-12-30
  • 2021-09-15
  • 2018-07-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-01
  • 2021-12-27
相关资源
最近更新 更多