java賬戶取款作業,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-hant/n/183971.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-11-25 05:49
下一篇 2024-11-25 05:49

相關推薦

  • 小甲魚Python最新版課後作業及答案

    Python編程語言已經成為最受歡迎的計算機編程語言之一。而小甲魚的Python教程已經深受廣大編程學習者的青睞,其中課後作業及答案是學習過程中的必要部分。下面我們從幾個方面具體闡…

    編程 2025-04-29
  • 小甲魚Python課後作業及答案百度雲

    小甲魚課程是一門 Python 開發的視頻課程,自 2008 年以來一直廣受歡迎。本文主要介紹小甲魚 Python 課後作業及答案所在的百度雲地址。以下是詳細內容: 一、百度雲地址…

    編程 2025-04-27
  • 信用卡業務風險分析

    信用卡業務風險分析是指通過對銀行信用卡業務中的各類交易信息進行收集、整理、分析,發現各種風險因素,及時預警,有效防範和控制各類風險。 一、數據收集和預處理 數據收集是信用卡業務風險…

    編程 2025-04-27
  • Python開發基礎戴歆作業答案解析

    本文將從基礎語法、函數方法、常用模塊三個方面對Python開發基礎戴歆作業答案進行詳細的解析與闡述。 一、基礎語法 Python的基礎語法相對簡單易懂,但也有一些需要特別注意的地方…

    編程 2025-04-27
  • Python第一章作業中級用法介紹

    本文將從語言基礎、數據類型、控制語句、函數和模塊等多個方面詳細闡述Python第一章作業中級。 一、語言基礎 Python是解釋型語言,不需要編譯,在寫代碼的時候不需要定義數據類型…

    編程 2025-04-27
  • 谷歌兩步驗證:你的賬戶安全護盾

    在現代網絡時代,網絡犯罪已經成為了一種全球性的威脅,為了保護自己的賬戶不被黑客攻擊,谷歌提供了一種雙重身份驗證系統——兩步驗證(Two-step verification)。 一、…

    編程 2025-04-22
  • Service:服務於業務的中心

    一、Service的定義 Service是指Java技術及相關框架中的一個重要概念,它是一種Java類,主要用於處理業務邏輯、數據操作等任務。Service是以業務為中心的邏輯單元…

    編程 2025-04-20
  • 阿里雲擴容:容量升級,業務流暢

    阿里雲作為雲計算服務的領軍企業,在保障企業信息安全、業務持續發展等方面有着卓越表現。然而,對於資料龐大、網站流量高峰的企業而言,原有的存儲空間或計算資源或許已經無法勝任。因此,為了…

    編程 2025-04-20
  • 業務用例圖詳解

    一、什麼是業務用例圖 業務用例圖(Business Use Case Diagram)是一種UML(Unified Modeling Language)用於描述系統的業務功能以及與…

    編程 2025-04-13
  • 美賽memo:一個實現作業幫助以及組隊交流的應用

    一、美賽memo的基本功能 美賽memo是一個基於Python的web應用程序,主要用於美國數學建模競賽中各題目的研究、研討,以及題目答疑、組隊交流等功能。美賽memo包含以下基本…

    編程 2025-04-12

發表回復

登錄後才能評論