JAVA简单模拟DVD功能

建立数组

public class DVD_set {
    //此处为copy
	String[] name = new String[50];// 存储DVD的名字
	String[] date = new String[50];// 当前DVD被借出的时间
	int[] state = new int[50];// 当前DVD的存取状态
	int[] count = new int[50];// 当前DVD被借出的次数
}

基本函数实现

package demo;

import java.util.Scanner;

public class DVD_main {

	DVD_set DVD = new DVD_set();
    //此处为copy
	public void initial() {
		DVD.name[0] = "罗马假日";
		DVD.state[0] = 0;
		DVD.count[0] = 30;
		DVD.date[0] = "2020-11-18";

		DVD.name[1] = "风声鹤唳";
		DVD.state[1] = 1;

		DVD.name[2] = "浪漫满屋";
		DVD.state[2] = 1;
		DVD.count[2] = 10;
	}

	public void startMenu() {

		Scanner sc = new Scanner(System.in);

		System.out.println("---------------------------");
		System.out.println("| Welcome to my DVD world |");
		System.out.println("|1----------------查 看DVD|");
		System.out.println("|2----------------新 增DVD|");
		System.out.println("|3----------------删 除DVD|");
		System.out.println("|4----------------借 出DVD|");
		System.out.println("|5----------------归 还DVD|");
		System.out.println("|0----------------退 出DVD|");
		System.out.println("---------------------------");

		System.out.printf("请选择:");

		int choose = sc.nextInt();

		switch (choose) {
		case 1:
			DVD_search();
			returnMenu();
			break;
		case 2:
			DVD_add();
			returnMenu();
			break;
		case 3:
			DVD_delete();
			returnMenu();
			break;
		case 4:
			DVD_lend();
			returnMenu();
			break;
		case 5:
			DVD_return();
			returnMenu();
			break;
		case 0:
			DVD_out();
			break;
		default:
			System.out.println("输入错误,请输入0返回主界面后重新输入");
			returnMenu();
			break;
		}
	}

	// 返回主界面
	public void returnMenu() {
		System.out.println("输入0返回主界面");
		Scanner sc = new Scanner(System.in);
		if (sc.nextInt() == 0) {
			startMenu();
		} else {
			System.out.println("输入错误,请重新输入");
			returnMenu();
		}
	}

	// 查看当前所有DVD的基本信息
	public void DVD_search() {
		System.out.println("-----------------------------------------------------------------");
		System.out.println("|" + "序号 \t" + "|" + "名称\t\t" + "|" + "状态\t" + "|" + "借出时间\t" + "|" + "借出次数\t" + "|");
		for (int i = 0; i < DVD.name.length; i++) {
			if (DVD.name[i] == null) {
				break;
			} else if (DVD.state[i] == 0) {
				System.out.println("|" + i + "\t" + "|" + "<<" + DVD.name[i] + ">>\t" + "|" + "已借出\t" + "|"
						+ DVD.date[i] + "\t" + "|" + DVD.count[i] + "\t\t" + "|");
			} else if (DVD.state[i] == 1) {
				System.out.println("|" + i + "\t" + "|" + "<<" + DVD.name[i] + ">>\t" + "|" + "可借\t" + "|" + "\t\t"
						+ "|" + DVD.count[i] + "\t\t" + "|");
			}
		}
		System.out.println("-----------------------------------------------------------------");
	}

	// 增加DVD
	public void DVD_add() {
		System.out.println("请输入您要添加的DVD:");
		Scanner sc = new Scanner(System.in);
		String name = sc.next();

		for (int i = 0; i < DVD.name.length; i++) {
			// 查找到当前数组中有空位的地方
			if (DVD.name[i] == null) {
				// 将需要添加的DVD内容输入
				DVD.name[i] = name;
				// 赋初值,因为是刚添加的图书,所以状态为未借出
				DVD.state[i] = 1;
				System.out.println("《" + name + "》添加成功!");
				break;
			}
		}
	}

	// 删除DVD
	public void DVD_delete() {
		System.out.println("请输入您要删除的DVD名称:");
		Scanner sc = new Scanner(System.in);
		String name = sc.next();

		int index = -1;

		for (int i = 0; i < DVD.name.length; i++) {
			// 循环查找当前库存中的DVD
			if (DVD.name[i] != null) {
				// 当前库存中DVD不为空,当库存中DVD遍历完之后
				if (DVD.name[i].equalsIgnoreCase(name)) {
					// equalsIgnoreCase可以进行忽略大小写的字符串比较
					// 判断库中所存的name是否和当前输入的name相同
					if (DVD.state[i] == 0) {
						// 判断DVD是否被借出
						System.out.println("《" + name + "》" + "已经被借出!");
						// 如果被借出则终止继续查找
						break;
					} else if (DVD.state[i] == 1) {
						// 如果DVD没有被借出
						index = 0;
						for (int j = i; j < DVD.name.length; j++) {
							// 如果被删除的DVD不是菜单中最后一个
							if (DVD.name[j + 1] != null) {
								// 则将需要删除的DVD后面的内容挪动到前面
								DVD.name[j] = DVD.name[j + 1];
								DVD.state[j] = DVD.state[j + 1];
								DVD.date[j] = DVD.date[j + 1];
								DVD.count[j] = DVD.count[j + 1];
							} else {
								// 如果当前需要删除的DVD是最后一个,则直接进行删除
								DVD.name[j] = null;
								DVD.date[j] = null;
								DVD.count[j] = 0;
								DVD.state[j] = 1;
								// 删除结束后退出循环
								break;
							}
						}
					}
					System.out.println("删除" + "《" + name + "》" + "成功");
					// 删除成功则结束循环
					break;
				}
			}
		}
		if (index == -1) {
			// 遍历完整个库存都没有找到需要删除的DVD
			System.out.println("没有找到您选择删除的DVD!");
		}
	}

	// 借出DVD
	public void DVD_lend() {
		System.out.println("请输入您要借出的DVD名称:");
		Scanner sc = new Scanner(System.in);
		String name = sc.next();

		int index = -1;

		for (int i = 0; i < DVD.name.length; i++) {
			// 循环查找当前库存中的DVD
			if (DVD.name[i] != null) {
				// 当前库存中DVD不为空,当库存中DVD遍历完之后
				if (DVD.name[i].equalsIgnoreCase(name)) {
					// equalsIgnoreCase可以进行忽略大小写的字符串比较
					// 判断库中所存的name是否和当前输入的name相同
					if (DVD.state[i] == 0) {
						// 判断DVD是否被借出
						System.out.println("《" + name + "》" + "已经被借出!");
						// 如果被借出则终止继续查找
						break;
					} else if (DVD.state[i] == 1) {
						// 如果DVD没有被借出
						DVD.state[i] = 0;

						System.out.println("请输入借阅日期:");
						String date = sc.next();
						DVD.date[i] = date;
						DVD.count[i] += 1;
						System.out.println("《" + name + "》" + "已成功借出!");
						index = 0;
						break;
					}
				}
			}
		}
		if (index == -1) {
			// 遍历完整个库存都没有找到需要借出的DVD
			System.out.println("没有找到您选择借出的DVD!");
		}
	}

	// 归还DVD
	public void DVD_return() {
		System.out.println("请输入您要归还的DVD名称:");
		Scanner sc = new Scanner(System.in);
		String name = sc.next();

		int index = -1;

		for (int i = 0; i < DVD.name.length; i++) {
			// 循环查找当前库存中的DVD
			if (DVD.name[i] != null) {
				// 当前库存中DVD不为空,当库存中DVD遍历完之后
				if (DVD.name[i].equalsIgnoreCase(name)) {
					// equalsIgnoreCase可以进行忽略大小写的字符串比较
					// 判断库中所存的name是否和当前输入的name相同
					if (DVD.state[i] == 0) {
						// 判断DVD是否被借出
						DVD.state[i] = 1;
						System.out.println("《" + name + "》" + "已经归还完毕!");
						index = 0;
						break;
					}
				}
			}
		}
		if (index == -1) {
			// 遍历完整个库存都没有找到需要归还的DVD
			System.out.println("没有找到您选择归还的DVD!");
		}
	}

	// 退出DVD管理系统
	public void DVD_out() {
		System.out.println("感谢您的使用,欢迎下次光临!");
	}
}

程序简单运行

import java.util.*;
import java.text.*;

public class DVD_demo {
	public static void main(String[] args) {
		
		DVD_main DVD = new DVD_main();
		
		DVD.initial();
		DVD.startMenu();
	}
}

运行截图:

PS:部分copy来源https://www.cnblogs.com/shen-xiao-jie/p/6078514.html

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值