Java线程编程题目,求高手解答...

假设某个银行,它可以接受顾客的汇款,每做一次汇款,便可以计算出汇款的总额。现在有两个顾客对同一个银行账号操作,一个顾客分3次,每次将100元钱存入,每次存入后将钱的总额输... 假设某个银行,它可以接受顾客的汇款,每做一次汇款,便可以计算出汇款的总额。现在有两个顾客对同一个银行账号操作,一个顾客分3次,每次将100元钱存入,每次存入后将钱的总额输出;另外一个顾客也分3次,每次取出100元钱,每次取出后将剩余的钱的总额输出。编写一个程序模拟实际的操作过程。 展开
 我来答
予恋寻十1K
2010-09-17 · TA获得超过941个赞
知道小有建树答主
回答量:977
采纳率:50%
帮助的人:844万
展开全部
这个是关于线程的锁定的,可以参考下以下代码:
package 线程的使用;
public class 汇款设计 {
public static void main(String[] args) {

C c1=new C();
C c2=new C();
c1.start();
c2.start();

}

}
class CB{
private static int s=0;
public static void add(int n){
String a="";
synchronized(a){
int t=s;
t+=n;
try {
Thread.sleep((int)(1000*Math.random()));
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
s=t;
System.out.println("当前汇款是:"+s);
}
}
}
class C extends Thread{
public void run(){
for(int i=1;i<=3;i++){
CB.add(100);
}
}
}
wa...g@163.com
推荐于2018-04-13 · TA获得超过226个赞
知道答主
回答量:174
采纳率:0%
帮助的人:192万
展开全部
/**
*大概模式就这样。可以套用线程的使用。
*/

package huikuan;

import java.util.Scanner;

public class HuiKuan {
public static void main(String[] args) {
String zhanghao = "123456";
long money = 0l;// 钱的总额
Scanner choose = new Scanner(System.in);
int i = 0;
while (true) {
System.out.println("1:汇款\n2:取钱");
i = choose.nextInt();
synchronized (money + "") {
switch (i) {
case 1:
System.out.println("汇款多少元:");
money += new Scanner(System.in).nextLong();
break;

case 2:
System.out.println("取款多少元:");
money -= new Scanner(System.in).nextLong();// 这里暂时不给你写是否钱数够取走。
break;
default:
System.out.println("ERROR~!");
}
System.out.println("钱的总额:" + money);
}
}
}
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式