取款机项目实验报告

一、题目简介:

  为了了解并掌握结对编程,熟悉敏捷编程,就和队友做了个控制台下的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

 

你可能感兴趣的:(项目)