最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java異常之圖書管理系統(tǒng)

 更新時間:2020年11月30日 12:13:11   作者:月滿軒尼詩丶  
這篇文章主要為大家詳細(xì)介紹了Java異常之圖書管理系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了Java異常之圖書管理系統(tǒng)的具體代碼,供大家參考,具體內(nèi)容如下

模擬借書系統(tǒng),任務(wù)要求:

感覺自己的寫出來的代碼不夠簡潔,參考了其他的案例寫了一個,效果如下:

結(jié)構(gòu):

運行異常1:

運行異常2:

運行異常3:

正常運行:

1、名稱查詢

2、序號查詢:

Book.java:

package com.tony;
/*
 * 圖書租賃系統(tǒng)
 */
public class Book {
 public String bookName;
 public int bookId;
 public Book(String bookName, int bookId){
  this.bookName = bookName;
  this.bookId = bookId;
 } 
}

自定義異常類MyException.java:

package com.tony;
/*
 * 自定義異常類
 */
public class MyException extends Exception{
 //有參構(gòu)造方法
 public MyException(String message) {
  super(message);
 };
}

BorrowBook.java:

package com.tony;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Scanner;
/*
 * 主程序
 */
public class BorrowBook {

 Book book [] = {new Book("高等數(shù)學(xué)", 1), new Book("大學(xué)英語", 2), new Book("Android", 3), new Book("會計基礎(chǔ)", 4)};
 public List<Book> listBooks;
 //無參構(gòu)造方法
 public BorrowBook() {
  this.listBooks = new ArrayList<Book>();
 }
 public void addBook(){
  listBooks.addAll(Arrays.asList(book));
 } 
 public void systemOut() {
  System.out.println("*******歡迎使用借書系統(tǒng)*******");
  System.out.println("*-*-*-*圖書一覽表:*-*-*-*");
  System.out.println("  書名" + "\t\t" + "序號");
  for(Book book:listBooks) {
   System.out.println(book.bookName + "\t\t " +book.bookId);
  }
 }
 private Scanner scanner = new Scanner(System.in);
 public static void main(String[] args) {
  BorrowBook borrowBook = new BorrowBook();
  borrowBook.addBook();
  borrowBook.systemOut();

  while(true) {
   System.out.println("輸入命令:1-按照名稱查找圖書;2-按照序號查找圖書");
   switch (borrowBook.scanf()) {
   case 1://根據(jù)用戶不同的輸入內(nèi)容執(zhí)行
    try {
     System.out.println("書籍:" + borrowBook.findByName());
     break;
    } catch (Exception e) {
     System.out.println(e.getMessage());
     continue;
    }
   case 2:
    try {
     System.out.println("書籍:" + borrowBook.findById()); 
     break;
    } catch (Exception e) {
     System.out.println(e.getMessage());
     continue;
    }
    default:
     System.out.println("命令錯誤,請重試.");
     continue;
   }
   break;
  }
  borrowBook.scanner.close();
 }
 public String findByName() throws MyException{
  System.out.println("*****請輸入書籍的名稱-->");
  String name = scanner.next();
  for (Book books : book) {
   if (name.equals(books.bookName)) {
    return books.bookName + "\t序號:" +books.bookId;
   }
  }
  throw new MyException("名稱錯誤,請重試.");
 }
 public String findById() throws MyException {
  System.out.println("*****請輸入書籍的序號-->");
  int in = scanner.nextInt();
  for (int i = 0; i < book.length; i++) {
   if (in == (i + 1)) {
    return book[i].bookName + "\t序號:" + (i+1);
   }
  }
  throw new MyException("下標(biāo)越界,請重試.");
 }
 public int scanf() {
  try {
   int in = scanner.nextInt();
   return in;
  } catch(Exception e) {
   scanner = new Scanner(System.in);
   return -1;
  }
 }
}

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Mybatis入門教程之新增、更新、刪除功能

    Mybatis入門教程之新增、更新、刪除功能

    這篇文章給大家介紹了Mybatis進行基本的增刪改操作,非常不錯,具有參考借鑒價值,需要的的朋友參考下
    2017-02-02
  • Spring中@Autowired和@Qualifier注解的3個知識點小結(jié)

    Spring中@Autowired和@Qualifier注解的3個知識點小結(jié)

    這篇文章主要介紹了Spring中@Autowired和@Qualifier注解的3個知識點小結(jié),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • 使用Java模擬鼠標(biāo)和鍵盤的詳細(xì)操作步驟

    使用Java模擬鼠標(biāo)和鍵盤的詳細(xì)操作步驟

    這篇文章主要介紹了使用Java模擬鼠標(biāo)和鍵盤的詳細(xì)操作步驟,要運行上面提供的Java程序,您需要遵循幾個步驟來設(shè)置Java環(huán)境、編寫程序代碼,并執(zhí)行該程序,文中有相關(guān)的代碼示例,需要的朋友可以參考下
    2024-05-05
  • TKmybatis的框架介紹和原理解析

    TKmybatis的框架介紹和原理解析

    tkmybatis是在mybatis框架的基礎(chǔ)上提供了很多工具,讓開發(fā)更加高效,下面來看看這個框架的基本使用,后面會對相關(guān)源碼進行分析,感興趣的同學(xué)可以看一下,挺不錯的一個工具
    2020-12-12
  • springboot自定義redis-starter的實現(xiàn)

    springboot自定義redis-starter的實現(xiàn)

    這篇文章主要介紹了springboot自定義redis-starter的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • Flink JobGraph生成源碼解析

    Flink JobGraph生成源碼解析

    這篇文章主要為大家介紹了Flink JobGraph生成源碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-12-12
  • JSON各種轉(zhuǎn)換問題(json轉(zhuǎn)List,json轉(zhuǎn)對象等)

    JSON各種轉(zhuǎn)換問題(json轉(zhuǎn)List,json轉(zhuǎn)對象等)

    這篇文章主要介紹了JSON各種轉(zhuǎn)換問題(json轉(zhuǎn)List,json轉(zhuǎn)對象等),本文通過實例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-03-03
  • 深入了解Java中的類加載機制

    深入了解Java中的類加載機制

    通常,在關(guān)于Java的類加載部分會遇到以上疑問,本文將對類加載重要部分做詳細(xì)介紹,包括重要的基礎(chǔ)概念和應(yīng)用場景,在編寫過程中也幫助作者重新熟悉并加固了知識點,希望在看完后對大家能有所幫助
    2022-11-11
  • springboot訪問靜態(tài)資源遇到的坑及解決

    springboot訪問靜態(tài)資源遇到的坑及解決

    這篇文章主要介紹了springboot訪問靜態(tài)資源遇到的坑及解決,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • 詳解Java遞歸實現(xiàn)樹形結(jié)構(gòu)的兩種方式

    詳解Java遞歸實現(xiàn)樹形結(jié)構(gòu)的兩種方式

    在開發(fā)的過程中,很多業(yè)務(wù)場景需要一個樹形結(jié)構(gòu)的結(jié)果集進行前端展示,也可以理解為是一個無限父子結(jié)構(gòu),常見的有報表指標(biāo)結(jié)構(gòu)、菜單結(jié)構(gòu)等,這篇文章主要介紹了Java遞歸實現(xiàn)樹形結(jié)構(gòu)的兩種方式,需要的朋友可以參考下
    2022-10-10

最新評論

万宁市| 会理县| 武鸣县| 岚皋县| 芜湖县| 剑阁县| 眉山市| 聂拉木县| 巍山| 香港| 汕尾市| 萨嘎县| 包头市| 石柱| 公安县| 南和县| 西吉县| 阳春市| 萨嘎县| 宜都市| 太原市| 日土县| 普安县| 汶川县| 京山县| 济宁市| 苗栗县| 仙游县| 红河县| 徐汇区| 陕西省| 石家庄市| 姚安县| 五台县| 仁化县| 孟津县| 临猗县| 井冈山市| 读书| 长岛县| 雷波县|