十进制输入错误java
十进制形式的答案是不正确的,但是如果(输入)答案是完整的数字,它就可以工作。十进制格式可以工作,但是如果用户以四舍五入的十进制形式输入答案,系统将打印错误。只有当答案不是四舍五入时,它才有效。请帮助:)我仍在学习编码,所以任何东西都是有用的十进制输入错误java,java,input,decimal,Java,Input,Decimal,十进制形式的答案是不正确的,但是如果(输入)答案是完整的数字,它就可以工作。十进制格式可以工作,但是如果用户以四舍五入的十进制形式输入答案,系统将打印错误。只有当答案不是四舍五入时,它才有效。请帮助:)我仍在学习编码,所以任何东西都是有用的 公共类生成器{ 公共静态void main(字符串[]args){ 扫描仪扫描=新扫描仪(System.in); /*打印10个随机数 随机数=新随机数(); 整数; 对于(int counter=1;counter您格式化答案以将其打印出来,但这是四舍五
公共类生成器{
公共静态void main(字符串[]args){
扫描仪扫描=新扫描仪(System.in);
/*打印10个随机数
随机数=新随机数();
整数;
对于(int counter=1;counter您格式化答案以将其打印出来,但这是四舍五入的值,因此当您输入四舍五入的答案时,它将不等同于答案
值,因为它是完整的、未舍入的双精度值,因此当出现四舍五入时,x==answer
将始终失败
添加answer
的打印语句将向您显示,这是您执行此操作时的输出
求解二次方程:5x²+6x-14
回答:1.7776388834631178
四舍五入1:1.7777
四舍五入2:-1.7776
输入答案:
1.7777
再试一次
输入答案:
1.7776388834631178
正确的
您将需要某种方法来比较输入答案和舍入答案,类似的方法会奏效
if(x == (double)Math.round(answer * 10000d) / 10000d)
这里的零数表示您要使用的小数数
if(x == (double)Math.round(answer * 10000d) / 10000d)