由于暂时没有学过Java,写的乱七八糟
甚至连内部类和外部类都是写到一半才知道
不少地方还不清楚是为什么

package 图书管理系统;
import java.util.Scanner;       //引入Scanner
public class Library {final int book_kinds_number = 5;final int students_number = 5;final int password_length = 4;final int max_borrow_number = 2;public static void main(String[] args) {Book_Manage_System SWJTU_Library = new Library().new Book_Manage_System();       //外部类要优先于内部类出现Scanner input = new Scanner(System.in);int sl_1,sl_2, log = -1;boolean judge = true;boolean judge_1 = true;boolean judge_2 = true;do {judge = true;judge_1 = true;judge_2 = true;do {System.out.println("欢迎使用图书借阅系统");      //登录部分System.out.println("登录...1\n离开...0");sl_1 = input.nextInt();switch(sl_1) {case 1:  log = SWJTU_Library.Login();if(log == -1) {System.out.println("密码输入错误\n");judge_1 = true;}else if(log == -2) {System.out.println("用户名输入错误\n");}else {judge_1 = false;}break;case 0:System.exit(0);default:System.out.print("输入有误,请重新输入");break;}}while(judge_1);do {System.out.println("功能选择项");      //功能部分System.out.println("查询馆内图书...1\n借阅图书...2\n归还图书...3\n退出登录...0");sl_2 = input.nextInt();switch(sl_2) {case 0:judge_2 = false;judge = true; break;case 1:SWJTU_Library.Show_All_Books();break;case 2:if(log != -1) {SWJTU_Library.Borrow(SWJTU_Library.students[log]);}break;case 3:SWJTU_Library.Show_Student_Books(SWJTU_Library.students[log]);SWJTU_Library.Return(SWJTU_Library.students[log]);break;default:judge_2 = false;break;}}while(judge_2);}while(judge);}public class Book {String name;int num;}public class Student{String name;int borrow_number;String password;       //密码为字符串型Book book[] = new Book[max_borrow_number];public void show_books(){int i;for(i=0;i<max_borrow_number;i++) {if(book[i].num>0) {System.out.print(book[i].name);}if(i!=max_borrow_number - 1) {System.out.print("、");}}}Student(){       //学生的初始化函数int i;for(i=0;i<max_borrow_number;i++) {book[i] = new Book();book[i].num = 0;book[i].name = "";}}}public class Book_Manage_System{Book books[] = new Book[5];Student students[] = new Student[5];public int Login()      //登录函数实现部分{int i, flag = -2;Scanner input = new Scanner(System.in);System.out.print("请输入用户名: ");String nm = input.nextLine();System.out.print("请输入密码");String key = input.nextLine();for(i=0;i<students_number;i++) {if(students[i].name.equals(nm)) {flag = -1;if(students[i].password.equals(key)) {System.out.println("登录成功\n欢迎"+students[i].name+"同学");flag = i;break;}}}return flag;}public void Show_All_Books(){int i;for(i=0;i<book_kinds_number;i++) {System.out.print(books[i].name+" "+books[i].num+"本\n");}}public void Borrow(Student stu)      //借阅功能实现部分{int i,j;for(i=0;i<book_kinds_number;i++) {System.out.println(books[i].name+" 剩余"+books[i].num);}System.out.println("请问要借哪本书?");Scanner input = new Scanner(System.in);String bk = input.next();for(i=0;i<book_kinds_number;i++) {if(stu.borrow_number == max_borrow_number) {System.out.println("您的借书数量已达上限");break;}if(books[i].name.equals(bk)) {       //equals:字符串比较函数,若两字符串相同则返回trueif(books[i].num==0) {System.out.println("此书已被借完");}else {System.out.println(stu.name+"借出一本《"+books[i].name+"》");for(j=0;j<max_borrow_number;j++) {if(stu.book[j].num == 0) {stu.book[j].name = bk;stu.book[j].num += 1;break;}}books[i].num-=1;stu.borrow_number += 1;}break;}if(i==book_kinds_number-1) {System.out.println("图书馆里没有《"+bk+"》这本书");}}}public void Show_Student_Books(Student stu){int i;for(i=0;i<max_borrow_number;i++) {if(stu.book[i].num>0) {System.out.println(stu.book[i].name+" "+stu.book[i].num);}}}public void Return(Student stu){int i,j,flag = 0;System.out.println("请问要还哪一本书?");Scanner input = new Scanner(System.in);String rt = input.nextLine();for(i=0;i<max_borrow_number;i++) {if(stu.book[i].name.equals(rt)) {     //equals:字符串比较函数,若两字符串相同则返回truestu.book[i].name="";stu.book[i].num -= 1;for(j=0;j<book_kinds_number;j++) {if(books[j].name.equals(rt)) {System.out.println("归还成功");books[j].num+=1;break;}}flag = 1;}}if(flag == 0) {System.out.println("您没有这本书");}}Book_Manage_System()      //初始内容:学生的姓名、密码储存的地方{books[0] = new Book();        //这里如果不进行动态分配就会报错books[1] = new Book();books[2] = new Book();books[3] = new Book();books[4] = new Book();students[0] = new Student();students[1] = new Student();students[2] = new Student();students[3] = new Student();students[4] = new Student();books[0].name = "高等数学";books[0].num = 2;books[1].name = "Java编程入门";books[1].num = 2;books[2].name = "漫游者日记";books[2].num = 2;books[3].name = "百武装战记";books[3].num = 2;books[4].name = "刀剑神域";books[4].num = 2;students[0].name = "无上辐光";students[0].password = "2337";students[1].name = "失败冠军";students[1].password = "2330";students[2].name = "空洞骑士";students[2].password = "1111";students[3].name = "艾米璐";students[3].password = "2222";students[4].name = "桐人";students[4].password = "3333";}}
}

Java创建一个简单的图书管理系统相关推荐

  1. 用C#实现一个简单的图书管理系统(课程设计)

    用C#(sharp)实现一个简单的图书管理系统(课程设计) 学校的数据库课程结束了,要求完成一个课程设计,于是我用C#实现了一个简单的图书管理系统(ADO.NET) 源码放在了github上,仅供参考 ...

  2. Java水果搬运问题_关于Java实现一个简单水果订购管理系统的几点问题

    关于Java实现一个简单水果订购管理系统的几点问题 关于Java实现一个简单水果订购管理系统的几点问题 这个周用java写了一个简单的水果订购系统.其中遇上了几个问题 一.在编写过程中,我试图输入订购 ...

  3. PHP实现一个简单的图书管理系统

    刚收到了一个消息,老师竟然布置了一个课设 ,要求做一个后台管理系统.做归做,但是!本着为老师节省时间的心态,我花了大量的时间,消耗了无数脑细胞扫描了一遍老师给的课题,最终掐指一算选了一个最简单的--& ...

  4. 使用java创建一个简单的回合制的双人pk

    创建一个简单的双人pk package com.hp.Demo1;import java.util.Random;/*** 玩家类* 属性:名字.类型.生命值.防御力.攻击类* 方法:自我介绍.Pk* ...

  5. Java——创建一个简单的窗口

    今天刚刚上完Java饶有兴趣的我 做了这么一个简单的窗口.挺有成就感的. package RTFIL; import javax.swing.*; import java.awt.*; import ...

  6. 通过JAVA编写一个简单的雇员管理系统小项目

    代码注释比较详细,应该能帮助初学者很轻松的看懂:代码如下:(详细说明请看代码注解) /* * 项目:公司职员薪水管理系统 * 作者:zyj0813 * 项目需求: * 1.添加新员工 * 2.根据员工 ...

  7. 小程序一:利用Python编写一个简单的图书管理系统

    完成项目的流程: 想要完成某个项目基本都是按这个流程进行编写 想要实现的功能 代码的实现 class Book:def __init__(self,name,author,recommendation ...

  8. Java创建一个简单的Dog类

    要求: 创建一个Dog类,包含以下属性和方法: 属性:名字.颜色 方法:叫.跑 代码参考: public class Dog { String name; String color; public v ...

  9. 用c++写一个简单的图书管理系统

    实现图书管理员的登记,图书的入库.下架.借出.归还.查看图书信息以及修改图书信息等.管理人员可以查阅借阅图书的学生基本信息,以全面掌握图书的流通情况. 源码如下: #include <iostr ...

最新文章

  1. php fsockopen解决办法
  2. tableau可视化函数使用案例(四十六)-数字函数的使用方法
  3. html全局布局 vue_基于Vue+Element的电商后台管理系统
  4. C程序中常见的内存操作错误
  5. python+ BeautifulSoup抓取“全国行政区划信息查询平台”的省市区信息
  6. 哈啰出行赴美递交招股书:2020年营收60亿元 顺风车成新增长极
  7. 协程asyncio_初识asyncio协程
  8. 关于win10的path系统变量
  9. 用python画一只皮卡丘_用python画一只可爱的皮卡丘实例
  10. mysql选课时间冲突_选课常见问题解答
  11. html古诗竖行排列,古诗词竖版图片
  12. P2339 [USACO04OPEN]Turning in Homework G 笔记/题解
  13. 怎么安装原版win8系统?U盘安装原版win8系统方法
  14. Idea关于Module is not backed by gradle的问题
  15. 沐神点赞!同济子豪兄精读AI经典论文,包括图像分类、目标检测、生成对抗网络、轻量化卷积神经网络等领域...
  16. 腾讯视频过滤广告简略办法
  17. pandas处理字符串
  18. 科研必备的12个网站
  19. TTL与CMOS悬空接法
  20. Springboot事件监听机制:工作原理

热门文章

  1. iOS14适配【解决iOS14下pop多层控制器至首页时,tabbar不显示问题】之问题分析篇
  2. for循环的说课c语言,教学设计《程序的循环结构-For循环语句》
  3. 基于VUE的SVG动画处理(一)
  4. SQL注入原理及联合查询
  5. Rect Transform
  6. 大数据系列之知识点总结和企业级游戏行业架构设计
  7. PCI-E的针脚定义的简单讲解(备忘)
  8. aspose给word添加水印
  9. 常见的服务器类型有哪些?
  10. 自定义小部件Widget的探讨