计算圆周面积的公式定义为 x = π 。 R2。考虑到这个问题 π = 3.14159:
使用问题描述中给出的公式计算面积。
Input 输入包含一个浮点值(双精度), 这就是变量 R。
对于 2 的输入,我应该得到 x=12.5664 四舍五入一个数字。
我尝试使用这个简单的代码,但我不记得如何处理“无法从双精度转换为浮点数”错误。编码已经半年了。
package TEST;
import java.util.Scanner;
public class TEST {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// let A be radius
float A = scanner.nextFloat();
float A_2 = A * A;
// let B be Pi
double B = 3.14159;
// let x be circumference
float x = A_2 * B;
System.out.printf("x= %.4f" + x);
}}
答案 0 :(得分:3)
编译错误的原因是以下赋值:
float x = A_2 * B;
其中 B
是 double
类型,因此产品的结果将是 double
类型,它不能容纳到 float
类型的变量中.请记住:double
需要 8 个字节的空间,而 float
变量只能容纳 4 个字节。
更正此编译错误后,您将遇到运行时错误,因为您在 { 中使用了加号 (+
) 而不是逗号 (,
) {1}} 语句。
除此之外,
printf
应为 A
,a
应为 A_2
,遵循约定。a2
而不是使用您自己的 Math.PI
值。以下代码包含这些更改:
PI
示例运行:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// let a be radius
float a = scanner.nextFloat();
float a2 = a * a;
// let b be PI
double b = Math.PI;
// let x be circumference
double x = a2 * b;
System.out.printf("x= %.4f", x);
}
}
答案 1 :(得分:0)
你可以试试:
double A_2Converted = (double) A_2;
并使用它。