图书查找java_java第三季第一章:查找图书信息实现
我開(kāi)始寫的時(shí)候也是遇到了困難,看了一個(gè)人的筆記后我有了思路,以下是我自己寫的代碼,但是運(yùn)行的時(shí)候有點(diǎn)奇怪,輸入的字符必須在輸出那段話的下一行點(diǎn)擊開(kāi)始輸入,開(kāi)始不再,所以輸入可能會(huì)出問(wèn)題,有人知道為什么開(kāi)始輸入的地方不在第二行嗎?
/*
*創(chuàng)建一個(gè)自定義輸出不存在異常
*
*/
public class nofoundexception extends Exception{
//定義自定義異常形參構(gòu)造函數(shù)
public nofoundexception(String a){
//把形參傳遞給超類構(gòu)造函數(shù)
super(a);
}
//定義無(wú)參構(gòu)造函數(shù)
public nofoundexception(){
}
}
import java.util.InputMismatchException;
import java.util.Scanner;
public class jieshuxitong {
//定義一個(gè)字符數(shù)組存放書本信息
public static String[]bookname=new String[]{"武動(dòng)乾坤","極品曖昧","斗破蒼穹","神印王座","x龍時(shí)代","仙逆","龍族I火之晨曦","龍族II悼亡者之瞳","龍族III黑月之潮","龍族IV奧丁之淵"};
//定義一個(gè)布爾型常量并賦初始值
public static boolean flag=true;
//創(chuàng)建一個(gè)判斷并拋出自定義圖書不存在異常方法
public void test1(boolean flag) throws nofoundexception{
//根據(jù)判斷拋出異常
if(flag=true){
throw new nofoundexception("圖書不存在異常");
}
}
//根據(jù)書名查詢圖書類
public void checkbookname() throws nofoundexception{
//定義一個(gè)字符串?dāng)?shù)組存放輸入字符串
String name;
//定義break跳出的循環(huán)范圍
start:
//當(dāng)拋出錯(cuò)誤后循環(huán)輸出提示語(yǔ)句
while(true){
try{
//創(chuàng)建java輸入流
Scanner input=new Scanner(System.in);
System.out.println("請(qǐng)輸入書名:");
//保存輸入信息并付給一個(gè)字符串
name=input.nextLine();
/*在字符數(shù)組長(zhǎng)度范圍內(nèi)循環(huán)判斷輸入字符串是否和字符數(shù)組中的成員一致
*/
for(int a=0;a
if(name.equals(bookname[a])){
//匹配正確輸出書名并改變flag值,跳出while循環(huán)
System.out.println("book:"+name);
flag=false;
break start;
}
}
//判斷并拋出異常
test1(flag);
}catch(InputMismatchException e){
System.out.println("命令輸入錯(cuò)誤!請(qǐng)根據(jù)提示輸入數(shù)字命令");
}catch(nofoundexception e){
System.out.println("圖書不存在");
}
}
}
//根據(jù)序號(hào)查詢圖書
public void checkbooknumber()throws nofoundexception{
int number;
//定義跳出循環(huán)范圍
start:
//當(dāng)輸入錯(cuò)誤時(shí)循環(huán)輸出
while(true){
try{
Scanner input1=new Scanner(System.in);
System.out.println("輸入圖書序號(hào):");
number=input1.nextInt();
//判斷輸入數(shù)字是否超出數(shù)組長(zhǎng)度
if(number>0&&number
System.out.println("book:"+bookname[number-1]);
//當(dāng)找到圖書時(shí)改變flag值跳出循環(huán)
flag=false;
break start;
}else{
//根據(jù)flag值判斷并拋出異常
test1(flag);
}
}catch(InputMismatchException e){
System.out.println("命令輸入錯(cuò)誤!請(qǐng)根據(jù)提示輸入數(shù)字命令");
}catch(nofoundexception e){
System.out.println("圖書不存在");
}
}
}
public static void main(String[]args){
start:
//根據(jù)flag的值判斷是否結(jié)束循環(huán)
while(flag){
try{
jieshuxitong s=new jieshuxitong();
int b=0;
Scanner input2=new Scanner(System.in);
System.out.println("輸入命令查找圖書:1-按書名,2-按序號(hào)");
b=input2.nextInt();
switch(b){
case 1:
s.checkbookname();
break start;
case 2:
s.checkbooknumber();
break start;
default:
System.out.println("命令輸入錯(cuò)誤!請(qǐng)根據(jù)提示輸入數(shù)字命令");
}
}catch(InputMismatchException e){
System.out.println("命令輸入錯(cuò)誤!請(qǐng)根據(jù)提示輸入數(shù)字命令");
}catch(nofoundexception e){
System.out.println("圖書不存在");
}
}
}
}
總結(jié)
以上是生活随笔為你收集整理的图书查找java_java第三季第一章:查找图书信息实现的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: java sync_Java同步简介
- 下一篇: java哈希map 删除_HashMap