zoukankan      html  css  js  c++  java
  • 开学第一周

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

           在编写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("		欢迎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;
            }
            
            
        }
  • 相关阅读:
    杜教筛
    虚树
    带修莫队
    线性基
    区间修改区间求和cdq分治
    矩阵快速幂求斐波那契数列
    点分治成品
    Codeforces Round #542 [Alex Lopashev Thanks-Round] (Div. 1) C(二分+KMP)
    线性筛
    矩阵快速幂
  • 原文地址:https://www.cnblogs.com/Excusezuo/p/9687992.html
Copyright © 2011-2022 走看看