Java异常之图书管理系统
程序员文章站
2022-06-30 13:40:41
本文实例为大家分享了java异常之图书管理系统的具体代码,供大家参考,具体内容如下模拟借书系统,任务要求:感觉自己的写出来的代码不够简洁,参考了其他的案例写了一个,效果如下:结构:运行异常1: 运行异...
本文实例为大家分享了java异常之图书管理系统的具体代码,供大家参考,具体内容如下
模拟借书系统,任务要求:
感觉自己的写出来的代码不够简洁,参考了其他的案例写了一个,效果如下:
结构:
运行异常1:
运行异常2:
运行异常3:
正常运行:
1、名称查询
2、序号查询:
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; } } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
推荐阅读
-
C#实现图书管理系统
-
abp(net core)+easyui+efcore实现仓储管理系统——展现层实现增删改查之增删改视图(八)
-
Java 基础篇之异常
-
java学生管理系统
-
Java——简单实现学生管理系统
-
C#实现图书管理系统
-
ASP.NET MVC5+EF6+EasyUI后台管理系统 微信公众平台开发之消息管理
-
abp(net core)+easyui+efcore实现仓储管理系统——展现层实现增删改查之菜单与测试(九)
-
谈一谈个人利用Java的mysql的知识完成的数据库的项目-----用户信息管理系统
-
abp(net core)+easyui+efcore实现仓储管理系统——ABP WebAPI与EasyUI结合增删改查之四(三十)