Java:计算圆直径和

时间:2018-01-24 11:22:43

标签: java

这是一个关于计算用户输入半径值的圆的直径,圆周和面积的类,它给出了直径,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)

代码问题是什么? 或者我该如何解决?

3 个答案:

答案 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);
} 
}