lyzly520 发表于 2008-5-30 23:07

不知eclipse swing插件在哪下载 附模拟银行存取代码

百度中找了半天不知在哪下载 有谁给个地址哈...
刚在CSDN上找到一个 不过那里我的ID没积分了 下不了
郁闷...
我邮箱super_lyz@126.com不大的话发我也行 先谢谢了哈
下面是我刚完成的模拟银行存取的代码  
[code]
package com.hb.bank;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;

//import java.text.SimpleDateFormat;
//import java.util.Calendar;

public class Bank {
        static BufferedReader br = new BufferedReader(new InputStreamReader(
                        System.in));// 输入流

        private static String name;// 定义用户名

        private static String password;// 定义用户密码

        private static double money;// 定义初始余额

        private double saveMoney;// 定义存款变量

        private double takeMoney;// 定义取款变量

        private int saveFlag = 0;// 定义存款操作记录变量

        private int takeFlag = 0;// 定义取款操作记录变量

        String saveDate;// 定义存款时间变量

        String takeDate;// 定义取款时间变量

        int choose;// 定义选择菜单的变量

        ArrayList saveTime = new ArrayList();// 定义动态数组用来存储存款时间

        ArrayList takeTime = new ArrayList();// 定义动态数组用来存储取款时间

        ArrayList save_Money = new ArrayList();// 定义动态数组用来存储取款数目

        ArrayList take_Money = new ArrayList();// 定义动态数组用来存储取款数目

        DecimalFormat df = new DecimalFormat("0.00");// 格式化小数 保留2位

        /**
         * 带参数:账户密码money的构造方法
         */
        public Bank(String name, String password, double money) {
                this.name = name;
                this.password = password;
                this.money = money;
        }

        /**
         * 用户登陆
         */
        public void login() {
                int i = 3;// 定义一个计数器
                // String getName = null;// 初始化输入用户名的字符
                // String getPassword = null;// 初始化输入密码的字符

                // 构造while循环判断输入直到正确
                while (true) {
                        System.out.print("请输入用户名:");
                        try {
                                name = br.readLine();
                        } catch (IOException e) {

                        }
                        System.out.print("请输入密码:");
                        try {
                                password = br.readLine();
                        } catch (IOException e) {

                        }
                        if (name.equals("admin") && password.equals("admin")) {
                                System.out.flush();
                                System.out.println("恭喜你,成功登陆!");
                                System.out.println("你的余额为" + df.format(money) + "元");
                                break;

                        } else {
                                i--;// 错误一次 计数器递减
                                if (i == 0) {
                                        System.out.println("输入超过最大次数!程序退出");
                                        System.exit(0);
                                        // 3次错误 程序退出
                                }
                                System.out.println("对不起,您输入的用户名或密码错误,请重新输入:" + "你还有" + i
                                                + "次机会");

                        }

                }

        }

        /**
         * 系统主菜单
         */
        public void showMenu() {
                choose = 0;
                System.out.println("请选择您要进行的操作:1.存款 2.取款 3.查询 4.退出");
                try {
                        String strTemp=br.readLine();
//                        choose = Integer.parseInt(br.readLine());
                        //保证输入的字符长度为1
                        if(strTemp.length()==1){
                                choose=Integer.parseInt(strTemp);
                                // 读取字符转化为int型
                        }else
                                System.out.println("请输入合法数字");
                       
                } catch (NumberFormatException e1) {
                        System.out.println("请输入合法数字");
                } catch (IOException e1) {

                }

        }

        /**
         * 定义存款方法
         */
        public void saveMoney() {
                while (true) {
                        System.out.println("请输入你要存储的金额(注意请输入数字)输入数字0回菜单:");

                        try {
                                String strTemp = br.readLine();
                                saveMoney = Double.parseDouble(strTemp);
                                if (!judgeDouble(strTemp)) {
                                        System.out.println("不能包涵非法字符如1D,1d,1f,1F,或以.和-开头");
                                        continue;
                                }
                        } catch (NumberFormatException e) {
                                System.out.println("输入错误,请输入数字");
                                continue;

                        } catch (IOException e) {

                        }

                        // 输入数字0回菜单
                        if (saveMoney == 0) {
                                break;
                        }

                        money += saveMoney;

                        // saveDate = new Date();
                        saveDate = getTime();// 获取时间格式
                        saveTime.add(saveDate);// 添加时间进动态数组
                        save_Money.add(saveMoney);// 添加存款数进动态数组
                        System.out.println("存款成功!已存入" + df.format(saveMoney) + "元"
                                        + "你的可用余额为" + df.format(money) + "元");

                        saveFlag++;// 操作记数器

                        break;
                }
        }

        /**
         * 定义取款方法
         */
        public void takeMoney() {
                while (true) {
                        System.out.println("请输入你要取款的金额(注意请输入数字)输入数字0回菜单:");

                        try {
                                String strTemp = br.readLine();
                                takeMoney = Double.parseDouble(strTemp);
                                if (!(judgeDouble(strTemp))) {
                                        System.out.println("不能包涵非法字符如1D,1d,1f,1F,或以.-+等开头");
                                        continue;
                                }

                        } catch (NumberFormatException e) {
                                System.out.println("输入错误,请输入数字");
                                continue;
                        } catch (IOException e) {

                        }

                        // 输入数字0回菜单
                        if (takeMoney == 0) {
                                break;
                        }

                        // 输入的数目比余额大就不能取款
                        if (!(money < takeMoney)) {

                                money -= takeMoney;// 余额减少
                                System.out.println("取款成功!已取出" + df.format(takeMoney) + "元."
                                                + "你的余额为" + df.format(money) + "元");

                                // takeDate = new Date();
                                takeDate = getTime();// 获取时间格式
                                takeTime.add(takeDate);// 添加时间进动态数组
                                take_Money.add(takeMoney);// 添加取款进动态数组

                                takeFlag++;// 操作记数器
                                break;
                        } else {
                                System.out.println("余额不足,请重新输入:");
                                continue;// 返回继续输入
                        }

                }
        }

        /**
         * 定义查询方法
         */
        public void findRecode() {
                System.out.println("你的余额为" + df.format(money) + "元;");

                // 如果操作计数器为0 则执行循环打印
                if (saveFlag == 0) {
                        System.out.println("您没有存款纪录!");
                } else {
                        for (int i = 0; i < saveTime.size(); i++) {
                                System.out.println("您在" + saveTime.get(i) + "存入"
                                                + df.format(save_Money.get(i)) + "元");
                        }

                }
                if (takeFlag == 0) {
                        System.out.println("您没有取款纪录!");
                } else {
                        for (int j = 0; j < takeTime.size(); j++) {
                                System.out.println("您在" + takeTime.get(j) + "取出"
                                                + df.format(take_Money.get(j)) + "元");
                        }
                }
        }

        /**
         * 构造函数 登陆成功进行操作
         */
        public Bank() {
                // String choose = null;
                while (true) {
                        showMenu();
                        switch (choose) {

                        // 存款
                        case 1:
                                saveMoney();// 调用存款方法
                                break;

                        // 取款
                        case 2:
                                takeMoney();// 调用取款方法
                                break;

                        // 输入3为查询
                        case 3:
                                findRecode();// 调用查询方法
                                break;

                        // 输入4为退出
                        case 4:
                                System.out.println("程序退出");
                                System.exit(0);

                                // 输入其它的就为不合法,返回重新输入
                        default: {
                                System.out.println("输入无效!请认


页: [1]

编程论坛