第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

Java入門(mén)第三季1.9問(wèn)題編碼 Plus版

標(biāo)簽:
Java

原程序功能进行了简化,不需要用户说明输入的是序号还是书名,程序可以自动判断^-^
先说一下原理。两种搜索途径参数是不同的,实现的方法也是不同的,所以不能混合在一起,还是作为两种独立的方法存在,这样修改起来也比较简单,那么关键就在于根据输入的信息判断搜索方法
选择路径还是作为一个单独的方法来使用,只不过判断条件不再相同。我选择的判断条件是是否可以将输入信息转换为int类型,可以转换就使用序号查找,否则调用名称查找。
try...catch有点类似if...else,不同的是try...catch判断的是语句是否出错。在try块中放入一个可能出错的语句,如果该语句没有错误,程序就会继续运行try块中剩下的内容,否则会被对应的catch捕获,运行catch中的内容。所以Integer.parseInt();就是判断语句
下边是代码
主程序改了下名字

import java.util.*;
public class TestLendBookPlus
{
    public static void main(String[] args) 
    {
        LendBook lb=new LendBook();
        lb.initialBook();//初始化书籍信息
        lb.checkBook();//找书
    }
}

借书系统,主要更改了路径选择方法

class LendBook
{
    private String[] books=new String[4];
    private String road;//存储从控制台输入的信息,用来判断搜索方法,并作为搜索参数
//初始化书籍
    void initialBook(){
        books[0]="西游记";
        books[1]="三国演义";
        books[2]="水浒传";
        books[3]="红楼梦";
    }
//找书总程序,在这里调用不同的找书途径,自定义异常在这里catch
    void checkBook(){
        Scanner in=new Scanner(System.in);
        System.out.println("输入书名或者序号查找书籍:");
        try{
            road=in.next();
            if(checkKind())numCheck();//road可以转换为数字
            else nameCheck();//road不能转换为数字
        }catch(BookException e){//捕获书籍不存在异常,输出信息
            System.out.println("图书不存在");
            checkBook();//重新调用找书程序
        }
    }
//根据输入数据判断使用何种搜索方式
    boolean checkKind(){
        try{
            int i=Integer.parseInt(road);
            return true;//返回值为true说明转换成功,意味着数字搜索
        }catch(Exception e){
            return false;//返回值为false说明转换出错,使用名称搜索
        }
    }

//通过名称查找书籍
    void nameCheck()throws BookException{
        String name=road;
        for(String book:books){
            if(book.equals(name)){
                System.out.println("book: "+name);
                return;//如果找到匹配项则直接返回
            }
        }
        throw new BookException();//for循环结束还没找到,抛出异常
    }
//通过序号查找异常
    void numCheck()throws BookException{
        int num=Integer.parseInt(road);

        if(num>0 && num<5)
            System.out.println("book: "+books[num-1]);
        else throw new BookException();//序号超出范围,输出异常
    }
}

自定义异常现在只需要一个就够了

//图书不存在异常
class BookException extends Exception
{
    BookException(){super();}
}
點(diǎn)擊查看更多內(nèi)容
6人點(diǎn)贊

若覺(jué)得本文不錯(cuò),就分享一下吧!

評(píng)論

作者其他優(yōu)質(zhì)文章

正在加載中
感謝您的支持,我會(huì)繼續(xù)努力的~
掃碼打賞,你說(shuō)多少就多少
贊賞金額會(huì)直接到老師賬戶
支付方式
打開(kāi)微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊(cè)有機(jī)會(huì)得

100積分直接送

付費(fèi)專(zhuān)欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會(huì)
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)

舉報(bào)

0/150
提交
取消