编写程序,从键盘上获取任意圆半径,输出该圆的面积和对应的球体体积,要求保留

如题所述

import java.math.BigDecimal;
import java.util.Scanner;

public class test{
//定义圆的半径变量
private static double radius = 0;
//定义圆的面积变量
private static double square = 0;
//定义球体体积的变量
private static double volume = 0;
//输入圆的半径并计算出该半径所对应圆的面积和球体体积
private static void inputRadius() {
System.out.print("请输入圆的半径:");
/**输入圆的半径,如果输入的是非数值型的数,
会出现异常,故用try...catch...finally代码块来处理异常*/
try {
radius = new Scanner(System.in).nextDouble();
/**当输入圆的半径小雨或等于0时,
提示输入错误,并递归调用输入方法*/
if (radius <= 0) {
System.out.println("圆半径不能小于或等于0!");
System.out.println("");
inputRadius();
}else {
//圆面积计算公式为圆面积等于∏(∏取3.14)乘以圆半径的平方
square = 3.14 * radius * radius;
/**球体体积计算公式为球体体积等于∏(∏取3.14)乘以
圆半径的立方乘以4除以3,也可以这样算
因为∏(∏取3.14)乘以圆半径的平方等于球体中心圆的面积,
所以球体体积还可以等于球体中心圆的面积乘以球体中心圆的半径
乘以4除以3*/
volume = square * radius * 4 /3;
//输出该半径圆的面积和球体体积,并用四舍五入,保留2位小数
System.out.println("该半径圆的面积是:" +
new BigDecimal(square).setScale(2,BigDecimal.ROUND_HALF_DOWN));
System.out.println("该半径球的体积是:" +
new BigDecimal(volume).setScale(2,BigDecimal.ROUND_HALF_DOWN));
}
} catch (Exception e) {
/**当输入不是数值类型时,出现异常由catch处理
所以会提示输入错误,然后递归调用输入方法*/
System.out.println("输入错误,请重新输入!");
System.out.println("");
inputRadius();
}finally{
/**finally代码块在不管什么时候都执行,
故限定当输入半径小于或等于0时,才会执行此处语句*/
if (radius <= 0) {
System.out.println("圆半径不能小于或等于0!");
System.out.println("");
inputRadius();
}
}
}
public static void main(String[] args) {
inputRadius();
}
}
温馨提示:答案为网友推荐,仅供参考
相似回答
大家正在搜