我只是把变量和我得到错误的情况放在一起
Scanner DatoEntrada = new Scanner (System.in);
float AFC, PFC, RC;
case 3:
System.out.println("Ingrese el radio");
RC=DatoEntrada.nextInt();
AFC=3.1416*(RC*RC);
PFC=3.1416*(RC*2);
break;
错误说:
AFC=3.1416*(RC*RC);
^
required: float
found: double
而且在变量 PFC 中,我尝试将变量 RC 的值的输入更改为 nextFloat 和 double 但它不起作用,还将变量的类型更改为 double 但是当我编译它时,它说该变量未在 System.out.print 中启动
最佳答案
3.1416
是一个double
文字。
将它乘以 float
仍会返回一个 double ,因此整个表达式的结果是一个 double
。
您不能将 double
分配给 float
变量(因为 double
可以容纳比 float
).
相反,您需要将变量更改为 double
,以便它们可以保存更高精度的结果)。或者,您可以将文字更改为 float
文字(通过将 f
附加到数字),以便整个内容保持较低精度的 float
.
关于java - 我收到错误 : posible loss of of precision and i have tried to change it but I can fix it, 请帮助我,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19351272/