dvd管理器java_Java DVD管理器 基础示例代码下载
【實例簡介】
【實例截圖】
【核心代碼】
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
public class DVDMgr {
/**
* 創建DVD對象
*/
DVDSet dvd = new DVDSet();
/**
* 初始三個DVD
*/
public void initial() {
dvd.name[0] = "羅馬假日";
dvd.state[0] = 0;
dvd.date[0]="2010-7-1";
dvd.count[0]=15;
dvd.name[1] = "風聲鶴唳";
dvd.state[1] = 1;
dvd.count[1]=12;
dvd.name[2] = "浪漫滿屋";
dvd.state[2] = 1;
dvd.count[2]=30;
}
/**
* 開始菜單
*/
public void startMenu(){
System.out.println("歡 迎 使 用 迷 你 DVD 管 理 器");
System.out.println("-------------------------------------");
System.out.println("0. 借出排行榜");
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("6. 退 出 ");
System.out.print("--------------------------------------\n");
System.out.print("請選擇: ");
Scanner input = new Scanner(System.in);
int choice = input.nextInt();
switch(choice){
case 0:
list();
break;
case 1:
add();
break;
case 2:
search();
break;
case 3:
delete();
break;
case 4:
lend();
break;
case 5:
returnDvd();
break;
case 6:
System.out.println("\n謝謝 使 用!");
break;
}
}
/**
* 返回主菜單
*/
public void returnMain(){
Scanner input = new Scanner(System.in);
System.out.print("輸入0返回:");
if(input.nextInt() == 0){
startMenu();
}else{
System.out.println("輸入錯誤, 異常終止!");
}
}
/**
* 查看DVD
*/
public void search(){
System.out.println("---> 查看DVD\n");
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] == 0){
System.out.println((i 1) "\t已借出\t" "<>\t" dvd.date[i]);
}else if(dvd.state[i] == 1){
System.out.println((i 1) "\t可 借\t" "<>");
}
}
System.out.println("**************************");
returnMain();
}
/**
* 新增DVD
*/
public void add(){
Scanner input = new Scanner(System.in);
System.out.println("---> 新增DVD\n");
System.out.print("請輸入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]=1;//置新增的DVD可借狀態
System.out.println("新增《" name "》成功!");
break;
}
}
System.out.println("**************************");
returnMain();
}
/**
* 刪除DVD
*/
public void delete(){
Scanner input = new Scanner(System.in);
boolean flag=false;//標識刪除成功與否
System.out.println("---> 刪除DVD\n");
System.out.print("請輸入DVD名稱: ");
String name = input.next();
//遍歷數組,查找匹配信息
for(int i = 0 ; i < dvd.name.length; i ){
//查找到,每個元素前移一位
if(dvd.name[i]!=null &&dvd.name[i].equalsIgnoreCase(name)&&dvd.state[i]==1){
int j=i;
while(dvd.name[j 1]!=null){
dvd.name[j]=dvd.name[j 1];
dvd.state[j]=dvd.state[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]==0){
System.out.println("《" name "》為借出狀態,不能刪除!");
flag=true;//置位
break;
}
}
if(!flag){
System.out.println("沒有找到匹配信息!");
}
System.out.println("**************************");
returnMain();
}
/**
* 借出DVD
*/
public void lend(){
System.out.println("---> 借出DVD\n");
Scanner input = new Scanner(System.in);
System.out.print("請輸入DVD名稱: ");
String want = input.next(); //要借出的DVD名稱
for(int i = 0; i < dvd.name.length; i ){
if(dvd.name[i] == null){ //無匹配
System.out.println("沒有找到匹配信息!");
break;
}else if(dvd.name[i].equals(want)&& dvd.state[i]==1){ //找到匹配可借
dvd.state[i] = 0;
System.out.print("請輸入借出日期(年-月-日):");
dvd.date[i]=input.next();
System.out.println("借出《" want "》成功!");
dvd.count[i] ;
break;
}else if(dvd.name[i].equals(want)&& dvd.state[i]==0){ //找到匹配已被借出
System.out.println("《" want "》已被借出!");
break;
}
}
System.out.println("**************************");
returnMain();
}
/**
* 歸還DVD并計算租金
*/
public void returnDvd(){
System.out.println("---> 歸還DVD\n");
Scanner input = new Scanner(System.in);
long loan=0;//租金
System.out.print("請輸入DVD名稱: ");
String want = 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(want) && dvd.state[i]==0){ //找到匹配
dvd.state[i] = 1;
System.out.print("請輸入歸還日期(年-月-日):");
String redate=input.next();
//計算租金
loan=charge(dvd.date[i],redate);
System.out.println("\n歸還《" want "》成功!");
System.out.println("借出日期為:" dvd.date[i]);
System.out.println("歸還日期為:" redate);
System.out.println("應付租金(元):" loan);
break;
} else if(dvd.name[i].equals(want) && dvd.state[i]==1){ //找到匹配但沒有借出
System.out.println("該DVD沒有被借出!無法進行歸還操作。");
break;
}
}
System.out.println("**************************");
returnMain();
}
/**
* 計算日期差
* @param dstr1 第一個日期
* @param dstr2 第二個日期
*
*/
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*60*60*1000);
} catch (ParseException e) {
e.printStackTrace();
}
return charge;
}
/**
* 借出排行榜
*/
public void list(){
//定義新數組,用來存放排序后DVD信息
String[] newname = new String[50]; //
int[] newcount=new int[50];
for(int k=0;k
newname[k]=dvd.name[k];
newcount[k]=dvd.count[k];
}
//利用冒泡排序算法進行排序
for(int i=0;i
for(int j=0;j
if(newcount[j]>newcount[j 1]){
int tempc=newcount[j];
newcount[j]=newcount[j 1];
newcount[j 1]=tempc;
String tempn=newname[j];
newname[j]=newname[j 1];
newname[j 1]=tempn;
}
}
}
System.out.println("---> 排行榜\n");
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<>" );
}
}
System.out.println("**************************");
returnMain();
}
}
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的dvd管理器java_Java DVD管理器 基础示例代码下载的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 遮掩java_Java炸弹:重载、重写、
- 下一篇: 线程Java的两种方式_多线程(java