大四JAVA实验(一)

Posted on 2006-10-19 10:57 久城 阅读(734) 评论(7)  编辑  收藏 所属分类: JavaTest

写一个模拟的银行存储系统,能够实现用户的登陆,存钱,取钱,转帐等功能。必须用I/O流在DOS下实现过程。

起了个大早开始写,郁闷啊都写到11点了才出来..

虽然SIMPLE,但是也有不少收获!特别是I/O流。以前学的很不扎实,还得好好看看资料再总结下!
先把代码帖下,哈哈!

代码如下:

package com.neusoft.test;

/*
 *Title 模拟实现银行存储系统
 *@author realsmy
 *2006-10-19 10:50
 
*/


import java.io.*;

class ZhangHu {
    
private String name;

    
private String password;

    
private int money;

    ZhangHu(String name, 
int money) {
        
this.name = name;
        
this.money = money;
    }


    ZhangHu(String name, String password, 
int money) {
        
this.name = name;
        
this.password = password;
        
this.money = money;
    }


    
public void setM(int a) {
        money 
= money + a;
        System.out.println(
"存储了" + a + "元,帐户" + name + "尚有余额" + money + "");
    }


    
public void getM(int a) {
        
if (a > money) {
            System.out.println(
"对不起,您的金额不足" + a + "");
        }
 else {
            money 
= money - a;
            System.out
                    .println(
"取得了" + a + "元,帐户" + name + "尚有余额" + money + "");
        }

    }


    
public String getName() {
        
return name;
    }


    
public String getPassword() {
        
return password;
    }


    
public int getMoney() {
        
return money;
    }

}


// 银行模拟系统
public class Bank_Test {
    String name;

    String password;

    String pw;

    
int money;

    
int choose;

    
int a, b;// 存取的金额,临时变量

    File fl;

    ZhangHu user, user2;
// 帐户对象

    String toname;
// 转入帐户名

    String c;
// 临时存储转入帐户密码

    
public Bank_Test() {
        login();
        user 
= new ZhangHu(name, password, money);
        
while (true{
            cunqu();
        }

    }


    
// 实现登陆方法login
    public void login() {
        System.out.println(
"您好,欢迎光临赵家银行!请输入您的帐户号码:");
        
while (true{
            
try {
                BufferedReader in 
= new BufferedReader(new InputStreamReader(
                        System.in));
                name 
= in.readLine();
            }
 catch (IOException e) {
            }

            fl 
= new File(name + ".txt");
            
// 判断帐户是否存在
            if (!fl.exists()) {
                System.out.println(
"对不起,您输入的帐户并不存在,请重新输入:");
                
continue;
            }

            
// 帐户存在,开始判断密码
            try {
                System.out.println(
"请输入您的密码:");
                BufferedReader in2 
= new BufferedReader(new InputStreamReader(
                        System.in));
                password 
= in2.readLine();
            }
 catch (IOException e) {
            }

            
// 取文件中的密码
            try {
                BufferedReader reader 
= new BufferedReader(new FileReader(name
                        
+ ".txt"));
                pw 
= reader.readLine();
                money 
= Integer.parseInt(reader.readLine());
            }
 catch (IOException e) {
            }

            
// 判断密码
            if (password.equals(pw)) {
                System.out.println(
"登陆成功");
                System.out.println(
"您的用户尚有余额" + money + "");
                
break;
            }
 else {
                System.out.println(
"对不起,您输入的密码不正确,请重新输入帐户:");
                
continue;
            }

        }

    }


    
// 实现存取方法cunqu
    public void cunqu() {
        System.out.println(
"请选择您要进行的操作:");
        System.out.println(
"1. 存钱 2. 取钱 3. 转帐 4. 退出 ");
        
try {
            BufferedReader in 
= new BufferedReader(new InputStreamReader(
                    System.in));
            choose 
= Integer.parseInt(in.readLine());
        }
 catch (IOException e) {
        }

        
// 存钱
        if (choose == 1{
            System.out.println(
"请输入你要存储的金额:");
            
try {
                BufferedReader in 
= new BufferedReader(new InputStreamReader(
                        System.in));
                a 
= Integer.parseInt(in.readLine());
            }
 catch (IOException e) {
            }

            user.setM(a);
            
// infile(user);

        }

        
// 取钱
        if (choose == 2{
            System.out.println(
"请输入你要取得的金额:");
            
try {
                BufferedReader in 
= new BufferedReader(new InputStreamReader(
                        System.in));
                a 
= Integer.parseInt(in.readLine());
            }
 catch (IOException e) {
            }

            user.getM(a);
            infile(user);
        }

        
if (choose == 3{
            System.out.println(
"请输入你要转入的帐户:");
            
while (true{
                
try {
                    BufferedReader in 
= new BufferedReader(
                            
new InputStreamReader(System.in));
                    toname 
= in.readLine();
                }
 catch (IOException e) {
                }

                fl 
= new File(toname + ".txt");
                
// 判断帐户是否存在
                if (!fl.exists()) {
                    System.out.println(
"对不起,您输入的帐户并不存在,请重新输入:");
                    
continue;
                }
 else {
                    
break;
                }

            }

            System.out.println(
"请输入你要转入的金额:");
            
try {
                BufferedReader in 
= new BufferedReader(new InputStreamReader(
                        System.in));
                a 
= Integer.parseInt(in.readLine());
            }
 catch (IOException e) {
            }

            user.getM(a);
            infile(user);
            
try {
                BufferedReader reader 
= new BufferedReader(new FileReader(
                        toname 
+ ".txt"));
                c 
= reader.readLine();
                b 
= Integer.parseInt(reader.readLine());
            }
 catch (IOException e) {
            }

            user2 
= new ZhangHu(toname, c, b);
            user2.setM(a);
            infile(user2);

        }

        
if (choose == 4{
            System.exit(
0);
        }

    }


    
// 存入文件
    public void infile(ZhangHu p) {
        
try {
            PrintWriter writer 
= new PrintWriter(new BufferedWriter(
                    
new FileWriter(p.getName() + ".txt")));
            writer.println(p.getPassword());
            writer.println(p.getMoney());
            writer.flush();
        }
 catch (IOException e) {
        }

    }


    
public static void main(String[] args) {
        
new Bank_Test();
    }

}



欢迎来访!^.^!
本BLOG仅用于个人学习交流!
目的在于记录个人成长.
所有文字均属于个人理解.
如有错误,望多多指教!不胜感激!

Feedback

# re: 大四JAVA实验(一)  回复  更多评论   

2006-10-19 14:33 by 马嘉楠
在账户类ZhangHu中
方法:public void getM(int a){
if(a > money){
System.out.println("对不起,您的金额不足"+a+"元");

//输出提示之后,应该有个返回吧,否则下面语句不是还要继续执行
return;
}

# re: 大四JAVA实验(一)  回复  更多评论   

2006-10-19 17:50 by 久城
改过来了,谢谢!

# re: 大四JAVA实验(一)  回复  更多评论   

2006-10-22 11:08 by 努力
你们都学了多长时间了!``
很苦恼..
有没有学习的技巧..我现在正在学习JAVA感觉不是很容易!`
不知道以后能不能安全毕业..

# re: 大四JAVA实验(一)  回复  更多评论   

2007-04-06 14:31 by 糖果
看到代码就晕了@.@~ ^-^

# re: 大四JAVA实验(一)  回复  更多评论   

2007-04-19 22:13 by 匿名
你这个程度 找工作很容易的。05年我毕业的时候,也就懂个语法,struts连是什么都不知道,抱着一本jsp恶啃。大部分东西都是工作以后学的。只要态度积极,这些都不是问题。我看到很多工作很多年的,却依然很肤浅。所谓有志不在年高,小伙子不用气馁,认准方向好好学习。

# re: 大四JAVA实验(一)[未登录]  回复  更多评论   

2007-09-03 20:56 by yy
呵呵,你是神仙派来的

# re: 大四JAVA实验(一)  回复  更多评论   

2007-09-03 21:04 by 久城
??....??

只有注册用户登录后才能发表评论。


网站导航:
 

Copyright © 久城