第一周,java模拟ATMdos界面程序源代码及感想

9月24号、

感想

   今天是第一节java课,我的老师要求我们模拟ATM取款机系统,由于所学知识较浅Java的一些基本知识没有掌握因此在这次编程中遇到了极大的阻力。首先我要分析一下所遇到的问题,类的创建没有问题但类的执行方面有些问题,有些界面涉及到的步骤较多,不能很好的调用私有变量,分不清对象与对象引用导致变量无法调用与赋值。为了形象地说明对象、引用及它们之间的关系,可以做一个或许不很妥当的比喻。对象好比是一只很大的气球,大到我们抓不住它。引用变量是一根绳, 可以用来系汽球。之后我通过书籍中的例题着步解决了变量调用的问题,在接下来就是界面之间的跳转这个程序系统要求界面之间能够流畅的转变同时有涉及到多个变量调用以及相互之间的赋值,接下来是界面中的选项,每一个选项都有其对应的程序有一些简单、有一些复杂。复杂的需要考虑许多方面比如取款界面既要保证存款金额多于取款金额又要保证当天所取金额不超过20000.之后有涉及到了文件的导入与导出,这在我编程时是遇到的最大问题,于是我通过网络了解到了文件读写:文件读写器所有的类都在类包 java.io 中,文件读入器一般使用字符input或者reader,文件写出器一般使用out或者writer。 (流:它是通过缓冲机制将数据从生产者(如键盘、磁盘文件、内存或其他设备)传送到接受该数据的消费者(如屏幕、文件或者内存等)的这一过程的抽象)至今这一部分仍然不能运行。

    Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。同时具有简单性、面向对象、分布式、健壮性、安全性、平台独立与可移植性、多线程、动态性等特点。Java可以编写桌面应用程序Web应用程序分布式系统嵌入式系统应用程序等。据统计软件工作者最常用的编程软件就是Java,作为软件工程系的学生编程将有可能伴随我的一生,我没有任何理由拒绝 Java,因此我必须要学好Java,以后的测试题只会更难,我们的程序要连接数据库并要有图形界面而这只是基础罢了Java入门只给了我们一年,我要用这一年的时间入门Java。

以下是源代码:

public class Account {
private String accountID;//账号
private String acountname;//姓名
private String operatedate;//操作时间
private int operatetype;//操作类型
int accountbalance;//账户余额
private String accountpassword;//账户密码
private int amout;//流水金额
public Account(){
super();
}
public String getAccountID(){
return accountID;
}
public void setAcconutID(String accountID){
this.accountID=accountID;
}
public String getOperatedate(){
return operatedate;
}
public void setOperatedate(String operatedate){
this.operatedate=operatedate;
}
public String getAccountpassword(){
return accountpassword;
}
public void setAccountpassword(String accountpassword){
this.accountpassword=accountpassword;
}
public int getOperatetype(){
return operatetype;
}
public void setOperatetype(int operatetype){
this.operatetype=operatetype;
}
public int getAccountbalance(){
return accountbalance;
}
public void setAccountbalance(int accountbalance){
this.accountbalance=accountbalance;
}

界面

 public static boolean loginAccount(String accountID) throws IOException  {
System.out.println("\t*************************************************\n");
System.out.println("\t  欢迎使用中国工商银行自助柜员系统\n");
System.out.println("\t*************************************************\n");
        System.out.println("\t\t请输入您的账号:\n");
            String checkAccount = s.next();
if (accountID.equals (checkAccount)){
                System.out.println("输入账号成功,系统跳转到输入密码界面\n");
                return true ;
          }else {
                   System.out.println("该账号不存在");
                   return false ;
                }
}
    //打印登陆密码界面
public static boolean loginPwd(String accountpassword) throws IOException {
System.out.println("\t*************************************************\n");
System.out.println("\t  欢迎使用中国工商银行自助柜员系统\n");
System.out.println("\t*************************************************\n");
        for (int i = 3 ;i>0;i--){
         System.out.println("\t\t请输入您的密码:\n");
            String checkPwd = s.next();
            if (accountpassword.equals (checkPwd)){
                System.out.println("输入密码成功,系统跳转到主界面!\n");
                return true ;
          }else {
                if ( i ==1 ){
                    System.out.println("该账号三次录入密码错误,该卡已被系统没收,请与工行及时联系处理");
                   return false ;
                }
                System.out.println("密码录入错误!今日剩余次数:"+ (i-1));
           }
        }
return false;
  
}
//存款
private static void handmoney(int accountbalance,int amount) {
System.out.println("\t*************************************************\n");
System.out.println("\t  欢迎使用中国工商银行自助柜员系统\n");
System.out.println("\t*************************************************\n");
System.out.println("\t\t请输入存款金额:\n");
amount=s.nextInt();
accountbalance+=amount;
System.out.println("\t*************************************************\n");
System.out.println("\t  欢迎使用中国工商银行自助柜员系统\n");
System.out.println("\t*************************************************\n");
System.out.println("\t\t当前账户存款操作成功\n");
System.out.println("\t\t当前账户余额为"+accountbalance+"元\n");
System.out.println("\t*************************************************\n");
Menu();
System.out.println("\t\t请继续操作\n");
}
//取款
public static void getmoney(int accountbalance,int amount) {
accountbalance+=amount;
System.out.println("\t*************************************************\n");
System.out.println("\t  欢迎使用中国工商银行自助柜员系统\n");
System.out.println("\t*************************************************\n");
System.out.println("\t\t当前账户每日可以支取2万元\n");
System.out.println("\t\t1.100元\n");
System.out.println("\t\t2.500元\n");
System.out.println("\t\t3.1000元\n");
System.out.println("\t\t4.1500元\n");
System.out.println("\t\t5.2000元\n");
System.out.println("\t\t6.5000元\n");
System.out.println("\t\t7.其他金额\n");
System.out.println("\t\t8.退卡\n");
System.out.println("\t\t9.返回\n");
System.out.println("\t*************************************************\n");
int str=s.nextInt();
 if (str > 20000){
 System.out.println("单次最大取款金额为20000.0元");
 str=0;
    }else if (str < 0){
          System.out.println("不能取负数的钱!!");
          str=0;
        }else if (accountbalance <str ){
          System.out.println("账户余额不足!!");
          str=0;
        }else {
     accountbalance-=str;
     System.out.println("\t*************************************************\n");
     System.out.println("\t  欢迎使用中国工商银行自助柜员系统\n");
     System.out.println("\t*************************************************\n");
     System.out.println("\t\t当前账户存款操作成功\n");
     System.out.println("\t\t当前账户余额为"+accountbalance+"元\n");
     System.out.println("\t*************************************************\n");
              }
 Menu();
    }
//转账汇款
public static void moneygogogo(String accountID,int accountbalance,int amount) {
accountbalance+=amount;
System.out.println("\t*************************************************\n");
System.out.println("\t  欢迎使用中国工商银行自助柜员系统\n");
System.out.println("\t*************************************************\n");
System.out.println("\t\t请输入转账账户\n");
String str=s.next();
if(accountID.equals(str)) {
System.out.println("\t*************************************************\n");
System.out.println("\t  欢迎使用中国工商银行自助柜员系统\n");
System.out.println("\t*************************************************\n");
System.out.println("\t\t请输入转账金额\n");
int num=s.nextInt();
if(accountbalance<=num){
System.out.println("账户余额不足");
}else {
     accountbalance-=num;
     System.out.println("\t*************************************************\n");
     System.out.println("\t  欢迎全世界最有钱的人使用中国工商银行自助柜员系统\n");
     System.out.println("\t*************************************************\n");
     System.out.println("\t\t当前账户向"+accountID+"成功转账"+num+"元");
     System.out.println("\t\t当前账户余额为"+accountbalance+"元\n");
     System.out.println("\t*************************************************\n");
}
}
Menu();
}
//修改密码
public static void update(String accountpassword) {
System.out.println("\t*************************************************\n");
System.out.println("\t  欢迎使用中国工商银行自助柜员系统\n");
System.out.println("\t*************************************************\n");
System.out.println("\t\t请输入当前密码:\n");
String str=s.next();
if(!accountpassword.equals(str)) {
System.out.println("当前密码录入错误");
}else {
System.out.println("\t\t请输入修改密码:\n");
String str1=s.next();
System.out.println("\t\t请输入确认密码:\n");
String str2=s.next();
if(!str1.equals(str2)) {
System.out.println("修改密码与确认密码不一致");
}else {
     System.out.println("\t*************************************************\n");
     System.out.println("\t  欢迎全世界最有钱的人使用中国工商银行自助柜员系统\n");
     System.out.println("\t*************************************************\n");
     System.out.println("\t\t当前账户密码修改成功");
     System.out.println("\t*************************************************\n");
}
}
}
//查询余额
public static void moneyhere(int accountbalance,String operatedate,int amount) {
System.out.println("\t*************************************************\n");
System.out.println("\t  欢迎全世界最有钱的人使用中国工商银行自助柜员系统\n");
System.out.println("\t*************************************************\n");
System.out.print("\t\t当前账户余额为元"+accountbalance+"元\n");
System.out.print("\t\t账户清单信息为:\n");
System.out.print("\t\t操作日期"+operatedate+" 操作类型1 2 3 4 5"+"操作金额"+amount+"\n");
System.out.println("\t*************************************************\n");
Menu();
}

猜你喜欢

转载自www.cnblogs.com/gkl20173667/p/9696374.html