这是一个关于计算用户输入半径值的圆的直径,圆周和面积的类,它给出了直径,cirucumf ......,
这是课程代码:
package circle;
import java.util.Scanner;
public class Circle {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int radius=0;
int diameter;
int circumference ;
int area;
int Pi;
Pi=(int) 3.14;
area = (int) (radius*radius*Pi);
circumference =(int)(radius*2*Pi);
diameter = (int)(radius*2);
System.out.print("Enter radius value:");
radius=input.nextInt();
System.out.printf("area is %d%n" , area);
System.out.printf("diameter is %d%n", diameter);
System.out.printf("circumference is %d%n", environment);
}
}
这是输出给我的东西:
输入半径值:(例如)4
面积为0 //(实际值为50.24)
直径为0 //(8)
周长为0 //(25.12)
代码问题是什么? 或者我该如何解决?
答案 0 :(得分:2)
您在计算区域/环境(?)/直径后读取半径。此外,您的值为int
个变量,这也意味着您的pi值仅为3
。我建议您更正语句的顺序,然后开始使用double
代替int
。
答案 1 :(得分:0)
在获取和初始化半径输入之前,你正在计算值area / environment(?)/ diameter。并且在那时设置radius的默认值为0.因此它将所有参数的结果给出为因此,您必须按以下方式重新订购代码:
System.out.print("Enter radius value:");
radius=input.nextInt();
area = (int) (radius*radius*Pi);
environment=(int)(radius*2*Pi);
diameter = (int)(radius*2);
System.out.printf("area is %d%n" , area);
System.out.printf("diameter is %d%n", diameter);
System.out.printf("environment is %d%n", environment);
答案 2 :(得分:0)
“环境”将被“周长”取代。因为您的例外输出是十进制值。所以使用float / double而不是int。在程序中,您在初始化半径值(半径= 0)之后但在获得半径值(半径= 4)之前计算直径,周长和面积。我修改了你的代码。它似乎对你有帮助。
package circle;
import java.util.Scanner;
public class Circle {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int radius=0;
float diameter;
double circumference ;
double area;
double Pi;
Pi= 3.14;
System.out.print("Enter radius value:");
radius=input.nextInt();
area = (radius*radius*Pi);
circumference =(radius*2*Pi);
diameter = (radius*2);
System.out.printf("area is " + area);
System.out.printf("\ndiameter is "+ diameter);
System.out.printf("\ncircumference is "+ circumference);
}
}