求Java代码 模拟简易atm机 80

要求:1.atm的操作与数据存储要用2个类2.先创建新账户并设定余额3.输入帐号密码4.能够存、取钱5.能够显示账户余额6.能够退出结束使用7.最后用伪代码解释一下,再画... 要求:1.atm的操作与数据存储要用2个类
2.先创建新账户并设定余额

3.输入帐号密码
4.能够存、取钱
5.能够显示账户余额
6.能够退出结束使用
7.最后用伪代码解释一下,再画个uml类图
本人初学者,代码不要太复杂,越简单越好,请各位大神不要复制粘贴谢谢了
展开
 我来答
鄂茵qz
2014-12-04 · TA获得超过511个赞
知道小有建树答主
回答量:224
采纳率:0%
帮助的人:174万
展开全部

参考了别人的代码。略作修改,已经很简单了:

InfoATM.java:

public class InfoATM {

    double money = 0;

    public InfoATM(double cash) {
        super();
        this.money = cash;
    }
    // 存款的方法
    public void save(double count) {
        money += count;
    }

    // 取款的方法
    public void draw(double count) {
        money -= count;
    }
    public double getMoney() {
        return money;
    }
    public void setMoney(double money) {
        this.money = money;
    }
    
}

TestATM.java:

import java.awt.BorderLayout;
import java.awt.GridLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;

public class TestATM extends JFrame {

    private static final long serialVersionUID = 2531222181184935595L;
    // 主面板pnBasic是用来装pnDate和标签文字的。
    private JPanel pnBasic;
    // 添加到主面板中的中间 pnDate面板是为了装表单的。
    private JPanel pnDate;
    // 添加到主面板中的北边 pnLabel面板是为了装欢迎词的
    private JPanel pnLabel;
    InfoATM atm = new InfoATM(0);

    public TestATM() {

        pnBasic = new JPanel();
        // 主面板pnBasic是用来装pnDate和标签文字的。
        pnDate = new JPanel(new GridLayout(2, 2));
        // pnDate面板是为了装表单的。
        pnLabel = new JPanel();

        JLabel top = new JLabel("欢迎来到中国银行!");
        pnLabel.add(top);
        // 先将数值添加在一个容器中并设置其在容器的右边,在将容器添加在网格的第一格
        JPanel jp1 = new JPanel();

        JLabel number = new JLabel("数值:");
        final JTextField box = new JTextField(5);

        jp1.add(number);
        jp1.add(box);

        JPanel jp2 = new JPanel();
        JButton create = new JButton("新建银行账户");
        jp2.add(create);
        JButton take = new JButton("取款");
        JButton in = new JButton("存款");

        pnDate.add(jp1);
        pnDate.add(jp2);
        pnDate.add(take);
        pnDate.add(in);

        // 加一句下面的就好了
        JPanel jpS = new JPanel();
        final JLabel total = new JLabel("您现在的账户余额是:0 元");
        jpS.add(total);

        pnBasic.setLayout(new BorderLayout());

        pnBasic.add(pnLabel, BorderLayout.NORTH);
        pnBasic.add(pnDate, BorderLayout.CENTER);
        pnBasic.add(jpS, BorderLayout.SOUTH);

        setContentPane(pnBasic);
        setBounds(400, 250, 500, 500);
        pack();
        setDefaultCloseOperation(DISPOSE_ON_CLOSE);
        setVisible(true);
        pack();

        in.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                if (box.getText() != null && box.getText() != "") {
                    try {
                        double count = Double.parseDouble(box.getText());
                        if (count > 0) {
                            atm.save(count);
                            total.setText("您现在的账户余额是:" + atm.getMoney() + "元");
                            box.setText("");
                        }
                    } catch (Exception e1) {
                        System.out.println("您输入的数值必须是数字");
                    }

                }
            }
        });

        take.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                if (box.getText() != null && box.getText() != "") {
                    try {
                        double count = Double.parseDouble(box.getText());
                        if (count >= 0 && count <= atm.getMoney()) {
                            atm.draw(count);
                            total.setText("您现在的账户余额是:" + atm.getMoney() + "元");
                            box.setText("");
                        } else {
                            System.out.println("你的余额不足,取款失败");
                        }
                    } catch (Exception e1) {
                        System.out.println("您输入的数值必须是数字");
                    }
                }
            }
        });

        create.addActionListener(new ActionListener() {
            public void actionPerformed(ActionEvent e) {
                total.setText("您现在的账户余额是:0元");
                atm.setMoney(0);
                box.setText("");
            }
        });

    }

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

    }
}
追问
大神能不能用伪代码写一下 还有画个uml类图 谢谢了
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式