package com.lw.thread
/*
银行账户类Account(不能透支),
包含账号id(10~16位数字),密码password(6位数字),户主姓名name,余额balence
*/
public class Account {
private String id
private int password
private String name
private double balence
public String getId() {
return id
}
public void setId(String id) {
this.id = id
}
public int getPassword() {
return password
}
public void setPassword(int password) {
this.password = password
}
public String getName() {
return name
}
public void setName(String name) {
this.name = name
}
public double getBalence() {
return balence
}
public void setBalence(double balence) {
this.balence = balence
}
/*
* 默认构造账户信息为:1111111111111111,666666,钱三多,888888.88。
*/
public Account() {
super()
this.id = "1111111111111111"
this.password = 666666
this.name = "钱三多"
this.balence = 888888.88
}
/*
* 另一个构造方法带4个参数分别初始化4个属性(带数据有效性验证)。
*/
public Account(String id, int password, String name, double balence) {
this.id = id
this.password = password
this.name = name
this.balence = balence
}
/*
* 查询余额
*/
public static double selectMoney(Account account) {
return account.getBalence()
}
/*
* 存钱
*/
public static String setMoney(Account account, double balence) {
if (balence <0) {
return "存钱失败,请正确放入!"
}
double d = balence + account.getBalence()
account.setBalence(d)
return "您存入了" + balence + "元,现账户余额为+" + d
}
/*
* 取钱
*/
public static String getMoney(Account account, double balence) {
double d = account.getBalence()
if (balence >d) {
return "您的余额不足!"
}
account.setBalence(d - balence)
return "您取出了" + balence + "元,现账户余额为+" + account.getBalence()
}
}
AccountTest.java class BankAccount //定义银行账户类BankAccount{private static int amount =2000 //账户余额最初为2000public void despoit(int m) //定义存款的方法{amount=amount+mSystem.out.println("晓明存入["+m+"元]")}public void withdraw(int m) //定义取款的方法{amount=amount-mSystem.out.println("张新取走["+m+"元]")if(amount<0)System.out.println("***余额不足!***);public int balance() //定义得到账户余额的方法{return amount}}classicCustomerextendsThread {String nameBankAccount bs //定义一个具体的账户对象public Customer(BankAccount b,String s){name=sbs=b}public static void cus(String name,BankAccount bs) //具体的账户操作方法{if(name.equals("小明")) //判断用户是不是小明{try{for(int i=0i<6i++) //用户晓明则向银行存款6次,每次1000元 {Thread.currentThread().sleep((int)(Math.random()*300))bs.despoit(1000)}}catch(InterruptedException e){}}else{try{for(int i=0i<6i++) //用户不是小明则从银行取款6次,每次1000元{Thread.currentThread().sleep((int)(Math.random()*300))bs.withdraw(1000) }}catch(InterruptedException e){} }}public void run() //定义run方法}cus(name,bs) }}public classAccountTest{public static void main(String [] args) throws InterruptedException{BankAccount bs=new BankAccount()Customer customer1=new Customer(bs,"小明")Customer customer2=new Customer(bs,"张新")Thread t1=new Thread(customer1)Thread t2=new Thread(customer2)t1.Start();t2.start()Thread.currentThread().sleep(500)}}我也刚开始学,这是我自己写的import java.util.Scanner
/**
* 实现取款机功能,存款balance、存钱deposit、取withdraw、查询getbalan
*
*/
public class Account {
public static void main(String[] args) {
double balance = 0
double deposit = 0
double withdraw = 0
for () {
System.out.println("请输入数字:\t1.存钱 \t2.取钱\t3.查询余额\n")
Scanner input = new Scanner(System.in)
String num = input.next()
double s1 = 0, s2= 0
if (num.equals("1")) {
System.out.println("输入存入金额:")
deposit = input.nextDouble()
System.out.println("存钱数目为:" + deposit)
s1 += deposit
}
if (num.equals("2")) {
System.out.println("输入取钱金额:")
withdraw = input.nextDouble()
System.out.println("取走金额为:" + withdraw)
s2 += withdraw
}
if (true | num.equals("3")) {
balance += s1 - s2
System.out.println("账户余额为:" + balance)
}
}
}
}