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.hqwc.cn/news/62023.html

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

相关文章

微信小程序实现当前页面更新上一个页面

日常项目中需要实现的一个价格脱敏功能&#xff1a;通过点击页面二中的查看完整信息 点击回退按钮实现页面一中的价格显露出来 通过查询了大量资料发现 大多数都是通过调用上一个接口的onload 或者onshow 实现视图更新 经测试后 发现 无法实现 只能更改数据 无法更新视图 实现…

SPSS--相关关系是怎样的关系?

在数据分析过程中&#xff0c;我们经常想知道两个变量之间的关系&#xff0c;广告费用与销售额中当投入一定的广告费用时&#xff0c;销售额的变化带有随机不确定性&#xff0c;这种不能用数学函数准确度量&#xff0c;但又存在一定规律的关系我们称为相关关系。相关关系是一种…

储能pcb的布局注意事项与制造难点

随着新能源需求的不断增长和能源结构的转型&#xff0c;储能技术的市场规模不断扩大。储能PCB作为储能系统中电池模块的重要组成部分&#xff0c;对整个系统的安全性和性能起到关键作用。今天我们就来聊聊&#xff0c;储能pcb有什么特征。 什么是储能&#xff1a;储能是指能量…

带你了解—通过远程访问局域网服务区并进行数据采集【内网穿透】

文章目录 前言1.使用cpolar进行局域网数据采集的案例2.远程数据隧道功能 前言 cpolar作为一款轻便易用、功能强大的内网穿透软件&#xff0c;在很多应用场景中都能大显身手。其中最常见的&#xff0c;就是网络网站方面的应用。利用cpolar建立的数据隧道&#xff0c;能够轻松实…

生信豆芽菜-t-test差异分析使用说明

网站&#xff1a;http://www.sxdyc.com/diffTtestAnalyse 一、t-test简介 t检验&#xff0c;亦称student t检验&#xff08;Student’s t test&#xff09;&#xff0c;主要用于样本含量较小&#xff08;例如n < 30&#xff09;&#xff0c;总体标准差σ未知的正态分布。 t检…

Android 百度地图 bitmap 透明图片背景变黑色

现象&#xff1a; 本来透明背景的png图片渲染出来时黑色的了 原因&#xff1a; 为了节省内存资源对图片进行了压缩&#xff0c;使用到了 bitmap.compress(Bitmap.CompressFormat format, int quality, OutputStream stream)方法&#xff0c;具体设置为 bitmap.compress(Bit…

基于Azure OpenAI Service 的知识库搭建实验⼿册

1.概要 介绍如何使⽤Azure OpenAI Service 的嵌⼊技术&#xff0c;创建知识库&#xff1b;以及创建必要的资源组和资源&#xff0c;包括 Form Recognizer 资源和 Azure 翻译器资源。在创建问答机器⼈服务时&#xff0c;需要使⽤已部署模型的 Azure OpenAI 资源、已存在的…

glove安装中的问题

万恶之源&#xff1a; >>> from glove import Glove Traceback (most recent call last):File "<stdin>", line 1, in <module>File "D:\code_related_software\Anaconda\lib\site-packages\glove\__init__.py", line 1, in <mod…

图像提示词攻略--基于 stable diffusion v2

Stable Diffusion 是一种潜在的文本到图像扩散模型&#xff0c;能够在给定任何文本输入&#xff08;称为提示&#xff09;的情况下生成逼真的图像。 在本文中&#xff0c;我将讨论和探索一些提高提示有效性的方法。从在提示中添加某些关键字和组合词、从更改单词顺序及其标点符…

Mysql数据库之单表查询

目录 一、练习时先导入数据如下&#xff1a; 二、查询验证导入是否成功 三、单表查询 四、where和having的区别 一、练习时先导入数据如下&#xff1a; 素材&#xff1a; 表名&#xff1a;worker-- 表中字段均为中文&#xff0c;比如 部门号 工资 职工号 参加工作 等 CRE…

【C语言】初识C语言+进阶篇导读

✨个人主页&#xff1a; Anmia.&#x1f389;所属专栏&#xff1a; C Language &#x1f383;操作环境&#xff1a; Visual Studio 2019 版本 本篇目的是面向编程新手&#xff0c;没接触过编程的人。以及C进阶的导读。 内容是C语言重要知识点的简单解释&#xff0c;不做详解。给…

git的简单介绍和使用

git学习 1. 概念git和svn的区别和优势1.1 区别1.2 git优势 2. git的三个状态和三个阶段2.1 三个状态&#xff1a;2.2 三个阶段&#xff1a; 3. 常用的git命令3.1 下面是最常用的命令3.2 git命令操作流程图如下&#xff1a; 4. 分支内容学习4.1 项目远程仓库4.2 项目本地仓库4.3…