6-1 异常:物品安全检查 (20分)

2024-04-09 14:48
文章标签 异常 物品 20 安全检查

本文主要是介绍6-1 异常:物品安全检查 (20分),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

java旧题复习
6-1 异常:物品安全检查 (20分)
这是函数题模板。这里写题目要求。 车站检查危险品的设备,如果发现危险品会发出警告。编程模拟设备发现危险品的情况。编程要求如下:

通过继承Exception类,编写一个DangerException类。 a) 该异常类有构造方法,该构造方法使用super调用父类构造方法,使用字符串:“属于危险品!”,对父类变量message进行初始化。
编写商品类:Goods,该类包含以下成员: a) 私有的name属性(String类型),表示商品名称。 b) 私有的isDanger属性(boolean型),表示商品是否为危险品,如果为危险品,则值为true,否则为fales。 c) 分别为两个私有变量编写set和get方法
编写一个Machine类,该类的方法checkBag(Goods goods)。当发现参数goods是危险品时,即:goods的isDanger属性为true时,该方法抛出DangerException异常的对象。
编写主类Check,在其main方法中创建创建商品对象,并使用Machine对象检查商品。
函数接口定义:
裁判测试程序样例:

public class Main {public static void main(String args[]) {          String[] name ={"苹果","炸药","西服","硫酸","手表","硫磺"};                  Goods[] goods = new Goods[name.length];                  for(int i= 0;i<name.length;i++) {goods[i] = new Goods();if(i%2==0) {goods[i].setDanger(false);goods[i].setName(name[i]);}else {goods[i].setDanger(true);goods[i].setName(name[i]);} }          Machine machine = new Machine();for(int i= 0;i<goods.length;i++) {System.out.print(goods[i].getName());try { machine.checkBag(goods[i]);System.out.println(",检查通过\n");}catch(DangerException e) {System.out.println(e.getMessage());System.out.println(goods[i].getName()+",被禁止!\n"); }}     } 
}

/* 请在这里填写答案 */
输入样例:
在这里给出一组输入。例如:

输出样例:
在这里给出相应的输出。例如:

苹果,检查通过炸药属于危险品!
炸药,被禁止!西服,检查通过硫酸属于危险品!
硫酸,被禁止!手表,检查通过硫磺属于危险品!
硫磺,被禁止!

ans:

import java.util.*;
public class Main {public static void main(String args[]) {          String[] name ={"苹果","炸药","西服","硫酸","手表","硫磺"};                  Goods[] goods = new Goods[name.length];                  for(int i= 0;i<name.length;i++) {goods[i] = new Goods();if(i%2==0) {goods[i].setDanger(false);goods[i].setName(name[i]);}else {goods[i].setDanger(true);goods[i].setName(name[i]);} }          Machine machine = new Machine();for(int i= 0;i<goods.length;i++) {System.out.print(goods[i].getName());try { machine.checkBag(goods[i]);System.out.println(",检查通过\n");}catch(DangerException e) {System.out.println(e.getMessage());System.out.println(goods[i].getName()+",被禁止!\n"); }}     } 
}class DangerException extends Exception{public DangerException() {super("属于危险品!");}//通过super向上初始化父类中的message//调用使用getMassage();
}class Goods{String name;boolean isDanger;public void setName(String name) {this.name=name;}public void setDanger(boolean Danger) {this.isDanger=Danger;}public String getName() {return this.name;}public boolean getDanger() {return this.isDanger;}}class Machine{public void checkBag(Goods goods)throws DangerException{if(goods.isDanger==true) {throw new DangerException(); //抛出异常}}
}

这篇关于6-1 异常:物品安全检查 (20分)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/888448

相关文章

javax.net.ssl.SSLHandshakeException:异常原因及解决方案

《javax.net.ssl.SSLHandshakeException:异常原因及解决方案》javax.net.ssl.SSLHandshakeException是一个SSL握手异常,通常在建立SS... 目录报错原因在程序中绕过服务器的安全验证注意点最后多说一句报错原因一般出现这种问题是因为目标服务器

Java对异常的认识与异常的处理小结

《Java对异常的认识与异常的处理小结》Java程序在运行时可能出现的错误或非正常情况称为异常,下面给大家介绍Java对异常的认识与异常的处理,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参... 目录一、认识异常与异常类型。二、异常的处理三、总结 一、认识异常与异常类型。(1)简单定义-什么是

Python主动抛出异常的各种用法和场景分析

《Python主动抛出异常的各种用法和场景分析》在Python中,我们不仅可以捕获和处理异常,还可以主动抛出异常,也就是以类的方式自定义错误的类型和提示信息,这在编程中非常有用,下面我将详细解释主动抛... 目录一、为什么要主动抛出异常?二、基本语法:raise关键字基本示例三、raise的多种用法1. 抛

Java空指针异常NullPointerException的原因与解决方案

《Java空指针异常NullPointerException的原因与解决方案》在Java开发中,NullPointerException(空指针异常)是最常见的运行时异常之一,通常发生在程序尝试访问或... 目录一、空指针异常产生的原因1. 变量未初始化2. 对象引用被显式置为null3. 方法返回null

redis在spring boot中异常退出的问题解决方案

《redis在springboot中异常退出的问题解决方案》:本文主要介绍redis在springboot中异常退出的问题解决方案,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴... 目录问题:解决 问题根源️ 解决方案1. 异步处理 + 提前ACK(关键步骤)2. 调整Redis消费者组

springboot项目redis缓存异常实战案例详解(提供解决方案)

《springboot项目redis缓存异常实战案例详解(提供解决方案)》redis基本上是高并发场景上会用到的一个高性能的key-value数据库,属于nosql类型,一般用作于缓存,一般是结合数据... 目录缓存异常实践案例缓存穿透问题缓存击穿问题(其中也解决了穿透问题)完整代码缓存异常实践案例Red

Java内存区域与内存溢出异常的详细探讨

《Java内存区域与内存溢出异常的详细探讨》:本文主要介绍Java内存区域与内存溢出异常的相关资料,分析异常原因并提供解决策略,如参数调整、代码优化等,帮助开发者排查内存问题,需要的朋友可以参考下... 目录一、引言二、Java 运行时数据区域(一)程序计数器(二)Java 虚拟机栈(三)本地方法栈(四)J

解决Java异常报错:java.nio.channels.UnresolvedAddressException问题

《解决Java异常报错:java.nio.channels.UnresolvedAddressException问题》:本文主要介绍解决Java异常报错:java.nio.channels.Unr... 目录异常含义可能出现的场景1. 错误的 IP 地址格式2. DNS 解析失败3. 未初始化的地址对象解决

python利用backoff实现异常自动重试详解

《python利用backoff实现异常自动重试详解》backoff是一个用于实现重试机制的Python库,通过指数退避或其他策略自动重试失败的操作,下面小编就来和大家详细讲讲如何利用backoff实... 目录1. backoff 库简介2. on_exception 装饰器的原理2.1 核心逻辑2.2

如何合理管控Java语言的异常

《如何合理管控Java语言的异常》:本文主要介绍如何合理管控Java语言的异常问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、介绍2、Thorwable类3、Error4、Exception类4.1、检查异常4.2、运行时异常5、处理方式5.1. 捕获异常