欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Java异常之图书管理系统

程序员文章站 2022-03-11 10:27:12
本文实例为大家分享了java异常之图书管理系统的具体代码,供大家参考,具体内容如下模拟借书系统,任务要求:感觉自己的写出来的代码不够简洁,参考了其他的案例写了一个,效果如下:结构:运行异常1: 运行异...

本文实例为大家分享了java异常之图书管理系统的具体代码,供大家参考,具体内容如下

模拟借书系统,任务要求:

Java异常之图书管理系统

感觉自己的写出来的代码不够简洁,参考了其他的案例写了一个,效果如下:

结构:

Java异常之图书管理系统

运行异常1:

Java异常之图书管理系统

运行异常2:

Java异常之图书管理系统

运行异常3:

Java异常之图书管理系统

正常运行:

1、名称查询

Java异常之图书管理系统

2、序号查询:

Java异常之图书管理系统

book.java:

package com.tony;
/*
 * 图书租赁系统
 */
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{
 //有参构造方法
 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("高等数学", 1), new book("大学英语", 2), new book("android", 3), new book("会计基础", 4)};
 public list<book> listbooks;
 //无参构造方法
 public borrowbook() {
  this.listbooks = new arraylist<book>();
 }
 public void addbook(){
  listbooks.addall(arrays.aslist(book));
 } 
 public void systemout() {
  system.out.println("*******欢迎使用借书系统*******");
  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://根据用户不同的输入内容执行
    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("下标越界,请重试.");
 }
 public int scanf() {
  try {
   int in = scanner.nextint();
   return in;
  } catch(exception e) {
   scanner = new scanner(system.in);
   return -1;
  }
 }
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。