Java训练六

目录

一、除数不能为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.mzph.cn/news/31109.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

合宙Air724UG LuatOS-Air script lib API--socket

Table of Contents socket socket.isReady() socket.tcp(ssl, cert, tCoreExtPara) socket.udp() socket.setTcpResendPara(retryCnt, retryMaxTimeout) socket.setDnsParsePara(retryCnt, retryTimeoutMulti) socket.printStatus() socket.setLowPower™ socket 模块功能&…

动手学深度学习(三)线性神经网络—softmax回归

分类任务是对离散变量预测&#xff0c;通过比较分类的概率来判断预测的结果。 softmax回归和线性回归一样也是将输入特征与权重做线性叠加&#xff0c;但是softmax回归的输出值个数等于标签中的类别数&#xff0c;这样就可以用于预测分类问题。 分类问题和线性回归的区别&#…

[YAPI]导出API文档

1.登录点击进去,点击项目2.点击接口,点击编辑,划到最下面,开启开放接口3.点击数据管理, 选择你要的数据导出格式,点击公开接口, 导出完别忘记关闭,防止别人导的时候将你开启的 也一并下载下来

opencv 基础54-利用形状场景算法比较轮廓-cv2.createShapeContextDistanceExtractor()

注意&#xff1a;新版本的opencv 4 已经没有这个函数 cv2.createShapeContextDistanceExtractor() 形状场景算法是一种用于比较轮廓或形状的方法。这种算法通常用于计算两个形状之间的相似性或差异性&#xff0c;以及找到最佳的匹配方式。 下面是一种基本的比较轮廓的流程&…

点的复合运动

一、问题所在 对于复合运动中的牵连运动一直很蒙&#xff0c;之前做题的时候都是靠经验&#xff0c;比如圆盘选择圆心做动系原点、连杆选择牵连点做原点等&#xff0c;今天重新整理了一下。 牵连运动的定义是动系相对于定系的运动&#xff0c;这个定义就很模糊。如果是指动系…

调整项目符号/项目编号与文本的距离

百度知道多年前的答案是调整标尺&#xff0c;我的PPT里没有标尺 调节悬挂缩进即可

flutter开发实战-实现左右来回移动的按钮引导动画效果

flutter开发实战-实现左右来回移动的按钮引导动画效果 最近开发过程中需要实现左右来回移动的按钮引导动画效果 一、动画 AnimationController用来控制一个或者多个动画的正向、反向、停止等相关动画操作。在默认情况下AnimationController是按照线性进行动画播放的。Animati…

【Vue】input 事件

input 事件是在用户输入内容时触发的事件。它适用于包含文本输入框&#xff08;例如 <input> 或 <textarea>&#xff09;的元素&#xff0c;以及可编辑的内容区域&#xff08;例如 <div contenteditable>&#xff09;。 当用户在输入框中输入文本、复制粘贴…

Vite 创建 Vue项目之后,eslint 错误提示的处理

使用 npm create vuelatest创建 vue 项目&#xff08;TS&#xff09;之后&#xff0c;出现了一些 eslint 错误提示&#xff0c;显然&#xff0c;不是代码真实的错误&#xff0c;而是提示搞错了。 vuejs/create-vue: &#x1f6e0;️ The recommended way to start a Vite-pow…

勘探开发人工智能技术:机器学习(3)

0 提纲 4.1 logistic回归 4.2 支持向量机(SVM) 4.3 PCA 1 logistic回归 用超平面分割正负样本, 考虑所有样本导致的损失. 1.1 线性分类器 logistic 回归是使用超平面将空间分开, 一边是正样本, 另一边是负样本. 因此, 它是一个线性分类器. 如图所示, 若干样本由两个特征描…

Ubuntu 20.04 中安装docker一键安装脚本

直接上脚本&#xff0c;依次执行如下命令即可 wget http://apollo-pkg-beta.bj.bcebos.com/docker_install.sh bash docker_install.shdocker install docker operation system Ubuntu 18.04 直接上脚本&#xff0c;依次执行如下命令即可 ways1 : wget https://github.com…

FPGA应用学习-----FIFO双口ram解决时钟域+asic样机的时钟选通

60m写入异步ram&#xff0c;再用100M从ram中读出 写地址转换为格雷码后&#xff0c;打两拍和读地址判断是否空产生。相反读地址来判断是否满产生。 分割同步模块 asic时钟的门控时钟&#xff0c;fpga是不推荐采用门控时钟的&#xff0c;有很多方法移除fpga的时钟选通。 如果是a…

Plugin 插件

Plugin 插件 插件是 webpack 的支柱功能。插件目的在于解决 loader 无法实现的其他事。Webpack 提供很多开箱即用的插件。 常用插件 clean-webpack-plugin 自动清理输出目录 html-webpack-plugin 自动生成使用 bundle.js 的 HTML copy-webpack-plugin 拷贝文件到输出目…

天花板级,Python接口自动化测试-接口关联封装调用(实例)

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 流程相关的接口&a…

docker基本使用方法

docker使用 1. Docker 介绍 Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中&#xff0c;然后发布到任何流行的 Linux 机器上&#xff0c;也可以实现虚拟化。Docker 使您能够将应用程序与基础架构分开&#xff0c;从而可以快速交付软件。通过利用 …

Zabbix 6.0 监控其他

文章目录 一、Zabbix 监控 Windows 系统1&#xff09;下载 Windows 客户端 Zabbix agent 22&#xff09;安装客户端&#xff0c;配置3&#xff09;在服务端 Web 页面添加主机&#xff0c;关联模板 二、Zabbix 监控 java 应用1&#xff09;客户端开启 java jmxremote 远程监控功…

2500、删除每行中最大值在IDEA中调试Java

leetcode:2500、删除每行中最大值在IDEA中调试&#xff0c;使用Java实现 题目描述&#xff1a; 给你一个 m x n 大小的矩阵 grid &#xff0c;由若干正整数组成。 执行下述操作&#xff0c;直到 grid 变为空矩阵&#xff1a; 从每一行删除值最大的元素。如果存在多个这样的…

MySQL_多表查询

多表查询 概述&#xff1a;多表查询就是多张表之间的查询。 回顾&#xff1a;SELECT * FROM table_name 多表查询 from 后面就得跟多张表。如&#xff1a;select * from emp,dept 笛卡尔积&#xff1a;笛卡尔积在数学中&#xff0c;表示两个集合&#xff0c;集合 A 和集合 …

Django实现音乐网站 ⑽

使用Python Django框架制作一个音乐网站&#xff0c; 本篇主要是后台对歌曲类型、歌单功能原有功能进行部分功能实现和显示优化。 目录 歌曲类型功能优化 新增编辑 优化输入项标题显示 父类型显示改为下拉菜单 列表显示 父类型显示名称 过滤器增加父类型 歌单表功能优化…

# X11、Xlib、XFree86、Xorg、GTK、Qt、Gnome和KDE之间的关系

X11、Xlib、XFree86、Xorg、GTK、Qt、Gnome和KDE之间的关系 很多人对于他们是啥是傻傻分不清的&#xff0c;我做了个表格供大家参考。 摘抄&#xff1a; X11是X Window System Protocol, Version 11&#xff08;RFC1013&#xff09;&#xff0c;是X server和X client之间的通…