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