zoukankan      html  css  js  c++  java
  • 取款机项目实验报告

    一、题目简介:

      为了了解并掌握结对编程,熟悉敏捷编程,就和队友做了个控制台下的ATM存取款机项目。

    二、结对分工及过程:

            过程:我和田培培用一台计算机大概用了12个小时完成了项目及测试部分

         分工:我主要在编写项目代码方面做得多一点,田培培主要负责代码的测试

    三、代码地址:

        https://github.com/joanyy/ATM

    四、代码及运行结果截图:

      1 package com.yt.atm ;
      2 
      3 import java.util.Scanner;
      4 
      5 public class ATM { //余额、存款、取款、登录、退出、修改密码
      6     private String userPass="123456";
      7     private String name="张三";
      8     private String userName="joan";
      9     private double totalMoney=1234.34;
     10     Scanner scan=new Scanner(System.in); 
     11      
     12     //登录窗口
     13     public void initLoginWindow(){
     14         System.out.print("===========");
     15         System.out.println();
     16         System.out.print("欢迎进入登陆窗口");
     17         System.out.println();
     18         System.out.print("===============");
     19         System.out.println();
     20     }//登陆
     21     public void initLogin(){
     22         initLoginWindow();
     23         System.out.println("请输入用户名:");
     24         String scanf=scan.nextLine();
     25         if(scanf.equals(userName)){
     26             System.out.println("请输入密码");
     27             if(scan.next().equals(userPass)){
     28                 System.out.println("用户"+this.name+"登陆成功!");
     29             }else{
     30                 System.out.println("密码输入错误!");
     31                  System.exit(0);
     32             }
     33         }else{
     34             System.out.println("用户名输入错误!请重新输入");
     35             initLogin();
     36         }
     37         initAction();
     38     }//查询余额
     39     public void queryMoney(){
     40         System.out.println("当前余额是:"+this.totalMoney);
     41     }
     42     //取款
     43     public  void devideMoney( ){
     44         System.out.println("当前余额是"+this.totalMoney+"请输入要取款数");
     45           int money=scan.nextInt();
     46         this.totalMoney =this.totalMoney-money;
     47         System.out .print("存款成功!当前余额是"+this.totalMoney); 
     48     }
     49     //存款
     50     public void addMoney(){
     51         System.out.println("当前余额是"+this.totalMoney+"请输入要存款数");
     52         int money=scan.nextInt();
     53         this.totalMoney=this.totalMoney+money;
     54         System.out.println("存款成功!当前余额是"+this.totalMoney);
     55     }//修改密码
     56     public void changePass(){
     57         System.out.println("请输入旧密码");
     58         if(scan.next().equals(userPass)){
     59             System.out.println("密码正确!请输入新密码:");
     60             String newUserPass1=scan.nextLine();
     61             while(true){
     62                 if(scan.nextLine()==" "){
     63                     System.out.println();
     64                     newUserPass1=scan.nextLine();    
     65                 }else{
     66                      break;
     67                 }
     68             } 
     69             System.out.println("请再次输入新密码:");
     70             String newUserPass2=scan.nextLine(); 
     71             while(true){
     72                 if(scan.nextLine()==" "){
     73                        newUserPass2=scan.nextLine();    
     74                 }else{
     75                      break;
     76                 }
     77             } 
     78             System.out.println(newUserPass1+"===="); 
     79             if(newUserPass1.equals(newUserPass2)){ 
     80                 System.out.print("密码修改成功!");
     81                 this.userPass=newUserPass1;
     82             }else{
     83                 System.out.println("两次密码不一致,修改失败");
     84             }
     85         }else{
     86             System.out.println("密码输入失败!");
     87         }
     88         initAction();
     89     }
     90     //操作项窗口
     91     public void initActionWindow(){ 
     92         System.out.print("============");
     93         System.out.println();
     94         System.out.print("欢迎进入操作项界面");
     95         System.out.println();
     96         System.out.print("==============");
     97         System.out.println();
     98     }
     99     //操作项
    100     public void initAction(){
    101         initActionWindow();
    102         System.out.println("1、查询余额     2、取款     3、存款     4、修改密码     5、退出");
    103         System.out.println("请选择操作项:");
    104         String scanf=scan.next();
    105         if("1".equals(scanf)){
    106             queryMoney();
    107         }else if("2".equals(scanf)){
    108             devideMoney();
    109         }else if("3".equals(scanf)){
    110             addMoney();
    111         }else if("4".equals(scanf)){
    112             changePass();
    113         }else if("5".equals(scanf)){
    114             System.out.println("程序结束!");
    115             System.exit(0);
    116         }else{
    117             System.out.println("没有此功能!请重新选择");  
    118         }
    119         initAction();
    120     }
    121     public static void main(String[] args) {
    122         ATM atm=new ATM();
    123         
    124         atm.initLogin();
    125     }
    126 }

    截图:

    五、问题及心得:

        问题:我负责的这部分主要用到的用例有:登陆、取款、存款、查询余额、退出、修改密码;其中“修改密码”这个功能有点问题,第二次确认新密码时必须再加一个换行才能完成输入,因此第一次的新密码和第二次确认的那个密码也就不一致,导致不能完成密码修改。另外,本项目没有连接数据库,我只是把用户名、密码、余额等信息存到了一个变量中。这个项目很简单,设计思路和控制台下的学生管理系统差不多。代码也很简单我就不分析了。

        心得:通过这次作业对结对编程有了一个大概的了解,由于对结对编程还不够熟练 ,所以对现在的我来说我还是比较喜欢一个人编程。。。(测试方面的工作大部分由田培培负责  我这里就不写了 博客地址:

    http://www.cnblogs.com/tpp531853660

     
  • 相关阅读:
    DS博客作业05--查找
    DS博客作业04--图
    数据结构-栈,队列
    我の第六篇博客
    我の第五篇博客
    我の第四篇博客
    我の第三篇博客
    我の第二篇博客
    Java 购物车大作业01
    有理数类的设计
  • 原文地址:https://www.cnblogs.com/joanyy/p/4510395.html
Copyright © 2011-2022 走看看