java程序1补充:从键盘输入圆的半径,求圆的周长和面积(简易与交互两版)

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

 

 

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值