求助:JAVA编程:银行存取款多线程编程,即要实现线程同步

求助:JAVA编程:银行存取款多线程编程,即要实现线程同步,第1张

public class TestBank{

public static void main(String[] args){

String s1="saveBankMoney";

String s2="getBankMoney";

Bank bank=new Bank(s1,s2);

Thread save_Money;

Thread get_Money;

save_Money=new Thread(bank);

get_Money=new Thread(bank);

save_MoneysetName(s1);

get_MoneysetName(s2);

save_Moneystart();

get_Moneystart();//启动线程

}

}

class Bank implements Runnable{

public Bank(String s1,String s2){

thiss1=s1;

thiss2=s2;

}

public void run(){

saveBankMoney(11000);//存款额规定为11000

getBankMoney(5000);//取款5000

}

//同步方法,实现存款

public synchronized void saveBankMoney(double save_money){

if(ThreadcurrentThread()getName()equals(s1)){

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

if (save_money==11000){

thismoney+=save_money;

try{

Threadsleep(2000);//休眠

}

catch(InterruptedException ex ){

exprintStackTrace();

}

Systemoutprintln("我要存款:"+save_money);

Systemoutprintln("存款成功!帐号目前余额为:"+thismoney);

}

}

}

}

//同步方法,实现取款

public synchronized void getBankMoney(double get_money){

if(ThreadcurrentThread()getName()equals(s2)){

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

if(money>=get_money){

thismoney=thismoney-get_money;

try{

Threadsleep(2000);//休眠

}

catch(InterruptedException ex){

exprintStackTrace();

}

Systemoutprintln("我要取款:"+get_money);

Systemoutprintln("取款成功!帐号目前余额为:"+thismoney);

}

else{

Systemoutprintln("帐号余额不足!");

}

}

}

}

private double money=100000;//帐号初始额为10000

private String s1;

private String s2;

}

很明显你缺少main方法啊。java程序的主入口是main方法。

你应该在main里面写

public static void main(String args[]){

//请选择你需要的服务

1 查询

2 存款

3 取款

//根据选择的服务调用你的方法

}

调用你的业务方法

money(1+rate)^year - money

是money (1+rate)^year - money,和普通的数学顺序一样,先计算级别高的,括号内的1+rate、再乘方year、再乘 money,最后减money。

转成java的计算式,也是按顺序的,乘方的地方就是按JAVA的函数pow的要求,写进参数。

moneyMathpow((1+rate),year)-money;

import javautil;

public class Test2 {

public static void main(String[] args) {

Scanner scan=new Scanner(Systemin);

Systemoutprintln("输入本金");

int a=scannextInt();//输入本金

double firstInterest=00225a1;

double secondInterest=0027a2;

double thirdInterest=00324a3;

double fifthInterest=0036a5;

Systemoutprintln("一年的利息"+firstInterest);

Systemoutprintln("两年的利息"+secondInterest);

Systemoutprintln("三年的利息"+thirdInterest);

Systemoutprintln("五年的利息"+fifthInterest);

}

}

以上就是关于求助:JAVA编程:银行存取款多线程编程,即要实现线程同步全部的内容,包括:求助:JAVA编程:银行存取款多线程编程,即要实现线程同步、用JAVA语言编写程序,模拟银行账户功能。要有: 属性:账号、储户姓名、地址、存款余额、最小余额。 方法、java 计算存款利息等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zz/9691885.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存