Java小例子:图书馆课程设计 - 编程入门网
作者 佚名技术
来源 NET编程
浏览
发布时间 2012-06-17
Java小例子:图书馆课程设计时间:2011-04-05用 Java 模拟一个图书馆。包括创建图书、创建读者、借书、还书、列出所有图书、 列出所有读者、列出已借出的图书、列出过期未还的图书等功能。每个读者最多只能借 3 本书,每个书最多只能借 3 个星期,超过就算过期。 下面是一个命令行下的实现。这个例子的主要目的是向初学者展示内部类的好处。 Command 及其子类都是 LibrarySimulator 的内部类。它们可以无阻碍的访问 LibrarySimulator 的成员。使用内部类,而不是大量的 if-else,让程序更容易扩展。 01.import java.io.BufferedReader; 02.import java.io.IOException; 03.import java.io.InputStreamReader; 04.import java.text.SimpleDateFormat; 05.import java.util.*; 06. 07./** 08. * 一个图书馆的课程设计。主要功能: 09. * 1. 创建图书 10. * 2. 创建读者 11. * 3. 借书 12. * 4. 还书 13. * 5. 列出所有书 14. * 6. 列出已借书 15. * 7. 列出超过日期未还的书 16. */ 17.public class LibrarySimulator { 18. 19. // 主菜单 20. private static final String MAIN_MENU = "1. 列出所有的书\n" + 21. "2. 列出已借出的书\n" + 22. "3. 列出过期未还的书\n" + 23. "4. 列出所有读者\n" + 24. "5. 创建图书\n" + 25. "6. 创建读者\n" + 26. "7. 借书\n" + 27. "8. 还书\n" + 28. "9. 退出\n" + 29. "请输入序号:"; 30. 31. // 选择图书类型的菜单。在借书和添加图书的时候都会用到 32. private static final String TYPE_MENU; 33. 34. // 表示一个数字的正则表达式 35. private static final String DIGIT_CHOICE_PATTERN = "^\\dcontentquot;; 36. 37. // 表示非空字符串 38. private static final String NOT_EMPTY_PATTERN = "\\S.*"; 39. 40. // 日期格式 41. static final String DATE_PATTERN = "yyyy/MM/dd"; 42. 43. // 验证用户输入日期的正则表达式 44. static final String DATE_FORMAT_PATTERN = "^\\d{4}/\\d{2}/\\d{2}contentquot;; 45. 46. // 预定义的图书类型 47. static HashMap<String, String> TYPES = new LinkedHashMap<String, String>(); 48. 49. static { 50. TYPES.put("1", "科学类"); 51. TYPES.put("2", "文学类"); // 新的类别可以继续在后面添加 52. TYPE_MENU = createTypeMenu(); 53. } 54. 55. // 生成选择类别的菜单 56. private static String createTypeMenu() { 57. String str = ""; 58. for (String index : TYPES.keySet()) { 59. str += index + ". " + TYPES.get(index) + "\n"; 60. } 61. return str + "请选择书的类型:"; 62. } 63. 64. 65. private HashMap<Integer, Command> commands = new HashMap<Integer, Command>(); 66. 67. private ArrayList<Book> books = new ArrayList<Book>(); 68. 69. private ArrayList<Reader> readers = new ArrayList<Reader>(); 70. 71. // 程序入口。这里创建一个 LibrarySimulator 用于模拟界面。 72. public static void main(String[] args) { 73. new LibrarySimulator().start() |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
关于Java小例子:图书馆课程设计 - 编程入门网的所有评论