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/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

发表回复

登录后才能评论