tppe

大概方式:1、判断用户输入的类型是否正确,不正确捕获异常,把他包装成我自己定义的异常2、判断用户输入的数是多少2.1、如果是1,则打印“输入图书名称”,用户输入,定义一个Book类型的数组,然后遍历,定义一个计数器count,如果用户输入的值等于数组遍历的值(书的名字不能重复,此处有错误,因为如果名字重复的话,输入名字应该同时出现重复的书名和不同的书号(自动默认书号是不能重复的)),计数器加1,这里如果计数器不等于1的话(有两个原因:(1)大于1:可能是出现了重复的书名 (2)等于0:可能是不存在这本书 (3)小于0:不知道了。。。),但是我这边是不管是哪种原因,我都是用的“图书不存在”这个异常,所以也有问题2.2、如果是2:同上整个有点混乱,还有好多问题1、package com.library;public class Book {private String bookName;private int lNum;public Book() {super();// TODO Auto-generated constructor stub}public Book(String bookName, int num) {super();this.bookName = bookName;lNum = num;}public String getBookName() {return bookName;}public int getLNum() {return lNum;}}2、package com.library;public class MyException extends Exception{public MyException(){}public MyException(String message){super(message);}}3、package com.library;import java.util.Scanner;public class TestLibrary {private static TestLibrary tl;public static void main(String[] args) {tl = new TestLibrary();System.out.println("输入命令:1-按照名称查找图书;2-按照序号查找图书");try {tl.test2();} catch (MyException e) {// TODO Auto-generated catch blocke.printStackTrace();for(int i = 1; i != 0; i++){System.out.println("输入命令:1-按照名称查找图书;2-按照序号查找图书");try {tl.test2();} catch (MyException e1) {// TODO Auto-generated catch blocke1.printStackTrace();}}}} public void test2() throws MyException{Book book1 = new Book("数据结构",1);Book book2 = new Book("高数",2);//Book book3 = new Book("高数",3);Book[] library = {book1,book2};try {Scanner s = new Scanner(System.in);Integer input = s.nextInt();if((input instanceof Integer) == true){ if(input.equals(1)){int count = 0;System.out.println("输入图书名称");Scanner s1 = new Scanner(System.in);String bookName = s1.nextLine();for(int i = 0; i < library.length; i++){if(bookName.equals(library[i].getBookName())){System.out.println("book:" + library[i].getBookName());count++;//System.out.println(count+"...");}} if(count != 1){tl.test4();}}else if(input.equals(2)){int count = 0;System.out.println("输入图书序号");Scanner s2 = new Scanner(System.in);int lNum = s2.nextInt();for(int i = 0; i < library.length; i++){if(lNum == (library[i].getLNum())){System.out.println("book:" + library[i].getBookName());count++;}}if(count != 1){tl.test4();}}}} catch (Exception e){MyException exception = new MyException("命令输入错误!请根据提示输入数字命令");exception.initCause(e);throw exception;}} // public void test1() throws MyException { throw new MyException("命令输入错误!请根据提示输入数字命令");// } public void test3() throws MyException{ throw new MyException("图书不存在");} public void test4(){try {test3();} catch (MyException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}

java 异常练习题_java入门异常处理练习题问题相关推荐

  1. 【转载】Java异常控制机制和异常处理原则

    转载自Java异常控制机制和异常处理原则 Java异常控制机制又被称为"违例控制机制". 捕获程序错误最理想的时机是在编译阶段,这样可以彻底避免错误的代码运行.但并非所有的错误都能 ...

  2. java异常应用_Java异常处理机制 —— 深入理解与开发应用

    本文为原创博文,转载请注明出处,侵权必究! Java异常处理机制在日常开发中应用频繁,其最主要的不外乎几个关键字:try.catch.finally.throw.throws,以及各种各样的Excep ...

  3. java 异常管理员_Java异常处理机制

    Java 中的异常(Exception)又称为例外,是一个在程序执行期间发生的事件,它中断正在执行的程序的正常指令流.为了能够及时有效地处理程序中的运行错误,必须使用异常类. 一.异常简介 在程序中, ...

  4. java 异常 理解_java中的异常理解

    java异常是java提供的用于处理程序中错误的一种机制. 所谓错误是指在程序运行的过程中发生的一些异常事件(如:除0溢出,数组下标越界,所要读取的文件不存在). 设计良好地程序应该在程序异常发生时提 ...

  5. java异常 子类_Java异常 Exception类及其子类(实例讲解)

    C语言时用if...else...来控制异常,Java语言所有的异常都可以用一个类来表示,不同类型的异常对应不同的子类异常,每个异常都对应一个异常类的对象. Java异常处理通过5个关键字try.ca ...

  6. java 异常 理解_java异常理解(1)

    JAVA异常处理机制 1引子 try-catch-finally恐怕是大家再熟悉不过的语句了,而且感觉用起来也是很简单,逻辑上似乎也是很容易理解.不过,我亲自体验的"教训"告诉我, ...

  7. java异常判断_Java异常退出条件的判断示例代码

    无论是功能性代码还是算法性代码,程序都是一系列流程的合集 既然是流程就分为:一般流程和异常流程: 一般流程保证了基本功能: 异常流程则是对程序稳定性的保证,不能因为一些非法输入,项目就挂了: 注意,布 ...

  8. java 异常 日志_java中的异常、断言、日志(一)

    1.Java异常处理i.异常的概念和Java里面的异常体系结构1)基本概念:程序中的异常,一般成为例外情况,可以理解为是非正常情况,其他编程语言里面也有这样的情况,Java里面同样存在这样一个体系结构 ...

  9. java 异常限制_java的异常限制

    class Exception1 extends Exception{} class Exception2 extends Exception{} class Exception3 extends E ...

最新文章

  1. 自然语言处理中的预训练技术发展史
  2. MindSpore感恩节重磅福利,华为Mate 40E送送送!
  3. 大正整数排序~(结构体排序~)
  4. UVA 10154 Weights and Measures
  5. 特征工程(part1)--什么是特征工程
  6. hosts ip 指向ip_【好玩的网络-第4期】DNS硬核科普,你是怎么上网的?DNS里都有啥?传说中的hosts文件又是啥?...
  7. Leetcode 1094.拼车 差分
  8. .Net 1.1下WEB引用Win控件的两个Bug
  9. 质因数分解(信息学奥赛一本通-T1098)
  10. 【mysql】悲观锁和乐观锁的实现原理
  11. OpenCV+MFC显示图像
  12. 记一次失败的RecycleView滑动定位
  13. REPNZ SCANS
  14. 仿视频字幕弹幕网站 – Miko二次元动漫视频网站源码 视频播放带源码
  15. ubuntu18.04 Nvidia 显卡的风扇调速及startx的后果 --转载
  16. Android音频的录制与播放
  17. @AutoConfigureAfter注解
  18. 免费物流快递单号查询接口快速对接(顺丰、韵达、申通、中通)
  19. Windows10当中的混合现实门户怎么使用 超详细讲解 win10混合现实门户怎么用?
  20. Mac IDEA 自带Maven换国内源

热门文章

  1. Apache Camel 2.19发布–新增功能
  2. Jersey WebResource –标头不附加
  3. JavaFX技巧20:有很多需要展示的地方吗? 使用画布!
  4. Java 7:如何编写非常快速的Java代码
  5. Spring MVC3 Hibernate CRUD示例应用程序
  6. opencv生成日志_OpenCV-Utils学习日志:VideoCapture使用样例
  7. Linux 命令之 deluser -- 删除用户
  8. linux查看文件使用情况,linux查看文件句柄使用情况
  9. Java程序开发三步骤:编写、编译、运行
  10. 远程服务器如何创建分支,git如何远程创建分支