Java训练六

news2024/7/4 5:04:17

目录

一、除数不能为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.coloradmin.cn/o/860366.html

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

相关文章

电脑合上盖子无线网络不会断开

控制面板\硬件和声音\电源选项\系统设置 最终选择不会采取任何操作 选择不会采取任何操作

学习C语言第三天 :关系操作符、逻辑操作符

1.关系操作符 C语言用于比较的表达式&#xff0c;称为“关系表达式”里面使用的运算符就称(relationalexpression)&#xff0c;为“关系运算符” (relationaloperator) &#xff0c;主要有下面6个。 > 大于运算符 < 小于运算符 > 大于等于运算符 < 小于等…

分布式 - 消息队列Kafka:Kafka生产者架构和配置参数

文章目录 1. kafka 生产者发送消息整体架构2. Kafka 生产者重要参数配置01. acks02. 消息传递时间03. linger.ms04. buffer.memory05. batch.size06. max.in.flight.requests.per.connection07. compression.type08. max.request.size09. receive.buffer.bytes和 send.buffer.b…

如何使用appuploader制作apple证书​

转载&#xff1a;如何使用appuploader制作apple证书​ 如何使用appuploader制作apple证书​ 一.证书管理​ 点击首页的证书管理 二.新建证书​ 点击“添加”&#xff0c;新建一个证书文件 免费账号制作证书只有7天有效期&#xff0c;没有推送消息功能&#xff0c;推送证书…

anaconda 基本指令

1.anaconda创建环境 例如我们创建一个名称为img2word&#xff0c;python版本为3.9的环境 conda create -n img2word python3.9在这个命令中&#xff1a; create 是告诉 Conda 你要创建一个新的环境。-n img2word 是设置新环境的名称为 img2word。python3.9 是告诉 Conda 在这…

PS AI版本安装教程

好久没写博客了&#xff0c;今天更新一下子吧&#xff01; 随着chatGPT的提出&#xff0c;各种软件逐渐开始镶嵌人工智能&#xff0c;为我们的生活带来了极大的便利&#xff01;话不多说&#xff0c;开始介绍今天的主角&#xff0c;PS的AI版本。 安装教程&#xff1a; 1.安装…

Linux学习之sed删除、追加、插入、更改、读写文件、下一行、打印、退出和seq命令

cat /etc/redhat-release看到操作系统是CentOS Linux release 7.6.1810&#xff0c;uname -r看到内核版本是3.10.0-957.el7.x86_64&#xff0c;sed --version可以看到sed版本是4.2.2。 echo a : 1 : good : g >> sed_daicpnrwq.txt echo b : 2 : well : w >> sed…

LC-删除排序链表中的重复元素

LC-删除排序链表中的重复元素 链接&#xff1a;https://leetcode.cn/problems/remove-duplicates-from-sorted-list/description/ 思路&#xff1a;这题其实不难&#xff0c;链表已经排序&#xff0c;我们只要把相邻的两个节点的值进行比较&#xff0c;如果相同&#xff0c;删…

基于SpringBoot的社区团购系统设计【附开题|万字文档(LW)和搭建文档】

主要功能 前台界面&#xff1a; ①首页、商品信息推荐、社区信息、商品信息展示、查看更多等 ②商品信息、名称类型查询、添加购物车、立即购买、积分兑换、点我收藏、赞一下、踩一下、评论等 ③团购信息、社区信息、购物车等 ④个人中心、我的订单、我的地址、我的收藏等 后台…

VBA技术资料MF42:VBA_从Excel中上面的单元格复制公式

【分享成果&#xff0c;随喜正能量】唯有梦想才配让你不安&#xff0c;唯有行动才能解除你的不安.绳锯木断&#xff0c;水滴石穿。也许你现在做的事情很小&#xff0c;只要你能日积月累的坚持下去&#xff0c;才会发现意义非凡。所谓的成功&#xff0c;便是别人失败的时候你还在…

matplotlib FormatStrFormatter设置坐标轴的标注为整数和小数【设置小数点的数目】

利用FormatStrFormatter 进行设置 1 设置为整数 import matplotlib.pyplot as plt from matplotlib.ticker import FormatStrFormatter# 创建一个图表 fig, ax plt.subplots()# 生成一些示例数据 x [1, 2, 3, 4, 5] y [1000, 2000, 3000, 4000, 5000]# 在 x 轴上设置刻度标…

MATLAB计算一组坐标点的相互距离(pdist、squareform、pdist2函数)

如果有一组坐标P(X,Y)&#xff0c;包含多个点的X和Y坐标&#xff0c;计算其坐标点之间的相互距离 一、坐标点 P[1 1;5 2;3 6;8 8;4 5;5 1; 6 9];二、pdist函数 输出的结果是一维数组&#xff0c;获得任意两个坐标之间的距离&#xff0c;但没有对应关系 Dpdist(P)三、square…

@Transactional失效的场景

1. 类没被Spring管理 解决方法: 贴上注解Service、Component 等交由Spring管理 2. private修饰的方法 解决方法: 修改成 public, 只有public才生效 3. try{}catch(){只打印异常信息} 解决方法: 捕获异常&#xff0c;并继续抛出原捕获的异常, 或抛出运行时异常 throw new Runti…

微服务04-elasticsearch

1、es概念 1.1 文档和字段 elasticsearch是面向**文档(Document)**存储的,可以是数据库中的一条商品数据,一个订单信息。文档数据会被序列化为json格式后存储在elasticsearch中: 而Json文档中往往包含很多的字段(Field),类似于数据库中的列。 1.2 索引和映射 索引(…

图像变形之IDW和RBF(附源码)

IDW原理 IDW(Inverse distance weighted interpolation)图像变形算法根据给定的控制点对和控制点对的位移矢量(方向和距离)&#xff0c;计算控制点对周围像素的反距离加权权重影响&#xff0c;从而实现图像每一个像素点的位移&#xff0c; 假设输入控制点pi&#xff0c;其对应…

在浏览器中使用javascript打印HTML中指定Div带背景图片内容生成PDF电子证书查询的解决方案

在浏览器中使用javascript打印HTML中指定Div带背景图片内容生成PDF电子证书查询的解决方案 一、指定内容打印二、背景图片打印1.CSS背景图片设置2.div相对定位居中 三、完整案例展示1.CSS样式表2.HTML容器构建 一、指定内容打印 要调用浏览器中的打印功能&#xff0c;并指定需…

62.不同路径

一个机器人位于一个 m x n 网格的左上角 &#xff08;起始点在下图中标记为 “Start” &#xff09;。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角&#xff08;在下图中标记为 “Finish” &#xff09;。 问总共有多少条不同的路径&#xff1f; 动态规…

长城汽车正式进军东盟市场,多款智能新能源亮相印尼车展

长城汽车在2023年印尼国际车展&#xff08;GAIKINDO Indonesia International Auto Show&#xff09;揭幕GWM品牌系列车型&#xff0c;包括坦克500 HEV、哈弗H6 HEV、哈弗JOLION HEV以及欧拉好猫。这一战略旨在进一步打入印尼市场。 长城汽车宣布将正式进军东盟市场&#xff0c…

Maven安装与配置,Eclipse配置Maven【图文并茂的保姆级教程】

&#x1f973;&#x1f973;Welcome Huihuis Code World ! !&#x1f973;&#x1f973; 接下来看看由辉辉所写的关于Maven的相关操作吧 目录 &#x1f973;&#x1f973;Welcome Huihuis Code World ! !&#x1f973;&#x1f973; 一.Maven是什么&#xff1f; 二.Maven的下…

AWS 中文入门开发教学 50- S3 - 网关终端节点 - 私有网络访问S3的捷径

知识点 通过设置网关终端节点,使私有网段中的EC2也可以访问到S3服务官网 https://docs.aws.amazon.com/zh_cn/codeartifact/latest/ug/create-s3-gateway-endpoint.html 实战演习 通过网关访问S3 看图说话"> 实战步骤 创建一个可以访问S3的角色 KomaRoleS3FullAcc…