十进制输入错了java

时间:2017-07-03 22:14:34

标签: java input decimal

答案在十进制形式中是不正确的,但如果(输入)答案是它的全部数字。但是,十进制格式有效,如果用户将答案输入为舍入小数,则系统将打印错误。它只有在答案没有四舍五入才有效请帮助:)我还在学习编码,所以任何事情都有用。

Error from "right" input

Ns

1 个答案:

答案 0 :(得分:1)

格式化answer以将其打印出来,但这是舍入值,因此当您输入舍入答案时,它将不等于answer值,因为它是完整的,未接地的双值,因此当舍入发生时x == answer将始终失败。

添加answer的print语句会向您显示,这是您输出时的输出。

  

求解二次方:5x²+ 6x-14
      回答:1.7776388834631178
      圆形1:1.7777
      圆形2:-1.7776
      输入答案:
      1.7777
      再试一次       输入答案:
      1.7776388834631178
      正确

你需要一些方法来比较输入答案和四舍五入的答案,这样的工作

if(x == (double)Math.round(answer * 10000d) / 10000d)

这里的零数表示您要使用的小数位数。