zoukankan      html  css  js  c++  java
  • Java开学测试感想

      开学第一堂课就是测试,测试暑假的自学成果,老师说试卷适当提高了难度,所以允许查书和使用网络查询,经过近三个钟头的努力奋斗和痛苦挣扎,我只完成了一小部分的代码,只有简单的set()get()函数,以及简单的输出界面,能够输出ATM的初始界面,能够输入银行卡号并进行判断是否正确,但是不能进行文件的输入和输出,无法完成要求在txt文本文件中完成的项目。也只实现了第一个功能,只能进行存款。

      课下利用空闲时间,我又重新对代码进行了修改,将一些常用的输出语句分类写到了函数中,稍稍简化了main函数,能够实现老师要求的存款,取款,转账汇款,查询余额功能,但是在刚刚完成代码时,发现无法进行循环,或者完成一项功能之后程序就会结束。我重新检查了代码中的for循环和while循环,改变了一些循环的条件,并进行了完善,可以在密码输入错误三次时候输出多次错误,并跳转回到账号输入界面。后来的测试中发现按照老师所给定的要求,输入q不能退出并跳转到初始界面。为了解决这一问题,我对整个函数加入了一个新的do while循环,并声名string l,但是新的问题也出现了,跳出循环的语句无法正常执行,查阅资料发现string是不能像int那种表示方式l!=q,在网上查找,想到了遍历字符串的方法,l.charAt(0)!='q'使用这一表示形式,解决了循环不能跳出的问题。但是有一个问题尚未解决,就是文件的导入导出,查询资料后还是没有理解,所以程序中有关文件的操作没有完成,不能进行账号和操作流水的储存,只能用另外一种形式进行临时替代,在后续的学习中,要继续学习文件的知识,然后完善这次的代码,将现在没有完成的功能进行实现,为以后的链接数据库打好基础。

      通过这一次的课堂测试,和后续对代码的完善修改,使我充分认识到自己在代码方面的欠缺,逻辑体系不够明确,不能在开始写程序之前就构思好整个框架,只能写一步看一步,眼光比较局限,没有全局意识,写出的代码不够整齐规范。Java的许多知识还有很大漏洞,有很多知识还未涉及,自学只学到了一点点东西,很难满足现在的代码需求,尤其是文件方面,在以后的学习中地位也很重要,所以后续还要进行更加深入的学习,规范自己写代码的习惯,注意保存和添加注释,不然回过头来自己都看不懂,浪费时间。这次的代码有一些问题是找学长帮忙解决的,非常感谢学长的帮助,以后也要经常像学长和同学请教解决问题的方法和思路,选择最佳的解决问题的途径,利用更少的代码解决问题。当然最重要的还是要不断学习,增加自己的代码积累量增加自己的经验,这样才能更快的想出解决问题的最优解。

      

      1 //信1705-3 20173598 李旭
      2 package atm;
      3 public class Account 
      4 {
      5     private String accountID;
      6     private String accountname;
      7     private String operatedate;
      8     private int operatetype;
      9     private String accountpassword;
     10     private int accountbalance;
     11     private int amount;
     12 
     13     public void setaccountID(String a)
     14     {
     15         accountID=a;
     16     }
     17     public void setaccountname(String b)
     18     {
     19         accountname=b;
     20     }
     21     public void setoperatedate(String c)
     22     {
     23         operatedate=c;
     24     }
     25     public void setoperatetype(int d)
     26     {
     27         operatetype=d;
     28     }
     29     public void setaccountpassword(String e)
     30     {
     31         accountpassword=e;
     32     }
     33     public void setaccountbalance(int f)
     34     {
     35         accountbalance=f;
     36     }
     37     public void setamount(int g)
     38     {
     39         amount=g;
     40     }
     41     
     42     
     43     public String getaccountID()
     44     {
     45         return accountID;
     46     }
     47     public String getaccountname()
     48     {
     49         return accountname;
     50     }
     51     public String getoperatedate()
     52     {
     53         return operatedate;
     54     }
     55     public int getoperatetype()
     56     {
     57         return operatetype;
     58     }
     59     public String getaccountpassword()
     60     {
     61         return accountpassword;
     62     }
     63     public int getaccountbalance()
     64     {
     65         return accountbalance;
     66     }
     67     public int getamount()
     68     {
     69         return amount;
     70     }
     71     public Account() {}
     72     public void menu(int i)
     73     {
     74         
     75         System.out.println("***************************************************************");
     76         System.out.println("        欢迎"+i+"使用中国工商银行自助柜员系统");
     77         System.out.println("***************************************************************");
     78         System.out.println("                           输入您的密码:");
     79         System.out.println("***************************************************************");
     80     }
     81     public void menu0()
     82     {
     83         System.out.println("***************************************************************");
     84         System.out.println("                   欢迎使用中国工商银行自助柜员系统");
     85         System.out.println("***************************************************************");
     86         System.out.println("                           输入您的账号:");
     87         System.out.println("***************************************************************");
     88     }
     89     public void menu1(int i)
     90     {
     91         System.out.println("***************************************************************");
     92         System.out.println("        欢迎"+i+"(账户名称)使用中国工商银行自助柜员系统");
     93         System.out.println("***************************************************************");
     94         System.out.println("                           1.存款");
     95         System.out.println("                           2.取款");
     96         System.out.println("                           3.转账汇款");
     97         System.out.println("                           4.修改密码");
     98         System.out.println("                           5.查询余额");
     99         System.out.println("***************************************************************");
    100     }
    101     public void menu2(int i)
    102     {
    103         System.out.println("***************************************************************");
    104         System.out.println("欢迎"+i+"(账户名称)使用中国工商银行自助柜员系统");
    105         System.out.println("****************************************************************");
    106         System.out.println("请输入存款金额;");
    107         System.out.println("****************************************************************");
    108     }
    109     public void cun(double m,int i)
    110     {
    111         System.out.println("***************************************************************");
    112         System.out.println("欢迎"+i+"使用中国工商银行自助柜员系统");
    113         System.out.println("****************************************************************");
    114         System.out.println("当前账户存款操作成功。");
    115         System.out.println("当前账户余额为:"+m+"元");
    116         System.out.println("****************************************************************");
    117     }
    118     public void qu(int i)
    119     {
    120         System.out.println("***************************************************************");
    121         System.out.println("欢迎"+i+"使用中国工商银行自助柜员系统");
    122         System.out.println("****************************************************************");
    123         System.out.println("当前账户每日可以支取 2 万元。");
    124         System.out.println("1. 100");
    125         System.out.println("2. 500");
    126         System.out.println("3. 1000");
    127         System.out.println("4. 1500");
    128         System.out.println("5. 2000");
    129         System.out.println("6. 5000");
    130         System.out.println("7. 其他金额 ");
    131         System.out.println("8. 退卡 ");
    132         System.out.println("9. 返回");
    133         System.out.println("****************************************************************");
    134     }
    135     public void zhuan(int i)
    136     
    137     {
    138         System.out.println("*************************************************************** ");
    139         System.out.println("欢迎 "+i+"使用中国工商银行自助柜员系统 ");
    140         System.out.println("**************************************************************** ");
    141         System.out.println("请输入转账账户; ");
    142         System.out.println("**************************************************************** ");
    143     }
    144     public void jine(int i)
    145     {
    146         System.out.println("*************************************************************** ");
    147         System.out.println("欢迎"+i+" 使用中国工商银行自助柜员系统 ");
    148         System.out.println("*************************************************************** ");
    149         System.out.println("请输入转账金额; ");
    150         System.out.println("*************************************************************** ");
    151     }
    152     public void mima(int i)
    153     {
    154         System.out.println("*************************************************************** ");
    155         System.out.println("欢迎"+i+" 使用中国工商银行自助柜员系统 ");
    156         System.out.println("*************************************************************** ");
    157         System.out.println("请输入当前密码: ");
    158         System.out.println("请输入修改密码: ");
    159         System.out.println("请输入确认密码: ");
    160         System.out.println("*************************************************************** ");
    161     }
    162 
    163 
    164 }
    Account.java
    //信1705-3 20173598 李旭
    package atm;
    import java.util.Scanner;
    import java.util.ArrayList;
    public class AccountManager 
    {
    
        public static void main(String[] args) {
            Account account =  new Account ();
            double m=0;
            int i=0;
            int k=0;
            int j=0;
            String l="";
            Scanner in=new Scanner(System.in);
            boolean ture = false;
            while(!ture)
            {
            do
            {
            account.menu0();
            i=in.nextInt();
            while(i<10000000||i>99999999)
            {
                System.out.println("                           该卡不是工行卡              ");
                System.out.println("                           重新输入您的账号");
                i=in.nextInt();
            }
            account.menu(i); 
           
            for(k=0;k<3;k++)
            {
                j=in.nextInt();
                if(j>100000&&j<999999)
                   {
                      
                      k=5;
                      break;
                   }
                else if(j<100000||j>999999)
                    {
                    System.out.println("密码输入错误");    
                    }
               else if(j==888888)
                    {
                    System.out.println("密码输入错误");
                    }    
            }
            if(k==3)
                {
                System.out.println("该账号三次录入密码错误,该卡已被系统没收,请与工行及时联系处理");
                }        
        }while(k!=5);
            
            
            do
            {
            account.menu1(i);
            l=in.next();
            switch(l){
            case "1":    
            {
                account.menu2(i); 
                m=in.nextDouble();
                while(m<0||m-(int)m>0.00001)
                    {
                    System.out.println("输入金额有误");
                    account.menu2(i);
                    m=in.nextInt();
                    }
                account.cun(m,i);   
            };break;
            case "2":
                {
                    account.qu(i);
                    int n;
                    n=in.nextInt();
                    switch(n)
                    {
                    case 1:
                        {
                            if(m<100)
                                System.out.println("账户余额不足");
                            else
                                m=m-100;
                        };break;
                    case 2:{
                        if(m<500)
                            System.out.println("账户余额不足");
                        else
                            m=m-500;
                    };break;
                    case 3:{
                        if(m<1000)
                            System.out.println("账户余额不足");
                        else
                            m=m-1000;
                    };break;
                    case 4:{
                        if(m<1500)
                            System.out.println("账户余额不足");
                        else
                            m=m-1500;
                    };break;
                    case 5:{
                        if(m<2000)
                            System.out.println("账户余额不足");
                        else
                            m=m-2000;
                    };break;
                    case 6:{
                        if(m<5000)
                            System.out.println("账户余额不足");
                            m=m-5000;
                    };break;
                    case 7:{
                        System.out.println("*************************************************************** ");
                        System.out.println("欢迎"+i+" 使用中国工商银行自助柜员系统");
                        System.out.println("**************************************************************** ");
                        System.out.println("请输入取款金额:");
                        System.out.println("**************************************************************** ");
                        int jin;
                        jin=in.nextInt();
                        if(m<jin)
                            System.out.println("账户余额不足");
                        else
                        m=m+jin;
                    };break;
                    case 8:account.menu0();;break;
                    case 9:account.menu1(i);break;
                    }
                }
            case "3":{
                account.zhuan(i);
                int zhanghu;
                zhanghu=in.nextInt();
                account.jine(i);
                int jine;
                jine=in.nextInt();
                if(m<jine)
                    System.out.println("账户余额不足");
                else
                {
                    System.out.println("*************************************************************** ");
                    System.out.println("欢迎"+i+"使用中国工商银行自助柜员系统 ");
                    System.out.println("**************************************************************** ");
                    System.out.println("请确认是否向"+zhanghu+"转账"+jine+"元");
                    System.out.println("当前账户余额为:"+(m-jine)+" 元 ");
                }
                    
            };break;
            case "4":{
                account.mima(i);
                int ymi,nmi,nmi2;
                ymi=in.nextInt();
                nmi=in.nextInt();
                nmi2=in.nextInt();
                if(ymi==j)
                {
                    if(nmi==nmi2)
                    {
                        System.out.println("***************************************************************");
                        System.out.println("欢迎 "+i+"使用中国工商银行自助柜员系统 ");
                        System.out.println("***************************************************************");
                        System.out.println("当前账户密码修改成功 ");
                        System.out.println("***************************************************************");
                    }
                    else
                        System.out.println("修改密码与确认密码不一致");
                }
                else
                    System.out.println("当前密码录入错误");
            };break;
            case "5":System.out.println("当前余额:"+m);break;
            }
            
            }while(l.charAt(0)!='q');
            }
        }
    }
    AccountManager.java
  • 相关阅读:
    NPOI 操作 excel 帮助类
    文件帮助类
    浮点数精度问题
    多段文本显示省略号
    数字排序
    删除字符串首位空格
    生成一定范围的随机数
    锚链接动画
    原生js转json
    弹出遮罩和对话框
  • 原文地址:https://www.cnblogs.com/lixv2018/p/9695417.html
Copyright © 2011-2022 走看看