java普通异常和系统异常,Java入门第三季第一章异常与异常处理---图书管理系统...

//命令错误异常

package imooc;

public class ErroCommandExp extends Exception {

public ErroCommandExp(){

}

public ErroCommandExp(String message){

super(message);

}

}

//图书不存在异常

package imooc;

import java.util.InputMismatchException;

public class NonBookExp extends InputMismatchException {

public NonBookExp(){

}

public NonBookExp(String message){

super(message);

}

}

//主函数

package imooc;

import java.util.InputMismatchException;

//import java.util.NoSuchElementException;

import java.util.Scanner;;

public class Initial {

public int command() throws ErroCommandExp{

Scanner input = new Scanner(System.in);

int i;

System.out.println("输入命令:1-按照名称查找图书;2-按照序号查找图书");

try{

i = input.nextInt(); //输入不匹配异常

}catch(InputMismatchException e){

throw new ErroCommandExp("命令错误异常");

}

if( (i != 1) && (i != 2) ){ //输入命令非1、2异常

throw new ErroCommandExp("命令错误异常");

}

return i;

}

public void searchName(String[] bookStore) throws NonBookExp{

Scanner input = new Scanner(System.in);

int k = 0;

System.out.println("请输入图书名称:");

String bookName = input.nextLine();

for( ;k < bookStore.length; k++){ //输入的图书名称一个个做对比

if(bookStore[k].equals(bookName)){

System.out.println("book:" + bookName);

break; //如果找到则输出图书的名称并 跳出for循环

}

}

if(k == bookStore.length){ //对比完仍没找到这抛出图书不存在异常

throw new NonBookExp("图书不存在异常");

}

}

public void searchId(String[] bookStore) throws NonBookExp{

Scanner input = new Scanner(System.in);

System.out.println("请输入图书序号:");

int bookNum = input.nextInt();

if( (bookNum >= bookStore.length) || (bookNum < 0) ){ //输入图书的编号小于零或者大于图书的数量则抛出图书不存在异常

throw new NonBookExp("图书不存在异常");

}else{

System.out.println("book:" + bookStore[bookNum]);

}

}

public static void main(String[] args) {

// TODO Auto-generated method stub

String[] bookStore = {"数据结构", "高数", "Java核心技术卷一", "Java核心技术卷二"};

Initial book = new Initial();

while(true){

int n = 0;

try{

n = book.command();

}catch(ErroCommandExp e){

System.out.println("命令错误,请从新输入!!!");

}

switch(n){

case 1: try{

book.searchName(bookStore);

}catch(NonBookExp e){

System.out.println("图书不存在!!!");

}

break;

case 2: try{

book.searchId(bookStore);

}catch(NonBookExp e){

System.out.println("图书不存在!!!");

}

break;

}

}

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值