迷你DVD管理器

先新建一个package在建一个class第一个类

package DVD;

public class DVDSet {
String[] name=new String[50];
boolean[] state =new boolean[50];
String[] date=new String[50];
int[] count=new int[50];

}

第二个类

package DVD;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;

public class DVDMgr {
Scanner input= new Scanner(System.in);
DVDSet dvd=new DVDSet();//初始化对象
boolean isjiechu=true;
public void initial(){
dvd.name[0]="罗马假日";
dvd.state[0]=true;
dvd.date[0]="2015-12-31";

dvd.name[1]="风声鹤唳";
dvd.state[1]=false ;
dvd.name[2]="浪漫满屋";
dvd.state[2]=false ;
}
public void rentrnMain(){
System.out.println("输入0返回");
if(input.nextInt()==0){
startMenu();
}
}
public void startMenu(){
System.out.println("\t\t\t欢迎进入迷你DVD管理器");
System.out.println("------------------------------------------------------------------------------------------");
System.out.println("\t\t0.借出排行榜");
System.out.println("\t\t1.新增DVD");
System.out.println("\t\t2.查看DVD");
System.out.println("\t\t3.删除DVD");
System.out.println("\t\t4.借出DVD");
System.out.println("\t\t5.归还DVD");
System.out.println("\t\t6.退 出");
System.out.println("------------------------------------------------------------------------------------------");
System.out.println("请选择");
int choice=input.nextInt();
switch(choice){
case 0:
list();
break;
case 1:
add();
break;
case 2:
ck();//查看DVD
break;
case 3:
del();
break;
case 4:
lend();
break;
case 5:
gh();
break;//归还DVD
case 6:
System.out.println("感谢你使用");
break;
default:
System.out.println("你输入有误请重新输入");
returnMain();
}
}

public void returnMain(){
System.out.println("输入0返回");
if(input.nextInt()==0){
startMenu();
}
}
/*
* 排行榜
*/

public void list(){
String[] newname=new String[50];
int[] newcount=new int [50];
for(int i=0;i<dvd.name.length;i++){
newname[i]=dvd.name[i];
newcount[i]=dvd.count[i];
}
for(int i=0;i<newname.length;i++){
for(int j=i+1;j<newname.length;j++){
if(newcount[i]>newcount[j]){
int temp=newcount[i];//2次交换实现次数和名字的替换
newcount[i]=newcount[j];
newcount[j]=temp;
String temp1=newname[i];
newname[i]=newname[j];
newname[j]=temp1;
}
}
}
System.out.println("-----<排行旁>-----");
System.out.println("------------------------------------------------------------------------------------------");
System.out.println("次数\t名称");
/*
* 逆序打印排行旁
*/
for(int i=newname.length-1;i>=0;i--){
if(newname[i]!=null){
System.out.println(newcount[i]+"\t《"+newname[i]+"》");
}
}
System.out.println("------------------------------------------------------------------------------------------");
returnMain();
}

/*新增DVD
*
*/

public void add(){
System.out.println("新增DVD");
System.out.println("请输入DVD名称");
String name=input.next();
for(int i=0;i<dvd.name.length;i++){
/*
* 判断名字位置数组是否为空的
*/
if(dvd.name[i]==null){
dvd.name[i]=name;
dvd.state[i]=false;//新添加的是没接触的
System.out.println("新增《"+name+"》成功");
break;
}
}
System.out.println("------------------------------------------------------------------------------------------");
returnMain();

}

/*
* 查看dvd
*/
public void ck() {
System.out.println("查看DVD");
System.out.println("序号\t状态\t名称\t\t借出日期");
for (int i = 0; i < dvd.name.length; i++) {
if (dvd.name[i] == null) {
break;
} else if (dvd.state[i] == true) {
System.out.println((i + 1) + "\t已借出\t《" + dvd.name[i] + "》" +" \t"+ dvd.date[i]);
} else if (dvd.state[i] == false) {
System.out.println((i + 1) + "\t可借\t《" + dvd.name[i] + "》");
}
}
System.out.println("------------------------------------------------------------------------------------------");
returnMain();
}

/*
* 删除dvd
*/

public void del(){
System.out.println("删除DVD");
System.out.println("请输入要删除DVD的名称");
String name =input.next();
boolean flag=false;
for(int i=0;i<dvd.name[i].length();i++){
if(dvd.name[i]!=null&&dvd.name[i].equalsIgnoreCase(name)&&dvd.state[i]==false){
int j=i;
while(dvd.name[j+1]!=null){
dvd.name[j]=dvd.name[j+1];
dvd.date[j]=dvd.date[j+1];
j++;
}
dvd.name[j]=null;
dvd.date[j]=null;
System.out.println("成功删除《"+name+"》");
flag=true;//标示位
break;
}
else if(dvd.name[i]!=null&&dvd.name[i].equalsIgnoreCase(name)&&dvd.state[i]==true){
System.out.println("此DVD为借出状态,不能删除");
flag=true;
break;

}
if(flag==true){
System.out.println("没有找到信息,请核实");
}
}
System.out.println("------------------------------------------------------------------------------------------");
returnMain();
}

/*
* 借出
*/

public void lend(){
System.out.println("借出DVD ");
System.out.println("请输入借出DVD的名称");
String name =input.next();
for(int i=0;i<dvd.name.length;i++){
if(dvd.name[i]==null){
System.out.println("没有找到匹配的信息");
break;
}
else if(dvd.name[i].equals(name)&&dvd.state[i]==false){
System.out.println("请输入借出日期(年-月-日)");
dvd.date[i]=input.next();
System.out.println("《"+name+"》借出成功");
dvd.state[i]=true;
dvd.count[i]++;
break;
}
else if(dvd.name[i].equals(name)&&dvd.state[i]==true){
System.out.println("不好意思《"+name+"》已借出");
break;

}
}
System.out.println("------------------------------------------------------------------------------------------");
returnMain();
}
//gh

public void gh(){
System.out.println("归还DVD");
System.out.println("请输入DVD名称");
String name=input.next();
long loan=0;//租金
for(int i=0;i<dvd.name.length;i++){
if(dvd.name[i]==null){
System.out.println("没有找到匹配信息");
break;
}
else if(dvd.name[i].equals(name)&&dvd.state[i]==true){
System.out.println("请输入归还日期(年-月-日)");
String redate=input.next();
loan=charge(dvd.date[i],redate);
System.out.println("归还《"+name+"》成功");
dvd.state[i]=false;
System.out.println("借出日期为"+dvd.date[i]);
System.out.println("归还日期为"+redate);
System.out.println("应付租金(元):"+loan);
break;
}
else if(dvd.name[i].equals(name)&&dvd.state[i]==false){
System.out.println("《"+name+"》没有被借出,请核实");
break;
}
}
System.out.println("------------------------------------------------------------------------------------------");
returnMain();
}
/*
* 计费类
*/

public long charge(String dstr1,String dstr2){
long charge=0;
SimpleDateFormat sd=new SimpleDateFormat("yyyy-MM-dd");
try{
Date d1=sd.parse(dstr1);
Date d2=sd.parse(dstr2);
charge=(d2.getTime()-d1.getTime())/(24*30*30*1000);
}catch(ParseException e){
e.printStackTrace();
}
return charge;
}

}

第三个类//测试

package DVD;

public class Test {

/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
DVDMgr test=new DVDMgr();
test.initial();
test.startMenu();
}

}

时间: 2024-10-22 04:48:57

迷你DVD管理器的相关文章

2.迷你DVD管理系统

import java.util.*; public class MyDVDMgr { public static void main(String[] args){ Scanner input=new Scanner(System.in); //是否退出系统,false代表退出系统 boolean flag=true; //DVD相关信息,最多只能存储6个DVD信息 String[] name=new String[6]; //DVD名称 int[] state=new int[6]; //借

5、判断、循环、数组综合练习案例(迷你DVD)

迷你dvd代码如下: 1 package com.manager; 2 3 import java.util.Scanner; 4 5 public class DVDManage { 6 public static void main(String[] args) { 7 Scanner input=new Scanner(System.in); 8 9 //1.定义dvd相关数组 10 String[] name=new String[6]; //DVD名称 11 int[] state=n

java基础&lt;迷你DVD系统&gt;

一.写在main方法中 1 import java.util.*; 2 3 public class MyDVDMgr { 4 public static void main(String[] args){ 5 Scanner input=new Scanner(System.in); 6 //是否退出系统,false代表退出系统 7 boolean flag=true; 8 //DVD相关信息,最多只能存储6个DVD信息 9 String[] name=new String[6]; //DVD

简单DVD管理-java练习题

问题描述 为某音像店开发一个迷你DVD管理器,最多可存6张DVD,实现碟片的管理. 管理器具备的功能主要有: 1.查看DVD信息. 菜单选择查看功能,展示DVD的信息. 2.新增DVD信息 选择新增功能,根据提示输入新增的DVD名称,添加到库存,如果DVD货架已满,即达到6张,则提示增加失败. 3.删除DVD信息 执行删除命令,输入要删除的DVD的名称,如果DVD为借出状态,不允许删除.如果没有该DVD信息,则提示“没有找到匹配信息”: 4.借出DVD 如果该DVD已经被借出,则系统提示“XX已

Win 管理器 运行命令 大全(Windows下的DOS运行命令)

DOS 运行命令管理器字符大全 Win 管理器  运行命令 大全(Windows下的DOS运行命令) Nslookup-------IP 地址侦测器 explorer-------打开资源管理器 devmgmt.msc--- 设备管理器 progman--------程序管理器 taskmgr-----任务管理器(2000/ xp/ 2003 ) ntmsmgr.msc----移动存储管理器 eventvwr-------事件查看器 sysedit--------系统配置编辑器 regedt32

Linux的程序包管理器(中)——yum命令从未如此详细过

与rpm包管理器相比,yum包管理器恐怕更受用户的青睐,其很大的原因在于这款包管理器能自动解决rpm包之间的相互依赖关系.本文就CentOS 6.6为例,尽可能详细的给读者朋友们讲解yum包管理器的用法. yum(Yellowdog Updater Modified的缩写)是一个在Fedora和RedHat以及SUSE中的Shell前端软件包管理器.基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,用户无须繁琐地一次次下载.安装.

MQ队列管理器搭建(一)

多应用单MQ使用场景 如上图所示,MQ独立安装,或者与其中一个应用同处一机.Application1与Application2要进行通信,但因为跨系统,所以引入中间件来实现需求. Application1需要连接MQ,并将消息放入队列Queue中,Application2同样连接MQ,监听在Queue队列上,一旦发现有消息进入则取出该消息进行处理. 下面将给出创建队列管理器和队列的示例: 定义队列管理器名称为Qm1,本地队列名称为Queue,服务器连接通道CHAN_SERVER_CON,监听端口

Keeweb-Linux的密码管理器

如今,我们依赖于越来越多的线上服务.我们每注册一个线上服务,就要设置一个密码:如此,我们就不得不记住数以百计的密码.这样对于每个人来说,都很容易忘记密码.那么,下面兄弟连(www.lampbrother.net )将在本文中为大家介绍 Keeweb,Keeweb是一款 Linux 下的密码管理器,可以为你离线或在线地安全存储所有的密码. 当谈及 Linux 密码管理器时,我们会发现有很多这样的软件.我们已经在 LinuxAndUbuntu 上讨论过像 Keepass 和 Encryptr,一个基

Altium原理图中利用封装管理器批量修改元器件封装

批量修改封装,或者别人拿来原理图让我们画板时,发现封装全不对.如果原理图中同样封装的器件很多时,那么批量修改封装将大大减少你的工作量.下面将我批量修改封装的方法共享给大家. 在原理图界面,打开封装管理器:快捷键T-G,如图,在Design Item ID下选择需要修改的元器件ID,这个ID在设计原理图就确定了,不可以随便改变.如果全局修改本类别的元器件选择这个选项.也可以根据需求选择其他选项.如图,选中需要更改的PC814,并全选. 在图的右下角有Add添加按钮,添加封装,如图: 这时在窗口可以