java银行存款程序设计

目的:
1、学会分析“银行存款程序”的实现思路。
2、根据思路独立完成“银行存款程序”的源代码编写、编译及运行。
3、通过存款程序理解多线程安全问题的发生原因,并掌握如何解决多线程安全问题。
要求:
编写一个模拟银行存款的程序。假设有两个储户都去银行往同一个账户存款,一次存100,每人存3次。要求储户每存一次钱,账·户余额增加100元,并在控制台输出当前账户的余额。
二、实验原理(图):
1、通过任务描述可以看出,该任务需要使用多线程相关知识来实现。由于两个储户同时操作一个账户,因此需要创建两个线程来完成存款操作。由于此处账户为共享数据,所以需要使用实现Runnable接口的方式来创建线程,而不是继承Thread类。
2、既然是储户去银行存款,那么可以得出该任务会涉及到3个类,分别是银行类、储户类和测试类。
3、在银行类中需要定义一个账户余额的变量和一个存款的方法,储户类是任务类,需要实现Runnable接口,并在类中覆写run()方法,通过循环3次调用银行类中的存款方法,来实现往同一个账户存款3次的操作。
4、为了避免每一次存款过程中账户的余额增加时可能出现的不正常情况,也就是避免多线程并发问题,需要在特定的位置上使用同步代码块并指定一个锁,该锁可以是任意的对象,此处使用this关键字,即可解决多线程安全问题。

public class Bank {
   
	static String bankname;// 定义静态变量存储银行名称
	private String name;// 账户姓名
	private String password;// 密码
	private double balance;// 账户余额
	private double turnover;// 交易额
	// 静态方法,打印出银行欢迎语句
	static void welcome() {
   
		System.out.println("欢迎来到" + bankname + "---------");	}
	// 构造方法,开户
	public Bank(String name, String password, double turnover) {
   
		// 将变量赋值给成员变量
		super();
		
  • 3
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

F__lower

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值