亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

作業:模擬借書系統(啦啦啦啦)

標簽:
Java

/*

  • 注: xxInstruction,NobooksHere 异常在该程序外定义了
  • 注: 在输入的时候得手动调整光标的位置,不知道该如何自动化,头疼。
  • 该程序执行时候只有完整正确一次才会执行完毕,一直错误则一直执行
  • 符合老师要求
  • 没有尝试运用do-while语句,导致结构很别扭。
  • 序号方面的指令错误直接统一为“错误的命令”(使用了正则表达式)
  • */
    package lib系统初;
    import java.util.Scanner;
    public class Lib {
    String book[]={"高数","线代","数据结构","系统","组成原理"};
    public static void main(String[] args) {
    rungogo();
    System.out.println("程序执行完毕");
    }
    public static void rungogo(){
    Lib KK=new Lib();
    String A=KK.InputInstrNumber();//输入命令序号
    switch(A){
    case "1":
    System.out.println("输入图书名称");
    KK.NameCheck();
    break;
    case "2":
    System.out.println("输入图书序号");
    KK.NumCheck();
    break;
    }
    }
    public String InputInstrNumber(){
    String check="[12]";
    System.out.println("输入命令:1.按书名查找;2.按序号查找");
    Scanner scanner = new Scanner(System.in);
    String input;
    input=scanner.next();
    try {
    if(!input.matches(check)){
    System.out.println("错误的命令");
    throw new xxInstruction();
    }

    } catch (xxInstruction e) {
        // TODO 自动生成的 catch 块
           InputInstrNumber();
    }
    return input;
    }//输入命令序号并检查的方法

    public void NameCheck(){
    try {
    Scanner scanner = new Scanner(System.in);
    String input;
    input=scanner.next();
    int a,i;
    //// for(int i=0;i<book.length&&input!=book[i];i++){//String比较不能简单的用==来比较
    // for(i=0;i<=book.length&&input.compareTo(book[i])!=0;i++){
    // if(i==book.length){
    // System.out.println("图书不存在");
    // throw new NobooksHere();
    // }//if
    // }//for
    // System.out.println("book:"+book[i]);
    for(i=0,a=0;i<book.length;){
    if(input.compareTo(book[i])!=0){
    a=i;
    i++;
    }
    else
    break;
    }//if
    if(i==book.length){
    System.out.println("图书不存在");
    throw new NobooksHere();
    }
    else
    System.out.println("book"+a+":"+book[a]);
    } catch (NobooksHere e) {
    rungogo();//这种处理方法导致只要发生错误,程序就不会停止,直到正确一次为止
    }
    }//输入图书名字进行检查的方法

    public void NumCheck(){
    try {
    String check="\D";
    Scanner scanner = new Scanner(System.in);
    String input;
    input=scanner.next();
    if(input.matches(check)){
    System.out.println("命令输入错误,请输入数字命令");
    throw new xxInstruction();
    }
    else{
    int number=Integer.parseInt(input);//强制类型转换,把输入的String类型转化成int类型
    if(number<0number>book.length){
    System.out.println("图书不存在");
    throw new NobooksHere();
    }
    else
    System.out.println("book:"+book[number-1]);
    }
    } catch (xxInstruction e) {
    NumCheck();
    }
    catch (NobooksHere e) {
    rungogo();//这种处理方法导致只要发生错误,程序就不会停止,直到正确一次为止
    }

    }
    }

點擊查看更多內容
3人點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消