编写一个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("感谢使用!");}
}