当前位置: 首页 > news >正文

开学第一周

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

       在编写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;
        }
        
        
    }

 

转载于:https://www.cnblogs.com/Excusezuo/p/9687992.html

相关文章:

  • 【零基础学习iOS开发】【02-C语言】03-关键字、标识符、注释
  • 9 处理文本的工具sed
  • iOS App 研发的最后冲刺:内测与部署
  • 遍历map集合的三种方式
  • 以太坊的存储税
  • 解决EditorLineEnds.ttr被锁定导致Delphi2006-2010无法启动的问题
  • 6.Swift学习之逻辑分支
  • Linux基础知识--3.Linux目录和文件相关命令和Linux基础特性2
  • 【实操】如何安装及查看云监控
  • week 7 文件操作与模板
  • WPS Office 2019企业版全面升级,推出密级关键词和移动会议新功能
  • linux简单命令的使用
  • js函数的递归调用方法
  • 如何设计一个微型分布式架构?
  • 再谈static
  • 4. 路由到控制器 - Laravel从零开始教程
  • javascript面向对象之创建对象
  • java取消线程实例
  • JS学习笔记——闭包
  • js正则,这点儿就够用了
  • Laravel Mix运行时关于es2015报错解决方案
  • Linux快速配置 VIM 实现语法高亮 补全 缩进等功能
  • orm2 中文文档 3.1 模型属性
  • overflow: hidden IE7无效
  • Python学习笔记 字符串拼接
  • Redux系列x:源码分析
  • 第13期 DApp 榜单 :来,吃我这波安利
  • 它承受着该等级不该有的简单, leetcode 564 寻找最近的回文数
  • 腾讯优测优分享 | 你是否体验过Android手机插入耳机后仍外放的尴尬?
  • 通信类
  • elasticsearch-head插件安装
  • #【QT 5 调试软件后,发布相关:软件生成exe文件 + 文件打包】
  • #NOIP 2014# day.2 T2 寻找道路
  • (07)Hive——窗口函数详解
  • (1) caustics\
  • (173)FPGA约束:单周期时序分析或默认时序分析
  • (2)nginx 安装、启停
  • (C语言)fgets与fputs函数详解
  • (HAL)STM32F103C6T8——软件模拟I2C驱动0.96寸OLED屏幕
  • (附源码)计算机毕业设计SSM在线影视购票系统
  • (力扣)循环队列的实现与详解(C语言)
  • (深入.Net平台的软件系统分层开发).第一章.上机练习.20170424
  • (详细版)Vary: Scaling up the Vision Vocabulary for Large Vision-Language Models
  • (转)memcache、redis缓存
  • (转)关于pipe()的详细解析
  • (转)机器学习的数学基础(1)--Dirichlet分布
  • (转)总结使用Unity 3D优化游戏运行性能的经验
  • .NET CF命令行调试器MDbg入门(二) 设备模拟器
  • .net core 6 集成 elasticsearch 并 使用分词器
  • .net oracle 连接超时_Mysql连接数据库异常汇总【必收藏】
  • .net 发送邮件
  • .NET 回调、接口回调、 委托
  • .NET/C# 推荐一个我设计的缓存类型(适合缓存反射等耗性能的操作,附用法)
  • .NET上SQLite的连接
  • [20170713] 无法访问SQL Server