编写一个java程序,从键盘输入圆的半径,求圆的周长和面积,并输出。
要求:
(1)半径仅考虑int型正整数,并综合利用所学较好地处理异常输入,包括非法整数、负整数输入时的处理。输入半径要给用户一些提示。
(2)周长、面积使用double类型,显示的小数位数可以不考虑。
(3)数学π,可以使用Math.PI。
(4)只在主方法中编写代码。
简易版
package A;
import java.util.Scanner;
public class AA {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
int radius = 0;
double perimeter = 0, area = 0;
try {
System.out.print("请输入圆的半径:");
radius = input.nextInt();
if (radius <= 0) {
throw new Exception("半径必须为正整数!");
}
perimeter = 2 * Math.PI * radius;
area = Math.PI * radius * radius;
System.out.println("圆的周长为:" + perimeter);
System.out.println("圆的面积为:" + area);
} catch (Exception e) {
System.out.println("输入错误:" + e.getMessage());
}
}
}
这段代码首先创建了一个Scanner对象,用于从键盘读取用户的输入。然后,我们定义了三个变量:radius用于存储圆的半径,perimeter用于存储圆的周长,area用于存储圆的面积。
其中,radius被初始化为0,后面会重新赋值。 我们使用try-catch语句来处理用户输入的异常情况。在try块内,我们首先通过nextInt()方法读取用户输入的半径,并判断其是否为正整数。
如果半径不合法,则抛出一个异常,否则使用公式计算圆的周长和面积,并输出结果。
在catch块内,我们捕获并处理可能抛出的异常。如果出现了异常,则会输出相应的错误信息。这里我们使用了getMessage()方法获取异常的描述信息。
最后,无论是否出现了异常,程序都会执行完毕并退出。
交互版(对之前的java程序1篇章进行改善)
本篇是java程序1的补充篇章,是另外一篇:
package A;
import java.util.Scanner;
public class AA {
double radius;// 定义圆半径
double getArea() {// 圆面积方法
return Math.PI * radius * radius;
}
double getCircumference() {// 圆周长方法
return 2 * Math.PI * radius;
}
String getInfo() {
double a = getArea();
double c = getCircumference();
String str = String.format("圆的半径是%f,面积是%f,周长是%f", radius, a, c);
return str;
}
public static void main(String[] args) {
AA c1 = new AA();
Scanner input = new Scanner(System.in);
System.out.println("请输入圆的半径:");
while (true) {
try {
c1.radius = input.nextDouble();
if (c1.radius <= 0) {
System.out.println("不可以为0或负数,请重新输入圆的半径");
continue;
}
break;
} catch (Exception e) {
System.out.println("请重新输入圆的半径,整型数据");
input.nextLine();
}
}
System.out.println(c1.getInfo());
input.close();
System.out.println("感谢使用!");
}
}