zoukankan      html  css  js  c++  java
  • java学习中,DVD管理系统纯代码(java 学习中的小记录)

    java学习中,DVD管理系统纯代码(java 学习中的小记录)作者:王可利(Star·星星)

    class DvdMain{
    
        public static void main (String[] args){
    
            DvdMgr dvd = new DvdMgr();
            //初始化dvd
            dvd.initial();
    
            //开始进入切换菜单
            dvd.startMenu();
        }
    }
    1 class DvdSet {
    2 
    3     //定义三个属性
    4     String[] name = new String[50]; // 为保证数组足够大
    5     String[] date = new String[50];// 借书的时间  
    6     int[]    state = new int[50];  // 借书的状态 , 0表示借出 ,1.表示可以借。
    7 }
      1 import java.util.*;
      2 import java.text.*;
      3 class DvdMgr {
      4     
      5     //创建一个DvdSet对象
      6     DvdSet dvd = new DvdSet();    
      7     
      8     //1.第一个方法初始化三个DVD数据
      9     public void initial(){
     10         //初始化三个Dvd
     11          dvd.name[0]= "罗马假日";
     12            dvd.state[0]=0;
     13          dvd.count[0] = 30;
     14           dvd.date[0]= "2016-11-18";
     15           dvd.name[1]="风声鹤唳"; 
     16                dvd.state[1]=1;
     17                dvd.name[2]= "浪漫满屋";
     18                dvd.state[2]=1; 
     19          dvd.count[2] = 10;
     20     }
     21 
     22     //2.实现一个菜单切换
     23     public void startMenu() {
     24 
     25         System.out.println("*********************************");
     26         System.out.println("******欢迎使用迷你DVD管理器******");
     27         System.out.println("******       1.新增DVD     ******");
     28         System.out.println("******       2.查看DVD     ******");
     29         System.out.println("******       3.删除DVD     ******");
     30         System.out.println("******       4.借出DVD     ******");
     31         System.out.println("******       5.归还DVD     ******");
     32         System.out.println("******       6.DVD排行榜   ******");
     33         System.out.println("******       7.退出        ******");
     34         System.out.println("*********************************");
     35 
     36         Scanner input = new Scanner(System.in);
     37         System.out.println("请输入您的操纵:");
     38         int option = input.nextInt();
     39 
     40         switch(option){
     41 
     42             case 1 :
     43                 addDvd();
     44                 returnMenu();
     45                 break;
     46 
     47             case 2 :
     48                 searchDvd();
     49                 returnMenu();    
     50                 break;
     51             case 3 :
     52                 deleteDvd();
     53                 returnMenu();
     54                 break;
     55             case 4 :
     56                 lendDvd();
     57                 returnMenu();
     58                 break;
     59             case 5 :
     60                 returnDvd();
     61                 returnMenu();
     62                 break;
     63             case 6:
     64                 list();
     65                 returnMenu();
     66                 
     67                 break;
     68             case 7:
     69                 System.out.println("谢谢使用,欢迎下次在来");
     70                 break;
     71             default:
     72                 System.out.println("输入异常,程序已经吓崩溃,正在重启中...");
     73                 break;
     74 
     75         }
     76         
     77     }
     78 
     79     //3.返回菜单
     80     public void returnMenu() {
     81         System.out.println("输入0返回:");
     82         Scanner input = new Scanner(System.in);
     83 
     84         if(input.nextInt() == 0){
     85             
     86             //在此进入菜单切换
     87             startMenu();
     88         }else {
     89         
     90             System.out.println("输入异常,请从输入:");
     91             returnMenu();  // 递归调用。
     92         }
     93         
     94     }
     95 
     96     //4.查看的功能
     97     public void searchDvd(){
     98         System.out.println("******欢迎进入查看页面*****");
     99         //	 Tap
    100         System.out.println("序号	名称		状态	借出时间	");
    101         for(int i=0;i<dvd.name.length ; i++){
    102             if(dvd.name[i] == null){
    103                 
    104                 break;
    105             }else if (dvd.state[i] == 0){
    106                 //代表已经借出
    107                 System.out.println(i+1+"	"+"<<"+dvd.name[i]+">>	已借出	"+dvd.date[i]);
    108             }else if(dvd.state[i] == 1){
    109 
    110                 //代没有借出
    111                 System.out.println(i+1+"	"+"<<"+dvd.name[i]+">>	可借	");
    112             }
    113         }
    114 
    115         System.out.println("**************************************");
    116             
    117     }
    118 
    119     //5.新增Dvd
    120     public void addDvd(){
    121         System.out.println("******欢迎进入添加页面*****");
    122         System.out.println("请输入您要添加的Dvd:");
    123         Scanner input = new Scanner(System.in);
    124         String name = input.next();
    125         //将新增的内容放到最后
    126         for(int i = 0;i<dvd.name.length;i++){
    127             
    128             if(dvd.name[i] == null){ //到最后去了。
    129 
    130                 dvd.name[i] = name;
    131                 dvd.state[i] = 1;
    132                 System.out.println("<<"+name+">>dvd添加成功");
    133                 break;
    134             }
    135         }
    136         
    137     }
    138 
    139     //6.删除dvd
    140 
    141     public void deleteDvd(){
    142         System.out.println("******欢迎进入删除页面*****");
    143         System.out.println("请输入您要删除的Dvd名称:");
    144         Scanner input = new Scanner(System.in);
    145         String name = input.next();
    146 
    147         //1.没有找到  :  提示没有找到 请重新输入
    148         //2.找到 :
    149             //1.已经借出去 : 不能够删除
    150             //2.没有借出去 : 删除
    151 
    152         for(int i = 0;i<dvd.name.length;i++){
    153             //查找是否存在
    154             if(dvd.name[i] != null){
    155 
    156                 if(dvd.name[i].equalsIgnoreCase(name)){ //已经找到
    157 
    158                     //是否已经被借出
    159                     if(dvd.state[i] == 0){ // 借出
    160                         System.out.println("《"+name+"》已经被借出");
    161                         break;
    162                     }else if(dvd.state[i] == 1) {
    163 
    164                         //没有借出需要删除
    165                         //思路 : 1.用后面一个替换前面的。
    166                             //2.把最后面多余的地方赋值为null.
    167                         
    168 
    169                         for(int j = i ;j<dvd.name.length;j++){
    170                             
    171                             //做交换
    172                             if(dvd.name[j +1] != null){
    173                                 dvd.name[j] = dvd.name[j+1];
    174                                 dvd.state[j] = dvd.state[j+1];
    175 
    176                             }else{
    177                                 //清空最后一个值
    178                                 dvd.name[j] = null;
    179                                 dvd.date[j] = null;
    180                                 break;
    181                             }
    182                             
    183                         }
    184 
    185                         System.out.println("删除《"+name+"》成功");
    186                         break;
    187                     }
    188                 }
    189 
    190             }else {
    191                     
    192                     System.out.println("没有您要删除的dvd");
    193                     System.out.println("***********************************************");
    194                     break;
    195                 }    
    196         }
    197 
    198     }
    199 
    200 
    201     //7.借dvd的功能
    202     public void lendDvd(){
    203         System.out.println("********欢迎进入借书页面********");
    204         System.out.println("请输入您要借的dvd名称:");
    205         Scanner input = new  Scanner(System.in);
    206         String name = input.next();
    207         
    208         //1.判断有没有dvd
    209             //1.又没有被借出去。
    210         for(int i = 0;i<dvd.name.length;i++){
    211 
    212             if(dvd.name[i] != null){ // 有dvd
    213 
    214                 if(dvd.name[i].equalsIgnoreCase(name) && dvd.state[i] == 1){ //有书并且没有被借出去
    215                     
    216                     //借书
    217                     //1.修改状态
    218                     dvd.state[i] = 0;
    219                     System.out.println("请输入借书的时间(年-月-日):");
    220                     Scanner inputDate = new Scanner(System.in);
    221                     dvd.date[i] = inputDate.next();
    222                     System.out.println("借书成功");
    223                     dvd.count[i]++;
    224                     break;
    225 
    226                 }else if(dvd.name[i].equalsIgnoreCase(name) && dvd.state[i] == 0){
    227                     System.out.println("不好意思此借书已经被借出");
    228                     break;
    229                 }
    230 
    231             }else { // dvd
    232                 
    233                 System.out.println("没有您要找的DVD");
    234                 break;
    235             }
    236         }
    237 
    238     }
    239 
    240     //8.还Dvd 计算价格
    241     public void returnDvd(){
    242 
    243         System.out.println("********欢迎进入还DVD页面******************");
    244         System.out.println("请输入还dvd的名称:");
    245         Scanner input = new Scanner(System.in);
    246         double  price = 0.0;
    247         String name = input.next();
    248         for(int i = 0;i<dvd.name.length;i++){
    249 
    250             if(dvd.name[i]!=null){ //
    251 
    252                 if(dvd.name[i].equalsIgnoreCase(name) && dvd.state[i] == 0){ //以借出就可以归还
    253                     dvd.state[i] = 1;
    254                     System.out.println("请输入归还书籍的时间(年-月-日):");
    255                     Scanner inputDate = new Scanner(System.in);
    256                     //获取时间差
    257                     long charge = charge(dvd.date[i],inputDate.next());
    258                     price = charge * 1;
    259                     System.out.println("《"+dvd.name[i]+"》归还成功");
    260                     System.out.println("您应付"+price+"元");
    261                     //清空时间
    262                     dvd.date[i] = null;
    263                     break;
    264 
    265                 }
    266 
    267             }else{
    268                 System.out.println("没有找到匹配的信息");
    269                 break;
    270             }
    271         }
    272         System.out.println("************************************************");
    273 
    274     }
    275 
    276     public long charge(String date1,String date2){
    277         
    278         //做时间差
    279         //将String转为Date做计算
    280         SimpleDateFormat sd = new SimpleDateFormat("yyyy-MM-dd");
    281         long charge = 0;
    282         try{
    283             Date d1 = sd.parse(date1);  
    284             Date d2 = sd.parse(date2);
    285             //时间也是以毫秒为单位。
    286             charge = (d2.getTime() - d1.getTime()) / (1000*24*60*60);
    287         }catch(ParseException e){
    288             System.out.println(e);
    289         }
    290         
    291         return charge;
    292     }
    293 
    294 
    295     //排行榜
    296     public void list(){
    297 
    298         System.out.println("欢迎进入Dvd排行榜");
    299         //排序
    300         for(int i = 0 ; i <dvd.name.length-1;i++){
    301 
    302             if(dvd.name[i] != null){
    303                 
    304                 for(int j = 0; j<dvd.name.length-1-i;j++){
    305 
    306                     if(dvd.name[j] != null){
    307 
    308                         if(dvd.count[j] < dvd.count[j+1]){
    309 
    310                         int temp = dvd.count[j];
    311                         dvd.count[j] = dvd.count[j+1];
    312                         dvd.count[j+1]= temp;
    313                         
    314                         String name1 = dvd.name[j];
    315                         dvd.name[j] = dvd.name[j+1];
    316                         dvd.name[j+1] = name1;    
    317 
    318                         String date1= dvd.date[j];
    319                         dvd.date[j] = dvd.date[j+1];
    320                         dvd.date[j+1] = date1;    
    321                         
    322                         int state1= dvd.state[j];
    323                         dvd.state[j] = dvd.state[j+1];
    324                         dvd.state[j+1] = state1;
    325 
    326                         }
    327                     }else {
    328                         break;
    329                     }
    330                     
    331                     
    332                 }
    333 
    334             }else{
    335                 break;
    336             }
    337         }
    338         System.out.println("序号	名称		状态	借出时间	");
    339         for(int i=0;i<dvd.name.length ; i++){
    340             if(dvd.name[i] == null){
    341                 
    342                 break;
    343             }else if (dvd.state[i] == 0){
    344                 //代表已经借出
    345                 System.out.println(i+1+"	"+"<<"+dvd.name[i]+">>	已借出	"+dvd.date[i]);
    346             }else if(dvd.state[i] == 1){
    347 
    348                 //代没有借出
    349                 System.out.println(i+1+"	"+"<<"+dvd.name[i]+">>	可借	");
    350             }
    351         }
    352 
    353         System.out.println("**************************************");
    354             
    355     }
    356 }
  • 相关阅读:
    2015年北京大学软件project学科优秀大学生夏令营上机考试---C:单词翻转面试题
    跟我学Java多线程——线程池与堵塞队列
    Swift学习——类的定义,使用,继承,构造等(五)
    LNMP编译安装(centos7+nginx1.9+mysql5.6+php5.5)
    【iOS开发系列】九宫格布局
    出现异常时直接把e输出比输出e.getMessage()好得多
    往服务器上传个文件只要不到10毫秒,往数据库写条记录却要10秒
    使用struts的logic:iterate标签遍历列表时得到显示序号
    一次性上传多个文件到服务器端(一)
    Another MySQL daemon already running with the same unix socket的解决
  • 原文地址:https://www.cnblogs.com/StarKL/p/6126127.html
Copyright © 2011-2022 走看看