news 2026/4/18 7:44:08

Java 存储钱取钱作业

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Java 存储钱取钱作业

package testthread3;

public class testwork7next4 {

public static void main(String[] args) throws InterruptedException {

Account account = new Account("张三",200);

System.out.println("初始账户信息:" + account);

Thread1 thread1 = new Thread1(account,100);

Thread2 thread2 = new Thread2(account,50);

thread1.start();

thread2.start();

thread1.join();

thread2.join();

System.out.println("最终账户信息:" + account);

System.out.println("最终账户余额应为250元:" + account.getBalance());

}

}

class Account {

private String username;

private double balance;

public Account(String username, double balance) {

this.username = username;

this.balance = balance;

}

public synchronized void cunkuan (double amount){

if (amount>0){

balance += amount;

System.out.println("存款后余额:"+balance);

}

}

public synchronized void qukuan (double amount){

if (amount > 0 && amount<= balance){

balance -= amount;

System.out.println("取款后余额:"+ balance);

}else if(amount > balance){

System.out.println("取款是白!余额不足");

}

}

public String getUsername() {

return username;

}

public void setUsername(String username) {

this.username = username;

}

public double getBalance() {

return balance;

}

public void setBalance(double balance) {

this.balance = balance;

}

@Override

public String toString() {

return "Account{" +

"username='" + username + '\'' +

", balance=" + balance +

'}';

}

}

class Thread1 extends Thread{ //存款线程

private Account account;

private double amount;

public Thread1(Account account,double amount){

super("存款线程1");

this.account = account;

this.amount = amount;

}

public void run(){

account.cunkuan(amount);

System.out.println("操作完成");

}

}

class Thread2 extends Thread { // 取款线程

private Account account;

private double amount;

public Thread2(Account account, double amount) {

super("取款线程B");

this.account = account;

this.amount = amount;

}

public void run() {

System.out.println(getName() + " 开始操作...");

account.qukuan(amount);

System.out.println(getName() + " 操作完成");

}

}

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 5:14:10

ModEngine2游戏模组开发:从零开始的5步实战指南

ModEngine2游戏模组开发&#xff1a;从零开始的5步实战指南 【免费下载链接】ModEngine2 Runtime injection library for modding Souls games. WIP 项目地址: https://gitcode.com/gh_mirrors/mo/ModEngine2 游戏模组开发是现代游戏社区中极具创造性的技术领域&#xf…

作者头像 李华
网站建设 2026/4/17 6:10:03

建议Java后端面试都准备到这种程度再去...

引言 无论是刚刚毕业的学生&#xff0c;还是刚刚工作一两年面试经验比较少的同学&#xff0c;往往会比较困惑该如何准备面试。面对至少三轮面试&#xff08;或更多轮&#xff09;大公司面试都有什么要求&#xff0c;我来分享一下我的经验。 给自己明确一个目标&#xff0c;把…

作者头像 李华
网站建设 2026/4/15 8:13:32

Open WebUI数据可视化终极指南:如何快速解锁AI交互数据洞察力

Open WebUI数据可视化终极指南&#xff1a;如何快速解锁AI交互数据洞察力 【免费下载链接】open-webui Open WebUI 是一个可扩展、功能丰富且用户友好的自托管 WebUI&#xff0c;设计用于完全离线操作&#xff0c;支持各种大型语言模型&#xff08;LLM&#xff09;运行器&#…

作者头像 李华
网站建设 2026/4/17 3:19:33

为什么90%的多模态Agent项目在Docker依赖上踩坑?真相来了

第一章&#xff1a;多模态 Agent 的 Docker 依赖管理在构建多模态 Agent 应用时&#xff0c;Docker 成为统一开发、测试与部署环境的关键工具。由于多模态系统通常融合文本、图像、音频等多种处理模块&#xff0c;其依赖项复杂且易冲突&#xff0c;因此精确的依赖管理至关重要。…

作者头像 李华
网站建设 2026/4/17 21:28:59

仅限内部使用:高可用系统中Agent健康上报机制的机密设计模式

第一章&#xff1a;Docker Compose 的 Agent 服务健康报告在现代微服务架构中&#xff0c;确保服务的持续可用性至关重要。Docker Compose 提供了内置的健康检查机制&#xff0c;可用于监控 Agent 服务的运行状态。通过定义 healthcheck 指令&#xff0c;可以定期执行命令以判断…

作者头像 李华