zoukankan      html  css  js  c++  java
  • 银行存钱取钱余额的图形程序

    //放入文件 F1.java中

    //result1.src.result1.F1.java

    package result1;

     

    import java.awt.Color;

    import java.awt.Font;

    import java.awt.GridLayout;

    import java.awt.event.ActionEvent;

    import java.awt.event.ActionListener;

    import java.util.Scanner;

     

    import javax.swing.JButton;

    import javax.swing.JFrame;

    import javax.swing.JLabel;

    import javax.swing.JOptionPane;

     

    //模拟银行存取钱

    class JieMian extends JFrame {

     

    String string[] = new String[3];

    JButton jButton[] = new JButton[3];

    JLabel jLabel[] = new JLabel[3];

     

    public JieMian() {

    // TODO Auto-generated constructor stub

     

    setSize(400, 200);

    setVisible(true);

    setDefaultCloseOperation(EXIT_ON_CLOSE);

    setTitle("建设银行");

    setLayout(new GridLayout(3, 2));

    for (int i = 0; i < jButton.length; i++) {

    // 3个按钮

    jButton[i] = new JButton("确定");

    }

    string[0] = new String("存钱");

    string[1] = new String("取钱");

    string[2] = new String("余额");

     

    for (int i = 0; i < 3; i++) {

    jLabel[i] = new JLabel(string[i]);

    }

    for (int i = 0; i < jButton.length; i++) {

    add(jLabel[i]);

    jLabel[i].setFont(new Font("黑体",Font.ITALIC,50));

    jButton[i].setBackground(Color.red);

    add(jButton[i]);

    }

     

    jButton[0].addActionListener(new Tf3());

    jButton[1].addActionListener(new Tf());

    jButton[2].addActionListener(new Tf1());

    validate();

    }

    }

    class Tf3 implements ActionListener{

    public void actionPerformed(ActionEvent event) {

    // 存钱

    Bank bank = new Bank();

    Scanner scanner = new Scanner(System.in);

    System.out.print("请输入存钱数:");

    double monkey = scanner.nextDouble();

    bank.setMoney(monkey);

    }

    }

    class Tf implements ActionListener {

     

    public void actionPerformed(ActionEvent event) {

    // 取钱

    Bank bank = new Bank();

    System.out.print("请输入取钱金额:");

    Scanner scanner = new Scanner(System.in);

    bank.take(scanner.nextDouble());

    //重点,scanner不能关闭,因为要实现多次输入

    }

    }

     

    class Tf1 implements ActionListener {

     

    public void actionPerformed(ActionEvent event) {

    // 账户余额

    Bank bank = new Bank();

    JOptionPane.showMessageDialog(null, "余额为:" + bank.getMoney());

     

    }

    }

     

    class Bank {

    // 银行类

    static double money = 200;// 类变量,类名和对象名直接引用

     

    public void take(double monkey) {

    // 类方法,取钱方法

    // 定义同步线程保护数据方法,同一时刻调用方法的线程只能排队

    money = money - monkey;

    }

     

    public void setMoney(double monkey) {

    // 存钱方法

    money = money + monkey;

    }

     

    public double getMoney() {

    // 查看帐户余额

    return money;

    }

    }

     

    //测试程序放入F2.java中

    //路径 result.src.result1.F2.java

     

    public class F2 {

    public static void main(String[] args) {

    new JieMian();

    }

     

    }

  • 相关阅读:
    线程高级应用-心得2-同步锁讲解及面试题案例分析
    线程高级应用-心得1-传统线程和定时器讲解及案例分析
    Map拷贝 关于对象深拷贝 浅拷贝的问题
    HashMap对象的深层克隆
    java Collections.sort()实现List排序自定义方法
    java中观察者模式Observable和Observer
    mysql字符串函数(转载)
    CSS的三种样式表和优先级
    Android之微信支付
    Android之扫描二维码和根据输入信息生成名片二维码
  • 原文地址:https://www.cnblogs.com/nanfengnan/p/13642825.html
Copyright © 2011-2022 走看看