开学第一周

       这周,是开学第一周。新学期新气象,第一节课,老师就给我们一个下马威。到现在还有点懵。第一次上机,第一次接触真正的程序,第一次真正的思考,编写程序。很多第一次没了,却也慢慢的从一个小白开始懵懂。

       在编写ATM机系统的时候,在定义类,声明变量,构造成员函数等过程中,或多或少都有问题。想了很久,感觉还是因为自己初次接触这种上课模式,初次接触这种程序,更多的也是因为暑假没有深入的学习,只知Java,却不知何为Java。只学到了Java的皮毛,打了很多程序。却没有真正思考过,没有真正的自己做过程序。以至于开始编写程序时一团乱麻。只是疯狂的在网上找寻答案,对于项目要求,格式什么都置若罔闻,最后在老师的提醒下,才慢慢的清醒过来。在老师的建议下,重新一遍遍的看着题目要求,一遍遍是思考着解答的方法。终于还是有了一些思路,终于会写了一点点。慢慢的,一点一点的磨出了很多,渐渐的掌握了一些技巧。编写代码的速度也渐渐的快了起来。终于,在下课前,基本写完了ATM机的代码。

       通过这节课的学习,深入学习到了java编程是什么意思,也第一次感觉到了程序和代码的区别。写了好久时间,感觉有上千行,包括给一个模块,每一个类。在写完之后都有单独运行,成功之后在做下一块。也第一次用到了分类这种思想。之前的程序都是一口气下下去,这次的程序是一块一块拼接起来的,和以往学习的编程有了一些出入,这一方面我也要加快适应。不过,最后做出来的只是一个程序的大概,好多细节还有待提升和改进。有了这一次的经验,以后的学习应该也会有很大的提升。在今后的学习中会多多运用这种分类的思想,分模块去思考,在整体组装,应该会使办事效率更高效。

        通过这次上课,领悟了很多之前没有接触过的新思想。也有了很多感悟,当然也发现了自身的很多不足,需要加以改正。时间还有,还有机会,可以更进一步。

代码如下:

package ATM;
package ATM;

import java.util.Scanner;
public class AccountManager {
    private int d=0;
    Account Ac;
    public AccountManager() {
    Ac=new Account();
    }
    Scanner scan=new Scanner(System.in);

    public void login() {
        //输入账号及其验证
        char v='v';
        int aaaaa=0;
        while(v=='v'){
    System.out.println("------------------------------------------------------------------------");
    System.out.println("----------------------欢迎使用中国工商银行自动柜员系统--------------------");
    System.out.println("------------------------------------------------------------------------");
    System.out.println("请输入账号:");
    System.out.println("-------------------------------------------------------------------------");

            String pw = scan.next();
                if(pw.length()!=8){
                    System.out.println("该卡不是工行卡");
                    aaaaa=1;
                }
                else{aaaaa=0;}
                if(aaaaa==0)    {
                if (Ac.getAccountID().equals(pw)) {
                        Ac.setT(0);
                        break;
                    } else {
                        System.out.println("账号错误");
                         v='v';
                    }
                }
    }

        //输入密码及其验证
    System.out.println("------------------------------------------------------------------------");
    System.out.println("----------------------欢迎使用中国工商银行自动柜员系统--------------------");
    System.out.println("------------------------------------------------------------------------");
    System.out.println("请输入密码:");
    System.out.println("------------------------------------------------------------------------");
                String pw = scan.next();
                while (Ac.getT() < 2) {
         
                    if (Ac.getAccountpassword().equals(pw)&&pw.length()==6) {
                        Ac.setT(0);
                        break;
                    } else {
                        System.out.println("密码错误,请重新输入");
                        Ac.setT(Ac.getT() + 1);
                        pw = scan.next();
                    }
                }
                if (Ac.getT() == 3) {
                    System.out.println("该账号三次录入密码错误,该卡已被系统没收,请与工行及时联系处理");
                    System.exit(0);
                }
                
    }
    public void serviceAll() {//选择服务项目

            System.out.println("****************************************************************");
            System.out.println("\t\t欢迎XXXXXXXX(账户名称)使用中国工商银行自助柜员系统");        
            System.out.println("****************************************************************");        
            System.out.println("               1.存款");
            System.out.println("               2.取款");
            System.out.println("               3.转账汇款");
            System.out.println("               4.修改密码");
            System.out.println("               5.查询余额");
            System.out.println("               0.退出 ");
            System.out.println("****************************************************************");
            System.out.println("请选择:");
            int i3=scan.nextInt();
            switch(i3){
            case 1:cunkuan();break;
            case 2:qukuan();break;
            case 3:zhuanzhang();break;
            case 4:gaimi();break;
            case 5:chaxun();break;
            }
            }
        

    public void cunkuan() {//存款
        char y='y';
    while(y=='y'){
        System.out.println("***************************************************************");

        System.out.println("欢迎"+Ac.getAccountname()+"使用中国工商银行自助柜员系统:");

        System.out.println("***************************************************************");

        System.out.println("请输入存款金额:");

        System.out.println("***************************************************************:");
    double aa=scan.nextDouble();
        int bb=(int)aa;
        if(bb==aa&&aa>0){
            y='x';
            Ac.setAccountbalance(bb);
            System.out.println("***************************************************************");

            System.out.println("欢迎"+Ac.getAccountname()+"使用中国工商银行自助柜员系统:");

            System.out.println("***************************************************************");

            System.out.println("当前账户存款操作成功。");
            System.out.println("当前账户余额为:"+Ac.getAccountbalance()+"元");

            System.out.println("***************************************************************:");
        }
        }
    serviceAll() ;

    }
              public void qukuan()//取款
                {
                System.out.println("您的账户可用余额不够您的取款金额,请重新输入您的取款金额!");
                System.out.print("请重新输入您的取款金额:");
                Scanner scn2=new Scanner(System.in);
                System.out.println("恭喜您,取款成功!");
                serviceAll();
                }
           
            
            public void zhuanzhang(){
                System.out.println("账户号:");
                System.out.println("转账金额:");
                serviceAll();
            }
                
            
            public void gaimi(){
                System.out.println("输入新的六位数密码:");
                serviceAll();
            }
            
            public void chaxun(){
                System.out.println("当前余额:"+Ac.getAccountbalance()+"元");
                serviceAll();
            }
            


            public void huanying() {//欢迎
                System.out
                        .println("------------------------------------------------------------------------");
                System.out
                        .println("----------------------欢迎使用中国工商银行自动柜员系统--------------------");
                System.out
                        .println("------------------------------------------------------------------------");
                System.out.println("");
            }
         
            public void tuichu() {//退出
                System.out
                        .println("-----------------------------------------------------------");
                System.out
                        .println("------------------欢迎使用中国工商银行自动柜员系统!----------------");
                System.out
                        .println("-----------------------------------------------------------");
                System.out.println("");

    }
    }
package ATM;

public class ATM {
    public static void main(String[] args) {
        AccountManager accou=new AccountManager();
        accou.login();
        accou.serviceAll();
    }
    
}

 

public class Account {
        String accountID;//用于存储学生的用户账号(由八位数字组成)
        String accountname;//用于存储账户的名称。
        String operatedate;//用于存储操作的时间,由十位字符组成
        int operatetype;//用于存储操作账户的类型
        String accountpassword;//用于用户密码
        int accountbalance;//用于存储账户余额
        int amount;//表示操作流水金额
        int t=0;
        public Account() {
            accountID="20173581";
            accountname="左家奇";    
            accountpassword="111111";
            accountbalance=0;
        }
        public Account(String accountID, String accountname, String operatedate, int operatetype, String accountpassword,
                int accountbalance, int amount) {
            this.accountID = accountID;
            this.accountname = accountname;
            this.operatedate = operatedate;
            this.operatetype = operatetype;
            this.accountpassword = accountpassword;
            this.accountbalance = accountbalance;
            this.amount = amount;
            
        }
        

        
        public int getT() {
            return t;
        }
        public void setT(int t) {
            this.t = t;
        }
        public String getAccountID() {
            return accountID;
        }
        public void setAccountID(String accountID) {
            this.accountID = accountID;
        }
        public String getAccountname() {
            return accountname;
        }
        public void setAccountname(String accountname) {
            this.accountname = accountname;
        }
        public String getOperatedate() {
            return operatedate;
        }
        public void setOperatedate(String operatedate) {
            this.operatedate = operatedate;
        }
        public int getOperatetype() {
            return operatetype;
        }
        public void setOperatetype(int operatetype) {
            this.operatetype = operatetype;
        }
        public String getAccountpassword() {
            return accountpassword;
        }
        public void setAccountpassword(String accountpassword) {
            this.accountpassword = accountpassword;
        }
        public int getAccountbalance() {
            return accountbalance;
        }
        public void setAccountbalance(int accountbalance) {
            this.accountbalance = accountbalance;
        }
        public int getAmount() {
            return amount;
        }
        public void setAmount(int amount) {
            this.amount = amount;
        }
        
        
    }

 

posted @ 2018-09-21 18:40  Triassic  阅读(145)  评论(0编辑  收藏  举报