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

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

java入門第三季第一章項目答案

標簽:
Java

package com.imooc.test;

import java.util.*;

public class BookManager {
static Scanner reader = new Scanner(System.in);

public static void main(String[] args) {
    // TODO Auto-generated method stub
    String[] books = { "C语言", "数据结构", "汇编语言", "高数", "大学语文", "毛概" };
    while (true) {
        System.out.println("输入命令:1-按照名称查找图书;2-按照序号查找图书");
        String book;
        try {
            // 取得整型命令
            int command = inputCommand();
            // 根据不同命令值,进行不同操作
            switch (command) {
            case 1:
                book = getBookByName(books);
                System.out.println("book:" + book);
                break;
            case 2:
                book = getBookByNum(books);
                System.out.println("book:" + book);
                break;
            case -1:
                System.out.println("输入的数字有误,请重新输入!");
                continue;
            default:
                System.out.println("输入的类型有错误,请重新输入!");
                continue;
            }
        } catch (Exception e) {
            // 捕获”图书不存在异常“时,要求重新输入命令
            System.out.println(e.getMessage());
            continue;
        }

    }

}

// 利用图书名称查询图书的方法
private static String getBookByName(String[] books) throws Exception {
    System.out.println("请输入图书名称:");
    String name = reader.next();
    for (int i = 0; i < books.length; i++) {
        if (name.equals(books[i])) {
            return books[i];
        }
    }

    throw new Exception("没有该书本!");

}

// 利用图书序号来查询图书的方法
private static String getBookByNum(String[] books) throws Exception {
    while (true) {
        System.out.println("请输入图书序号:");
        try {
            // 获取输入的图书序号(数组下标)
            int index = inputCommand();
            // 若返回值为-1
            if (index == -1) {
                System.out.println("命令输入错误,请根据命令输入数字!");
                continue;
            }
            String book = books[index-1];
            return book;
        } catch (ArrayIndexOutOfBoundsException e) {
            // 若不出现”数组下标越界异常“,则返回相应位置的图书
            Exception bookNotExits=new Exception("命令错误!");
            bookNotExits.initCause(e);
            throw bookNotExits;
        }
    }
}

// 从控制台输入命令,用于输入命令和输入图书序号
private static int inputCommand() {
    int command;
    try {
        command = reader.nextInt();
        return command;
    } catch (Exception e) {
        // 若输入字符型或者字符串,则抛出异常,捕获该异常,抛出”错误命令异常“
        reader = new Scanner(System.in);
        // 返回-1
        return -1;
    }
}

}

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

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

評論

作者其他優質文章

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

100積分直接送

付費專欄免費學

大額優惠券免費領

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

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

幫助反饋 APP下載

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

公眾號

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

舉報

0/150
提交
取消