
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 计算存款利息等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)