欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

JAVA简单模拟DVD功能

程序员文章站 2022-04-02 11:52:13
...

建立数组

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被借出的次数
}

基本函数实现

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();

		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没有被借出
						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;
				}
			} else {
				// 遍历完整个库存都没有找到需要删除的DVD
				System.out.println("没有找到您选择删除的DVD!");
			}
		}
	}

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

		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 + "》" + "已成功借出!");
						break;
					}
				}
			} else {
				// 遍历完整个库存都没有找到需要删除的DVD
				System.out.println("没有找到您选择借出的DVD!");
			}
		}
	}

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

		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 + "》" + "已经归还完毕!");
						break;
					}
				}
			} else {
				// 遍历完整个库存都没有找到需要删除的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();
	}
}

运行截图:

JAVA简单模拟DVD功能

JAVA简单模拟DVD功能

JAVA简单模拟DVD功能

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

相关标签: java