当前位置: 首页 > web >正文

Problem D: 异常2

 1.题目描述

检查危险品程序:生成货物类、机器类,货物类有属性name,机器类有检测的check方法,若货物名称是炸弹、毒药、刀具,则抛出异常提示。

代码如下:

import java.util.Scanner;
class goods{
  String name;
  public void setName(String name){
      this.name=name;
  }
  public String getName(){
     return name;
  }
}

// 你的代码将嵌入这里
class Main{
  public static void main(String args[]){
     Scanner sc=new Scanner(System.in);
     String input=sc.nextLine();
     goods g=new goods();
     g.setName(input);
     machine m=new machine(g);
     try{
        m.check();
     }catch(dangerException e){
        e.showMessage();
     }
  }
}

2.输入描述

bomb 或 poison 或 knife

3.输出描述

bomb 或 poison 或 knife

Dangerous!!

 4.代码实现

1.提交代码

class dangerException extends Exception {public dangerException(String message) {super(message);}public void showMessage() {System.out.println(this.getMessage());}
}class machine {goods g;public machine(goods g) {this.g = g;}public void check() throws dangerException {String name = g.getName();if (name.equalsIgnoreCase("bomb") ||name.equalsIgnoreCase("poison") ||name.equalsIgnoreCase("knife")) {throw new dangerException(name + "\nDangerous!!");}}
}

2.完整代码

import java.util.Scanner;class goods {String name;public void setName(String name) {this.name = name;}public String getName() {return name;}
}class dangerException extends Exception {public dangerException(String message) {super(message);}public void showMessage() {System.out.println(this.getMessage());}
}class machine {goods g;public machine(goods g) {this.g = g;}public void check() throws dangerException {String name = g.getName();if (name.equalsIgnoreCase("bomb") ||name.equalsIgnoreCase("poison") ||name.equalsIgnoreCase("knife")) {throw new dangerException(name + "\nDangerous!!");}}
}class Main {public static void main(String args[]) {Scanner sc = new Scanner(System.in);String input = sc.nextLine();goods g = new goods();g.setName(input);machine m = new machine(g);try {m.check();} catch (dangerException e) {e.showMessage();}}
}

http://www.xdnf.cn/news/5547.html

相关文章:

  • MyBatis源码解读2(2.1、核心对象)
  • 【RP2350】香瓜树莓派RP2350之按键
  • B站取关脚本
  • robomaster机甲大师--电调电机
  • C++入门篇——类和对象(下)
  • C/C++表驱动法
  • Kubernetes生产实战(二十):容器大镜像拉取优化指南
  • 8.二叉树减枝
  • 双流 JOIN 与维表 JOIN 的区别
  • 多线程与信号
  • 软件设计师-错题笔记-软件工程基础知识
  • 总结C/C++中程序内存区域划分
  • 判断公网IP办法
  • Java SolonMCP 实现 MCP 实践全解析:SSE 与 STDIO 通信模式详解
  • Kubernetes排错(十三):Pod间偶发超时问题排查
  • 期刊 | 《电讯技术》
  • [SAP] SAP ERP用户参数设置
  • Funplus 服务端开发实习 面经
  • 分享一些资料供大家学习
  • PCB 设计 | 1A / 10A / 100A
  • 41、IIS 应⽤程序池集成模式和经典模式的区别?
  • 点和体素哪个好
  • 损失函数的选择和技术分析:深度学习模型训练的指南
  • GO语言-导入自定义包
  • 嵌入式STM32学习——振动传感器控制继电器开关灯
  • 力扣-二叉树-101 对称二叉树
  • fast-livo2原理
  • 【Java学习笔记】属性重写问题
  • 全栈项目实战:Vue3+Node.js开发博客系统
  • Python-MCPAgent开发-DeepSeek版本