编写一个java程序,从键盘输入圆的半径,求圆的周长和面积,并输出。
要求:
(1)半径仅考虑int型正整数,并综合利用所学较好地处理异常输入,包括非法整数、负整数输入时的处理。输入半径要给用户一些提示。
(2)周长、面积使用double类型,显示的小数位数可以不考虑。
(3)数学π,可以使用Math.PI。
(4)只在主方法中编写代码。
import java.util.InputMismatchException;
import java.util.Scanner;
public class Circle {
double radius;// 定义圆半径
double getArea() {// 圆面积方法
return Math.PI * radius * radius;
}
double getCircumference() {// 圆周长方法
double c = Math.PI * radius * 2;
return c;
}
String getInfo() {
double a = getArea();
double c = getCircumference();
String str = String.format("圆的半径是%f\n,面积是%f\n,周长是%f\n", radius, a, c);
return str;
}
public static void main(String[] args) {
Circle c1 = new Circle();
Scanner sc = new Scanner(System.in);
Scanner input = new Scanner(System.in);
System.out.println("请输入圆的半径:");
c1.radius = sc.nextInt();
try {
if(c1.radius <= 0)
{
System.err.println("不可以为0或负数,请重新输入圆的半径");
c1.radius = sc.nextInt();
}
}
catch (InputMismatchException e){
System.err.println("请重新输入圆的半径,整型数据");
}catch(Exception e){
e.getMessage();
e.printStackTrace();
}finally{
input.close();
System.out.println("感谢使用");
}
// c1调用方法getArea()并把方法返回值赋值给变量s
double s = c1.getArea();
System.out.println("c1的半径是:" + c1.radius + "\nc1的面积是: " +s);
}
}
运行代码截图: