我只是把变量和我得到错误的案例
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但是当我编译它时,它说te变量未在System.out.print
中启动答案 0 :(得分:4)
3.1416
是一个double
字面值
将其乘以float
仍然会返回一个double,因此整个表达式的结果为double
。
您无法将double
分配给float
变量(因为double
可以容纳超过float
)。
相反,您需要将变量更改为double
s,以便它们可以保存更高精度的结果。或者,您可以将文字更改为float
字面值(通过将f
附加到数字上),以便整个事物保持较低精度float
。