A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 专注的一批 中级黑马   /  2020-9-17 11:22  /  1774 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

建立数组

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被借出的次数
}
基本函数实现
外汇常见问题https://www.kaifx.cn/lists/question/

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

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马