Java训练六

news/2025/3/19 11:21:42/

目录

一、除数不能为0

二、校验年龄格式

 三、终端循环

四、 计算最大公约数


一、除数不能为0

使用静态变量、静态方法以及throws关键字,实现当两个数相除且除数为0时,程序会捕获并处理抛出的ArithmeticException异常(算术异常),运行结果如下:

小学生都笑哭了:除数不能是0!!!

package haha;
public class Captor{public static double chu(double a,double b) throws ArithmeticException{if(b==0) {throw new ArithmeticException("小学生都笑哭了:除数不能是0!!!");}return a/b;}public static void main(String[] args) {try {double m=3;double n=0;double k=chu(m,n);System.out.println(k);}catch(ArithmeticException e) {System.out.println(e);}}
}

二、校验年龄格式

编写一个信息录入程序,获取用户输入的姓名和年龄。如果用户输入的年龄不是正确的年龄数字(如0.5),则抛出异常并让用户重新输入;如果年龄正确,则打印用户输入信息。

//自定义异常MyException
package haha;public class MyException extends Exception{          //创建自定义异常类public MyException(String ErrorMessage) {super(ErrorMessage);}
}//校验年龄格式package haha;
import java.util.Scanner;
public class Captor{static void que() throws MyException{Scanner sc=new Scanner(System.in);System.out.println("请输入用户的姓名和年龄(用空格隔开)");String name=sc.next();double age=sc.nextDouble();if(age>(int) age) {throw new MyException("年龄的输入格式错误!请重新输入!");}System.out.print("姓名:"+name+"\n"+"年龄:"+(int) age);sc.close();}public static void main(String[] args) {try {que();}catch(MyException e) {System.out.println(e);}}
}

三、终端循环

编写使用for循环在控制台上输出0~9的代码。代码要实现以下两个功能:当循环变量的值为2时,抛出异常,循环中断;当循环变量的值为2时,虽然会抛出异常,但是循环不会中断。

中断代码:

//自定义异常MyException
package haha;public class MyException extends Exception{          //创建自定义异常类public MyException(String ErrorMessage) {super(ErrorMessage);}
}//中断代码
package haha;
public class Captor{static void que() throws MyException{for(int i=0;i<10;i++) {if(i==2) {throw new MyException("出现异常,循环中断!");}System.out.println(i);}}public static void main(String[] args) {try {que();}catch(MyException e) {System.out.println(e);}}
}

不中断代码:

//自定义异常MyException
package haha;public class MyException extends Exception{          //创建自定义异常类public MyException(String ErrorMessage) {super(ErrorMessage);}
}//不中断代码
package haha;
public class Captor{static void que() throws MyException{for(int i=0;i<10;i++) {System.out.println(i);if(i==2) {throw new MyException("出现异常!");}}}public static void main(String[] args) {try {que();}catch(MyException e) {System.out.println(e);}for(int i=3;i<10;i++) {System.out.println(i);}}
}

四、 计算最大公约数

创建Computer类,该类中有一个计算两个数最大公约数的方法,如果向该方法传递负整数,该方法就会抛出自定义异常。

package haha;
import java.util.Scanner;
public class computer{public static int que(int a,int b) throws MyException{if(a<0||b<0) {throw new MyException("不能传递负整数!");}if(a>=b) {int c;while(a%b!=0) {c=a%b;a=b;b=c;}return b;}else {int c;while(b%a!=0) {c=b%a;b=a;a=c;}return a;}}public static void main(String[] args) {try {Scanner sc=new Scanner(System.in);System.out.println("请输入两个整数(用空格隔开):");int m=sc.nextInt();int n=sc.nextInt();int k=que(m,n);System.out.println(m+"和"+n+"的最大公约数是"+k);sc.close();}catch(MyException e) {System.out.println(e);}}
}

  


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

相关文章

4路光栅尺磁栅尺编码器5MHz高速差分信号转Modbus TCP网络模块 YL97

特点&#xff1a; ● 光栅尺磁栅尺解码转换成标准Modbus TCP协议 ● 光栅尺5V差分信号直接输入&#xff0c;4倍频计数 ● 模块可以输出5V的电源给光栅尺供电 ● 高速光栅尺磁栅尺计数&#xff0c;频率可达5MHz ● 支持4个光栅尺同时计数&#xff0c;可识别正反转 ● 可网…

springboot工程集成前端编译包,用于uni-app webView工程,解决其需独立部署带来的麻烦,场景如页面->画布->图片->pdf

前端工程 访问方式 http://127.0.0.1:8080/context/frontEnd/index放行 public class SecurityConfig extends WebSecurityConfigurerAdapter { "/frontEnd/**",SysFrontEndController import lombok.extern.slf4j.Slf4j; import nl.basjes.shaded.org.springfram…

Mac OS键盘常用快捷键

图形按键⌘Command 键⌃Control 键⌥Option 键⇧Shift 键⇪Caps Lockfn功能键 常用快捷键剪切、拷贝和粘贴 您可以在大多数 app 中使用这些快捷键来剪切、拷贝或粘贴选中的项目。其中包括文本、图片、音乐等等。您甚至可以在 Finder 中拷贝和粘贴文件&#xff0c;来将文件拷贝到…

仿到位|独立版家政上门预约服务小程序家政保洁师傅上门服务小程序上门服务在线派单源码

上门预约服务派单小程序家政 小程序 同城预约 开源代码 独立版. 程序完整,经过安装检测,可放心下载安装。 适合本地的一款上门预约服务小程序,功能丰富,适用多种场景。 程序功能:城市管理/小程序DIY/服务订单/师傅管理/会员卡功能/营销功能/文章功能等等

前端性能优化之性能优化的指标和工具(chrome devtools、lighthouse、webpagetest)

文章目录 引言一、为什么要进行web性能优化二、RAIL测量模型1. 什么是RAIL2. 性能测量工具 三、性能测量工具的使用和性能指标以及优化目标1. Chrome DevTools1. 打开调试工具方式和配置2. network下的几个性能指标1. requests 请求总数2. transferred实际从服务器下载的数据量…

sql高频面试题-去除最高最低的平均

面试或者笔试的过程中会设定各种各样的场景&#xff0c;在这些场景下考查我们SQL的查询能力&#xff0c;但是万变不离其宗&#xff0c;业务场景只是一个表现形式&#xff0c;抽象为SQL问题后其实基本上就是几类问题&#xff1a;计算累计、连续&#xff0c;分类TopN等。只要掌握…

专注于创意设计,为您的小程序和网站建设带来更多的可能性

随着移动互联网的快速发展&#xff0c;越来越多的企业开始关注小程序和网站建设&#xff0c;以此来拓展业务和提升品牌形象。 在这个领域中&#xff0c;创意设计扮演着关键的角色。它不仅可以帮助企业打造独特的形象和品牌&#xff0c;还能够提高用户体验和购买决策的效率。 因…

MySQL到Oracle快速上手

第一次做Oracle项目的时候对一些语法区别不太清楚&#xff0c;这里列出一些开发中发现的与MYSQL不同的点 一个用户相当于一个数据库 表空间 表空间是用于存储表、索引和其他数据库对象的逻辑存储结构。每个表空间由一个或多个数据文件组成&#xff0c;这些文件可以位于不同的物…