Java 迷你图书管理器源码

本次认为要求综合运用Java变量、数组、选择结构、循环结构等知识,为某校开发一套迷你图书管理器,实现系统菜单控制个一下6个技能:

>增加图书

>查看图书

>删除图书

>借出图书

>归还图书

>退出

废话不多说,下面开始演示......

效果演示

 

 

 

 

源码演示

package nte.csdn.www;

import java.util.Scanner;

public class Library {
public static void main(String[] args) {
	Scanner input=new Scanner(System.in);
	String [] name=new String [6];//图书名称
	int [] state=new int [6];//图书借阅状态
	int [] date=new int [6];//图书借阅日期
	int [] count=new int [6];//图书借出次数
	int num=0;
	int day=0;
	do {
		boolean flag=false;//数组中是否有此书
		int index=0;//记录下标
		System.out.println("欢迎使用迷你图书管理系统");
		System.out.println("-----------------------------");
		System.out.println("1.增加图书");
		System.out.println("2.查看图书");
		System.out.println("3.删除图书");
		System.out.println("4.借出图书");
		System.out.println("5.归还图书");
		System.out.println("6.退出");
		System.out.println("-----------------------------");
		System.out.print("-->请选择:\t");
		int choose=input.nextInt();
		String bookName="";
		switch (choose) {
		case 1://添加图书

			System.out.print("-->新增图书\t");
			System.out.print("请输入图书名称:\t");
			bookName=input.next();
			//判断数组中是否有值
			for (int i = 0; i < count.length; i++) {
				if (null==name[i]) {
					flag=true;
					index=i;
					break;
				}
			}
			if (flag) {
				name[index]=bookName;
				state[index]=0;//可借阅
				date[index]=0;//日期
				count[index]=0;
				System.out.println("新增《"+bookName+"》成功!");
			}else{
				System.out.println("新增失败,图书已满");
			}
			break;
			
		case 2://查看图书
			
			System.out.println("序号\t状态\t名称\t借出日期\t借出次数");
			int a=1;
			for (int i = 0; i < count.length; i++) {
				if (null!=name[i]) {
					String sta="";
					if (state[i]==0) {
						sta="可借阅";
					} else {
						sta="已借阅";
					}
					System.out.println(a+"\t"+sta+"\t"+name[i]+"\t"+date[i]+"\t"+count[i]);
					a++;
				} 
			}
			break;
			
		case 3://删除书籍
			
			System.out.print("请输入要删除的书籍的名字:\t");
			String bookdelete=input.next();
			//去数组中寻找
			for (int i = 0; i < count.length; i++) {
				if (name[i] !=null && name[i].equals(bookdelete)) {
					flag=true;//数组中有此书
					index=i;//记录下标
					break;
				}
			}
			//处理结果
			if (flag==true) {
				name[index]=null;
				state[index]=0;//可借阅
				date[index]=0;//日期
				count[index]=0;
				System.out.println("删除成功");
			} else {
				System.out.println("删除失败!书架中没有这本书");
			}
			break;
			
		case 4://借出此书
			
			System.out.print("请输入图书名称:\t");
			bookName=input.next();
			//去数组中寻找
			for (int i = 0; i < count.length; i++) {
				if (name[i] !=null && name[i].equals(bookName)) {
					flag=true;//数组中有此书
					index=i;//记录下标
					break;
				}
			}
			//接收借出日期
			if (state[index]==1) {
				System.out.println("此书已被借阅");
			}else{
				if (flag==true) {
					while(true){
					System.out.println("请输入借出日期");
					input.nextInt();
					if (day<=1 && day <= 31) {
						date [index]=day;//改变日期
						state[index]=1;//改变状态
						count[index]++;//次数+1
						break;
					} else {
						System.out.println("借出天数有误,请输入1-31其中一个数字");
					}
				}
				System.out.println("借出《"+name[index]+"》成功");
			}
		}
			
			break;
			
		case 5://归还图书
			System.out.print("请输入名称:\t");
			bookName=input.next();
			//去数组中寻找
			for (int i = 0; i < count.length; i++) {
				if (name[i]!=null && name[i].equals(bookName)) {
					flag=true;//数组中有此书
					index=i;//记录下标
					break;
				}
			}
			//查看是否被借出
			int money=0;
			if (state[index]==0) {
				System.out.println("该图书没有被借出");
			} else {
				System.out.println("请输入归还日期");
				int day2=input.nextInt();
				money=day2-day;//金额=归还日期-借出日期
			while (true) {
				if (day2<=day) {
					System.out.println("归还日期不正确。应大于借出日期");
				} else {
					state[index]=0;//改变状态
					date[index]=0;//改变日期
					break;
				}
			}
			System.out.println("归还成功,应支付"+money+"元");
		}
			break;
		case 6://系统退出
		num=1;
			break;
		}
		if (num==1) {
			break;
		} else {
			System.out.println("请输入0返回上一级,输入1退出系统");
			num=input.nextInt();
		}
		
	} while (num==0);{
		System.out.println("谢谢使用");
	}
}
}

下载链接:https://pan.baidu.com/s/1BxsrhOSSzdYXKWzwNlNcTg 提取码: cpe2 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

‭JavaWeb

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值