这是我到目前为止提出的代码:
package circlearea2;
import java.util.Scanner;
public class CircleArea2
{
public static void main(String[] args)
{
double a;
double c;
System.out.println("Enter the radius: ");
Scanner scan = new Scanner(System.in);
a = scan.nextDouble();
c = areaCalc(a);
System.out.println("Circle Area is: " + c);
}
public static double areaCalc(double n1) {
double min;
min = (n1 * n1 * 3.14);
return min;
}
}
问题是解决的。感谢大家!我非常感谢你的帮助。
答案 0 :(得分:0)
问题是areaCalc
占用了一个int,但是你提供了一个双倍。把它换成双倍:
public static double areaCalc(double n) {
return n * n * 3.14;
}
为了更准确,您可以使用Math.PI
。
public static double areaCalc(double n) {
return n * n * Math.PI;
}
答案 1 :(得分:0)
areaCalc()
的参数应为double
类型,但为int
。当您传递double
时,它必须转换为int
,但这会导致精度损失,并且语言要求您在尝试时进行显式转换。
如果您按照以下方式编写方法:
public static double areaCalc(double n1) { ... }
你没有问题(也会更有意义)。