JAVA入門第三季(第一章練習)模擬借書系統
功能:模擬借書系統
要求:
1.定義字串陣列儲存圖書資訊
2.提示使用者輸入,分別按“書名”和“圖書序號”查詢圖書
3.根據輸入資訊進行適當的異常處理:
a) 如果輸入型別錯誤,丟擲“錯誤命令異常”,並提示重新輸入
b) 如果書名不存在,丟擲“圖書不存在異常”,並提示重新輸入
c) 如果圖書序號超過字串陣列範圍,丟擲“圖書不存在異常”,並提示重新輸入
首先定義了一個書的類,裡面包含了序號和書名兩個屬性
package com.book;
/*
* 圖書管理
* 書的屬性*/
public class Book {
private int number;//圖書序號
private String name;//圖書書名
public int getNumber() {
return number;
}
public void setNumber(int NewNumber) {
this.number = NewNumber;
}
public String getName() {
return name;
}
public void setName(String NewName) {
this.name = NewName;
}
public Book(int NewNumber, String NewName){
this.number = NewNumber;
this.name = NewName;
}
}
定義了一個自定義異常類
package com.book;
/*
*自定義異常類 */
public class InputException extends Exception {
public InputException(){};
public InputException(String msg){
super(msg);
}
}
在主類中自定義了三個異常方法,分別對應功能序號輸入異常,書名查詢異常,圖書序號超過字串陣列範圍異常
功能序號輸入異常
//自定義異常,當輸入的數字不屬於1,2,3時,報錯
public void check(int num) throws InputException{
if(num == 1 || num == 2 || num == 3){
return;
}else{
throw new InputException("命令輸入錯誤!請根據提示輸入數字命令!");
}
}
書名查詢不到異常
//書名查詢不存在的異常
public void NameNothingness(String name) throws InputException{
for(int i=0; i
圖書序號超過字串陣列範圍異常
//圖書序號超過字串陣列範圍異常
public void NumNothingness(int num) throws InputException{
//num0 && num
主類完全程式碼
package com.book;
import java.util.Scanner;
/*
* 圖書管理
* 借書管理*/
public class Management {
static Book[] book = {new Book(1, "高數"),
new Book(2, "離散"),
new Book(3, "機率"),
new Book(4, "圖形學")};
static Management m = new Management();
//序號查詢方法
public void NumberLookup(int num){
try {
m.NumNothingness(num);
} catch (InputException e) {
// TODO 自動生成的 catch 塊
System.out.println("圖書序號超過字串陣列範圍,查無此書籍!");
}
}
//書名查詢方法
public void NameLookup(String name){
try {
m.NameNothingness(name);
} catch (InputException e) {
// TODO 自動生成的 catch 塊
System.out.println("查無此書");
}
}
//main()程式入口
public static void main(String[] args){
for(;;){
try{
System.out.println("輸入命令:1-按照名稱查詢書籍;2-按照序號查詢書籍;3-退出程式");
@SuppressWarnings("resource")
Scanner s = new Scanner(System.in);
int c = s.nextInt();
m.check(c);
switch (c){
case 1:
System.out.print("輸入圖書名稱:");
String name = s.next();
m.NameLookup(name);
break;
case 2:
System.out.print("輸入圖書序號:");
int num = s.nextInt();
m.NumberLookup(num);
break;
case 3:
System.out.println("退出程式~");
System.exit(0);
}
}catch (InputException e){
System.out.println("命令輸入錯誤!請根據提示輸入數字命令!");
}catch (Exception e){
System.out.println("請正確輸入書的序號!");
}
}
}
//自定義異常,當輸入的數字不屬於1,2,3時,報錯
public void check(int num) throws InputException{
if(num == 1 || num == 2 || num == 3){
return;
}else{
throw new InputException("命令輸入錯誤!請根據提示輸入數字命令!");
}
}
//書名查詢不存在的異常
public void NameNothingness(String name) throws InputException{
for(int i=0; i 0 && num
執行結果
輸入命令:1-按照名稱查詢書籍;2-按照序號查詢書籍;3-退出程式
1
輸入圖書名稱:高數
book:高數
輸入命令:1-按照名稱查詢書籍;2-按照序號查詢書籍;3-退出程式
1
輸入圖書名稱:asd
查無此書
輸入命令:1-按照名稱查詢書籍;2-按照序號查詢書籍;3-退出程式
2
輸入圖書序號:1
book:高數
輸入命令:1-按照名稱查詢書籍;2-按照序號查詢書籍;3-退出程式
2
輸入圖書序號:4
book:圖形學
輸入命令:1-按照名稱查詢書籍;2-按照序號查詢書籍;3-退出程式
2
輸入圖書序號:5
圖書序號超過字串陣列範圍,查無此書籍!
輸入命令:1-按照名稱查詢書籍;2-按照序號查詢書籍;3-退出程式
2
輸入圖書序號:6
圖書序號超過字串陣列範圍,查無此書籍!
輸入命令:1-按照名稱查詢書籍;2-按照序號查詢書籍;3-退出程式
3
退出程式~
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4422/viewspace-2798059/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Java入門第三季 1-9 《模擬借書系統》Java
- Java入門自定義異常&模擬借書系統Java
- JAVA入門第三季1-9 借書系統手記Java
- java第三季異常作業:借書系統Java
- JAVA入門第三季第一章第九節課後練習題!Java
- java入門第三季6-5練習Java
- JAVA入門第三季——最後練習題撲克牌Java
- Java入門第三季1.9圖書查詢Java
- java大作業總結——圖書借閱管理系統Java
- 【Java】酒店管理系統的模擬Java
- Django入門案例:圖書管理系統Django
- Java作業系統課設之模擬程式管理系統Java作業系統
- qsort的模擬實現和練習
- 【Java】——模擬登入實現Java
- CAD入門級練習題
- JAVA入門第二季4-2練習Java
- 《深度學習入門:》學習基本第一章深度學習
- Gpssworld模擬(二):並排排隊系統模擬
- 系統入門課後習題1
- sql查詢入門練習題SQL
- 又做了一個“圖書借閱系統”小程式
- 程式碼源 Y1 配套模擬練習
- 三次答題判題程式練習讓你入門Java。Java
- Linux系統入門命令學習經驗Linux
- 極簡 Node.js 入門 - 1.2 模組系統Node.js
- 利用WReal加速系統模擬
- 慕課網Python入門練習題---Python
- 入門MySQL——查詢語法練習MySql
- ABAQUS模擬軟體新手入門培訓
- Abaqus 模擬軟體新手入門培訓
- Modelsim模擬新手入門最詳細教程
- Java入門第三季撲克牌小遊戲Java遊戲
- 最適合Java基礎練手的Java小專案「圖書管理系統」Java
- Java第三季6-5 Collections.sort() 課後練習Java
- 作業系統複習第一章作業系統
- [譯] 強化學習入門篇:Simmer 模擬平臺高階使用技巧強化學習
- [MySQL光速入門]008 SQL強化練習MySql
- OPNET入門1-第一個模擬例子