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

news/2024/11/24 7:34:53/

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

 

 


http://www.ppmy.cn/news/91682.html

相关文章

【谷粒商城之秒杀服务】

本笔记内容为尚硅谷谷粒商城秒杀服务部分 目录 一、秒杀业务的介绍 秒杀设计 秒杀流程 二、搭建秒杀服务环境 1、秒杀服务后台管理系统 2、搭建秒杀服务环境 二、定时任务 1、cron 表达式 2、测试 三、商品上架 1、远程查询秒杀的活动以及关联的商品信息 2、在R…

【C++/嵌入式笔试面试八股】一、21.指针类型转换 | 指针的指针 | 指针与常量

指针类型转换 01.指针类型转换 int num=0x12345678; int* p=&num; char* c=(char *)p; //把p的 int* 类型 强转为 char* 类型//最好把类型转换加上,否则有些编译器会报错

进程之相关知识点总结

进程相关知识点总结 进程的定义PCB&#xff1a;进程控制块pid:进程的身份标识符&#xff08;唯一的数字)内存指针文件描述符表进程调度相关属性进程状态优先级上下文 虚拟地址空间进程间的通信 进程的定义 定义:跑起来的程序,就是一个进程。进程是一个重要的软件资源&#xff0…

将 Maven 配置为使用阿里云镜像

将 Maven 配置为使用阿里云镜像的步骤如下&#xff1a; 打开 Maven 的 settings.xml 文件&#xff1a;在 Maven 安装目录下的 conf 文件夹中&#xff0c;找到 settings.xml 文件&#xff0c;并打开它。 添加镜像配置&#xff1a;在 settings.xml 文件中&#xff0c;找到 <m…

产研团队任务管理工具:盘点国内外9款知名任务管理系统软件

以下是10款国内外最知名的任务管理系统&#xff1a;1.研发项目任务管理-PingCode&#xff1b;2.通用项目任务管理-Worktile&#xff1b;3.免费开源研发任务工具-Redmine&#xff1b;4.海外著名项目任务管理工具-Asana&#xff1b;5.免费任务管理软件-Trello&#xff1b;6.个人任…

Halcon中从两组点的对应关系生成仿射矩阵,及思考原理和代码实现

halcon中有几个算子有点类似&#xff0c;看了下区别 1.vector_to_rigid( : : Px, Py, Qx, Qy : HomMat2D) 2.vector_to_similarity( : : Px, Py, Qx, Qy : HomMat2D) 3.vector_to_aniso( : : Px, Py, Qx, Qy : HomMat2D) vector_to_rigid 这个是刚性变换&#xff0c; 只有旋…

多层感知机学习XOR实例

多层感知机学习XOR实例 多层感知机介绍使用多层感知机学习XOR实例传统统计数学方法&#xff08;传统机器学习&#xff09;使用多层感知机学习XOR 总结 多层感知机介绍 多层感知机&#xff08;Multilayer Perceptron&#xff0c;MLP&#xff09;&#xff0c;又称为深度前馈网络…

改变开发的未来 | 探索无服务器与人工智能的协同效应

近年来&#xff0c;无服务器计算和人工智能深刻改变着应用程序的开发方式。 无服务器计算实现无需管理底层基础架构就能构建和运行应用程序&#xff0c;而人工智能则让应用程序依据数据和算例做出智能决策。借助云计算&#xff0c;开发者打开了一个应用程序开发、构建的全新世…