本文目錄一覽:
- 1、使用JAVA編寫一個簡單的銀行存取款程序
- 2、Java編程題 假設一個簡單的在ATM取款的過程,首先提示輸入密碼,最多輸入3次,超過3次,提
- 3、JAVA編寫銀行賬戶程序摸擬銀行賬戶的存\取款操作
使用JAVA編寫一個簡單的銀行存取款程序
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();
}
}
Java編程題 假設一個簡單的在ATM取款的過程,首先提示輸入密碼,最多輸入3次,超過3次,提
public class problems_15days_bank {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
for(int i=1;i=3;i++){
//System.out.println(i);
System.out.println(“請您輸入密碼”);
int password=input.nextInt();
if(password==111111){
boolean flag=true;
do{
flag=false;
System.out.println(“請輸入金額”);
int rmb=input.nextInt();
if(rmb0rmb=1000){
switch(rmb%100){
case 0:
System.out.println(“您取的金額=”+rmb);
System.out.println(“交易完成 請取卡”);
break;
default:
flag=true;
break;
}}
} while(flag);
return;
}
}
System.out.println(“密碼錯誤 請取卡”);
}
}
JAVA編寫銀行賬戶程序摸擬銀行賬戶的存\取款操作
public class ATM {
public static void main(String[] args) {
// 開立帳號
Account account = new Account();
// 在 account 中存 10,000 元
account.setBalance(10000);
// 檢查 account 中的存款
System.out.println(“帳戶原始金額 : ” + account.getBalance() + ” 元”);
// 小明, 小華與小英一起對 account 進行提款的動作
WithDraw s1 = new WithDraw(“小明”, account, 5000); // 小明 在 account 中提 5000 元
WithDraw s2 = new WithDraw(“小華”, account, 2000); // 小華 在 account 中提 2000 元
WithDraw s3 = new WithDraw(“小英”, account, 4000); // 小英 在 account 中提 4000 元
s1.start();
s2.start();
s3.start();
}
}
//帳戶
class Account {
private int balance; // 帳戶餘額
public int getBalance() { // 取得帳戶餘額
return balance;
}
public void setBalance(int money) { // 設定帳戶餘額
balance = money;
}
// 提款方法
public void withDraw(Account account, int withdrawMoney) {
String tName = Thread.currentThread().getName(); // tName=提款人
System.out.println(tName + ” 開始提款 … “);
boolean withDrawStatus; // 提款狀態 說明:false=提款失敗, true=提款成功
synchronized(ATM.class) {
int tmpBalabce = account.getBalance(); // 取得最新帳戶餘額
//用 for-loop 模擬提款時系統所花的時間
for(double delay=0;delay99999999;delay++) {
// … 提款進行中 …
}
tmpBalabce = tmpBalabce – withdrawMoney; // 最新帳戶餘額 – 欲提款金額 (用來判斷是否餘額足夠的依據)
if (tmpBalabce 0) { // 判斷是否餘額足夠
withDrawStatus = false;
System.out.println(“………………..”);
System.out.println(” 帳戶餘額不足!”);
System.out.println(“………………..”);
} else {
withDrawStatus = true;
account.setBalance(tmpBalabce); // 回存account最後剩餘金額
}
}
System.out.println(tName + “的交易單:”);
System.out.println(“\t欲提款金額:” + withdrawMoney + “元”);
System.out.println(“\t帳戶餘額:” + account.getBalance());
if(withDrawStatus == true){
System.out.println(tName + ” 完成提款 … “);
} else {
System.out.println(tName + ” 提款失敗 … “);
}
System.out.println(“——————————-“);
}
}
// 提款類別
class WithDraw extends Thread {
private Account account; // 帳號
private int withdrawMoney; // 欲提款的金額
// tName:執行緒名稱, account:Account物件名稱, withdrawMoney:欲提款金額
public WithDraw(String tName, Account account, int withdrawMoney) {
setName(tName);
this.account = account;
this.withdrawMoney= withdrawMoney;
}
public void run() {
// 執行提款動作(account:帳號, withdrawMoney 欲提款金額)
account.withDraw(account, withdrawMoney); // 執行提款動作
}
}
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/183971.html