java面向对象11综合练习 账户建立和操作

【Java实战】面向对象编程实践:银行账户与学生成绩管理 集合的应用综合练习 按数学/物理成绩之和从高到低的顺序输出所有学生信息,每个学生信息的输出格式:学号+英文空格+姓名+英文空格+数学/物理成绩之和。(5)一个withdraw()方法:带一个amount参数,表示从账户余额中提取amount指定的款额,并返回账户余额;输入多个学生的成绩信息,每个学生的成绩信息格式:学号+英文空格+姓名+英文空格+数学成绩+英文空格+物理成绩。依次输出初始账户余额、提取amount额度后的账户余额、存入amount后的账户余额。(3)一个带一个参数的构造方法,将账户余额初始化为输入的参数。 阅读详情

建立账户类,封装属性:ID,余额,利率
提供相应接口,提供存取款方法,加入判断限制

package bank;

public class Account{
 private int id;
 private double balance;
 private double annualInterestRate;
 public Account() {
	 
 }
 public Account(double balance) {
	 
 }
 public Account(int id,double balance,double annualInterestRate) {
	 this.id = id;
	 this.balance = balance;
	 this.annualInterestRate = annualInterestRate;
 }

public int getId() {
	return id;
}

public void setId(int id) {
	this.id = id;
}

public double getBalance() {
	return balance;
}

public void setBalance(double balance) {
	this.balance = balance;
}

public double getAnnualInterestRate() {
	return annualInterestRate;
}

public void setAnnualInterestRate(double annualInterestRate) {
	this.annualInterestRate = annualInterestRate;
}
 public void withdraw(double amount) {
	 if(amount <= this.balance){
	 this.balance -= amount;
	 System.out.println("成功取出" + amount);
	 }else {
		 System.out.println("余额不足,取款失败");
	 }
 }
 public void deposit(double amount) {
	 if(amount > 0) {
	 this.balance += amount;
	 System.out.println("成功存入" + amount);
	 
	 }
 }
 
}

建立客户资料类,封装属性:姓名,账户,提供相应接口。
提供输出客户信息的方法

package bank;

public class Customer {
     private String firstName;
     private String lastName;
     private Account acc;
     
     public Customer() {
    	 
     }
     public Customer(String firstName,String lastName) {
    	 this.firstName = firstName;
    	 this.lastName  = lastName;
     }
	public String getFirstName() {
		return firstName;
	}
	public void setFirstName(String firstName) {
		this.firstName = firstName;
	}
	public String getLastName() {
		return lastName;
	}
	public void setLastName(String lastName) {
		this.lastName = lastName;
	}
	public Account getAccount() {
		return acc;
	}
	public void setAccount(Account acc) {
		this.acc = acc;
	}
    public void getInfo() {
    	System.out.println("客户" + getFirstName() + " " + getLastName()
	 + "的余额是:" + getAccount().getBalance() + ",年利率为:" + getAccount().getAnnualInterestRate() + "%。");
    } 
     
}

建立银行类,封装属性:客户数组,账户数组,客户数量
提供增加客户的方法,输出客户数量的方法,调取客户对象的方法

package bank;

public class Bank {
 private Customer[] customers;
 private int numberOfCustomer;
 private Account[] acc;
 public Bank() {
	 
 }
 public void addCustomer(String firstName,String lastName) {
	 numberOfCustomer++;//客户数量加1
	 if(numberOfCustomer <= 9999) {
	 Customer[] customers1 = new Customer[numberOfCustomer];//创建新客户数组
	 Account[] acc1 = new Account[numberOfCustomer];//创建新账户数组
	 customers1[numberOfCustomer - 1] = new Customer();
	 acc1[numberOfCustomer - 1] = new Account();
	 customers1[numberOfCustomer - 1].setAccount(acc1[numberOfCustomer - 1]);//新客户关联新账户	 
	 customers1[numberOfCustomer - 1].setFirstName(firstName);
	 customers1[numberOfCustomer - 1].setLastName(lastName);
	 for (int i = 0; i < acc1.length - 1; i++) {
		acc1[i] = acc[i];
	}
	 acc = acc1;//更新客户数组
	 for (int i = 0; i < customers1.length - 1; i++) {
		customers1[i] = customers[i];
	}
	 customers = customers1;//更新账户数组
	 }else {
		 System.out.println("客户容量超出上限9999");
		 return;
	 }
 }
 public int getNumberOfCustomer() {
	 
	 return numberOfCustomer;
 }
 public Customer getCustomer(int index) {
	 if(index >= 0 && index < numberOfCustomer) {	 
	 return this.customers[index];
	 }else {
		 System.out.println("客户ID异常,重新输入");
		 return null;
	 }
 } 
}

建立测试类,测试功能

package bank;

public class Test {
public static void main(String[] args) {
	Customer c = new Customer("jack","Li");
	Account acc = new Account(101, 2000, 3.47);
	c.setAccount(acc);
	c.getAccount().deposit(100);
	c.getAccount().withdraw(1980);
	c.getAccount().withdraw(200);
	System.out.println("客户" + c.getFirstName() + " " + c.getLastName()
	 + "的余额是:" + c.getAccount().getBalance() + ",年利率为:" + c.getAccount().getAnnualInterestRate() + "%。");
    Bank b = new Bank();
    b.addCustomer("A", "Li");
    b.getCustomer(0).getAccount().setBalance(1000);
    b.getCustomer(0).getAccount().setAnnualInterestRate(3.34);
    b.getCustomer(0).getInfo();
    System.out.println(b.getNumberOfCustomer());
    b.addCustomer("B", "Li");
    b.getCustomer(1).getAccount().setBalance(2000);
    b.getCustomer(1).getAccount().setAnnualInterestRate(3.34);
    b.getCustomer(0).getInfo();
    b.getCustomer(1).getInfo();
    System.out.println(b.getNumberOfCustomer());
    b.addCustomer("C", "Li");
    b.getCustomer(2).getAccount().setBalance(3000);
    b.getCustomer(2).getAccount().setAnnualInterestRate(3.34);
    b.addCustomer("D", "Li");
    b.getCustomer(3).getAccount().setBalance(5000);
    b.getCustomer(3).getAccount().withdraw(1000);
    b.getCustomer(3).getAccount().setAnnualInterestRate(3.34);
    for (int i = 0; i < b.getNumberOfCustomer(); i++) {
		b.getCustomer(i).getInfo();
	}
}
}
Java设计一个银行账户管理系统 🏆本文收录于「编程与技术实战」专栏,此专栏涵盖了C/C++编程、人工智能、数据结构、机器学习等技术领域的内容,助你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!! 阅读详情

相关推荐

8. 综合案例-ATM系统 (1~7节知识综合练习)

ATM系统_综合大练习 老师说的好, 键盘敲烂, 奇迹自现. 今天的任务是对之前所有的学习的知识, 进行一个综合性的大练习. 这个项目我写了大量的注释给大家参考, 如果有同学是跟着我的系列学习的, 一定动手练一练. 下面的代码只要按着敲是可以直接运行起来的, 我也把完整代码上传到了优快云上面, 并已经绑定在这篇博客上, 在由于优快云的设定, 只有电脑页面才能显示出来.```**

LXHYouth的博客 1637

Java实验三 面向对象:编写一个类,实现银行账户,并完成程序的测试。

实验要求: (1)设置的属性有“账号”、 “储户姓名”、“地址”以及“存款余额”; (2)设置的方法有“存款”、“取款”、“查询”、“计算利息”、“累加利息”; (3)给类增加一个静态属性“最小余额”和一个用来修改这个最小余额属性的方法; (4)给类增加一个静态属性“活期利息”和封装这个数据的对应方法; BankDemo: 运行显示:......

qq_53130059的博客 3146

Java面向对象编程经典实例-银行账户

Java面向对象编程经典实例-银行账户 Eclipse下的一个完整的工程

【面向对象程序设计】账户类(Java、JavaFX)

目录版本1:设计Account1类,包含:设计测试类ATMMachine1:版本2:扩展Account1类为Account2类: 设计测试类ATMMachine2,其主菜单如下:版本3:uml啥的找不到了,太久远了,有什么不懂得评论或者私聊问我吧。■ 一个名为id 的int 类型的私有数据域(默认值为0),长度为6位。■ 一个名为balance的double类型的私有数据域(默认值为0)。■ 一个名为annualInterestRate 的double类型的私有数据域存储当前利率(默认值为0)。假设所有的账

m0_67463447的博客 3285

Java银行类的实现和面向对象编程的分析

Java银行类的实现和面向对象编程的分析

Java编写一个账户的类

编写一个名为Account(帐户)的类。该类包括的数据成员有账号、余额和用户名。该类包括两个构造方法:一个是无参的构造方法,构造一个默认帐户;另一个是三个参数的构造方法,构造一个指定帐号、用户名和余额的帐户。该类包括5个方法,功能分别为:返回账号;返回用户名;返回余额;取款;存款。

使用Java编写银行账户类(面向对象思考实验)

银行账户类(Accoount)可以为账户存储交易。取款和存款都会产生交易信息。需要记录账户每次交易(Transaction)的信息,包括取钱还是存钱,交易的金额,交易时间和交易之后的余额。系统可以通过账户查询所有的交易次数(最多10次)。 问题一:为了实现此功能需要设计几个类? 答:两个类,Account类和Transaction类。 问题二:请写出你的设计的类的代码(先画UML图在展示代码)。 UML图: Account类: Transaction类: 注意: 两者之间为单项关联 代码如下: Acco

qq_51868285的博客 5634

实施文档

流程管理 2008-04-23 09:44:00 874 收藏 3 分类专栏: 企业管理杂谈 文章标签: 文档 文档管理 项目管理 工作 配置管理 工具 项目实施文档是用来记录、描述、展示实施过程中一系列信息的处理过程,通过书面或图示的形式对项目活动过程或结果进行描述、定义、规定及报告。例如分阶段实施计划文档,标准业务流程文档,标准编码及数据文档,标准参数设置文档,功能操作指南文档。这些文档将会伴随着ERP实施的各个阶段逐渐充实、完善,也同时记载了整个实施的过程和成果。 作为实施顾问人员,在实施过程

qq_52337172的博客 1061

Java类的使用,以创建一个银行账户为例,包括类、对象、方法等的简单应用。

题目:编写一个帐户类实现银行帐户的概念,创建帐户类的对象,完成存款与取款等操作(要注意取款额不能大于账户内存款数额),目的是熟悉面向对象基本概念,类的声明,对象的创建,类成员的使用。 public class Bank_account { public static void main(String[]args) { java.util.Scanner s=new java.util.Scanner(System.in); System.out.println("请选择您要办理的业务:");

weixin_45930321的博客 3843

常见的AXI总线仲裁器概述-AXI协议理解(一)

SoC 设计广泛采用共享总线式的片上通信,其中的仲裁器是共享总线的关键技术之一。AMBA AXI 总线协议以高性能、高频率的系统设计为目标,适合高带宽、低延迟的系统设计,可以达到高频率的操作而不需要复杂的总线桥,满足众多部件的接口要求,具备高度灵活的互联结构,并且向后兼容 AHB 和 APB 接口。

Paul 安的博客 1万+

网页内容抓取的艺术:使用R语言解析动态网页

本文探讨了使用R语言处理动态网页数据的方法。针对AJAX加载的学术网站,传统的静态抓取和RSelenium方法存在会话终止、浏览器错误等问题。通过分析发现内容通过admin-ajax.php加载,提出使用httr2模拟POST请求获取数据,配合rvest解析HTML内容。该方法避免了浏览器自动化的弊端,实现了高效稳定的动态内容提取,为处理类似AJAX网站提供了通用解决方案。

m0_74337424的博客 52

【JavaSE练习】面向对象_模拟银行账户

import java.util.Scanner; /* * 编写程序,模拟银行账户功能。要求如下: * 属性:账号、储户姓名、地址、存款余额、最小余额 * 方法:存款、取款、查询。根据用户操作显示储户相关信息 * 如:存款操作后,显示储户原有余额、今日存款数额及最终存款余额 * 取款时,若最后余额小于最小余额,拒绝收款,并显示“至少保留余额XXX” */ //账户类 class

love__nana 1万+

【人工智能论文发表】基于医学病例文本和多模态大模型的医疗影像分割方法研究

摘要:本研究提出MMS-Former,一种基于级联多模态Transformer的文本引导医学图像分割框架。该模型创新性地将临床文本信息深度融入图像分割全过程,通过SwinUNETR提取视觉特征,ClinicalBERT编码病历文本,并在解码器的每个上采样阶段通过交叉注意力模块实现多级文本特征融合。实验表明,相比纯视觉模型,MMS-Former在Dice系数和IoU指标上分别提升3%以上,在处理边界模糊目标时表现尤为突出。模型还设计了结合Dice损失和图文对比损失的复合目标函数,确保分割精度与语义对齐。代码实

u012133341的博客 139

java模拟简单的银行账户,可用于存取款,查询业务操作

** java模拟简单的银行账户,可用于存取款,查询业务操作 ** 本篇的内容关于:创建一个银行账户Account类,实现存款(deposit)、取(withDraw)和查询账户(infor)等功能,然后基于该类创建对象,模拟存取款和查询的基本操作。 ** **首先创建一个银行账户类 在这里插入代码片 全新的界面设计 ,将会带来全新的写作体验; 在创作中心设置你喜爱的代码高亮样式,Markdow...

qq_46394487的博客 1万+

LLM的MCP协议:初识MCP,搭建第一个MCP Server

MCP(Model Context Protocol),是一个开发的协议,标准化了应用程序如何为大模型提供上下文。MCP提供了一个标准的为LLM提供数据、工具的方式,使用MCP会更容易的构建Agent或者是基于LLM的复杂工作流。

Criss@陈磊 2万+

【ComfyUI】Wan2.2 + IndexTTS 图像数字人或动物口播视频生成

本文介绍了一个基于ComfyUI的数字人口播视频生成工作流,整合了IndexTTS和图像处理技术。该系统通过多模型协同工作,实现从形象图、文本和音频输入到自动生成口播视频的全流程。核心包含WanVideo系列模型,通过CLIP Vision、T5文本编码器和Wav2Vec语音模型分别处理视觉特征、语义理解和口型同步。工作流涵盖素材加载、特征提取、音频处理和视频生成等节点,支持人物、动物等多种主体的口播内容创作。该方案自动化程度高,适用于知识讲解、剧情旁白等多种场景,能帮助创作者高效产出高质量口播视频。

Mr数据杨 2045

Java项目:个人银行账户管理系统课程设计报告

个人银行账户管理系统课程设计报告 一、课程设计要求与目的 模仿个人银行账户管理系统的C++版本(第4章-第9章),使用Java语言重新实现该系统,比较C++与Java在实现上的异同,熟练掌握Java基础及语法。 根据业务需求的增加,对个人银行账户管理系统进行功能上的完善,利用面向对象的思想对代码进行重构,体会抽象、封装、继承、多态等特性在实际系统中的应用,掌握构造可复用、可扩展、可维护软件的基本技能。 二、课程设计版本记录 1. 个人银行账户管理系统版本0.1(对应第4章记录) 1.1 系统需

Xu__Y的博客 9979

【TIDB】TiDB认证考试PTCA 练习题 题库

TiDB认证考试PTCA 练习题 题库

DBA之路的博客 4718

模块五 扩展练习1、创建客户的账户数组,实现客户与账户的多重关系

扩展练习1、创建客户的账户数组,实现客户与账户的多重关系 实训目的: instanceof运算符的应用 提示: 修改Customer类 1.修改Customer类来处理具有多种类型的联合账户。 (例如用数组表示多重性一节所作的,该类必须包括以下的公有方法:addAccount(Account),getAccount(int)和getNumOfAccounts()。每个Customer可以有多个Account。(声明至少有5个) 2.完成TestBanking程序 该程序创建一个客户和账户的集合,并生成这些

Seventeen ten的博客 1917

基于射频技术的校园无人超市管理系统_360

本设计实现了一种基于射频技术的校园无人超市管理系统,系统集成了环境监测与商品管理两大核心模块。在环境监测部分,采用DHT11温湿度传感器与MQ2烟雾传感器对超市内部环境进行实时监测,结合温控与报警机制,实现自动通风与烟雾报警功能,并通过1.44寸SPI LCD显示屏进行本地信息显示。商品管理部分基于RC522-RFID读卡器完成商品识别,结合Qt上位机软件实现顾客自助选购与结算,同时支持管理员进行商品入库与会员卡管理等操作。系统采用STM32F103RCT6为主控核心,结合串口通信方式与Qt开发的上位机进行

373

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Java面向对象程序设计实验报告(实验三 继承的练习)

Java面向对象程序设计实验报告(实验三 继承的练习)

VLOKL的博客 2936

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Java面向对象编程项目练习

添加、删除、修改、查询学生信息按照不同条件(姓名、学号、成绩等)排序学生数据持久化(文件IO)图书和用户管理借阅和归还功能搜索和过滤功能数据持久化不同类型账户(储蓄账户、信用账户)存款、取款、转账功能交易记录和余额查询异常处理。

weixin_74748597的博客 996

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

类的继承,重写和Super练习: Account 的类模拟账户,Account 类的一个子类 CheckAccount 代表可透支的账户

**1、写一个名为 Account 的类模拟账户。**该类的属性和方法如下图所示。该类包括的属性: 账号 id,余额 balance,年利率 annualInterestRate;包含的方法:访问器方法(getter 和 setter 方法),返回月利率的方法 getMonthlyInterest(),取款方法 withdraw(),存款方法 deposit()。 Account private int id private double balance private double annualInter

YingxueSec 1953

java第三十课 —— 面向对象练习题

定义一个 Person 类 {name, age, job},初始化 Person 对象数组,有 3 个 person 对象,并按照 age 从大到小进行排序,提示,使用冒泡排序。

Liuxu 的博客 1330

java银行账户类_使用Java编写银行账户类(面向对象思考实验)

银行账户类(Accoount)可以为账户存储交易。取款和存款都会产生交易信息。需要记录账户每次交易(Transaction)的信息,包括取钱还是存钱,交易的金额,交易时间和交易之后的余额。系统可以通过账户查询所有的交易次数(最多10次)。问题一:为了实现此功能需要设计几个类?答:两个类,Account类和Transaction类。问题二:请写出你的设计的类的代码(先画UML图在展示代码)。UML图...

weixin_36203080的博客 4081

Java基础知识综合练习_简单的银行账户操作系统(登录、注册、存取款、查看信息)...

使用java实现一个简单的银行账户类, 其中包括: 账户信息: 账号、 姓名、 开户时间、 身份证号码、 账户上的金额 等成员。有: 存款方法、 取款方法、 显示开户时间的方法、 获得账上的金额的方法 等。 并编写测试类。 账户类: 1 import java.util.ArrayList; 2 3 public class TestD...

weixin_30746117的博客 584
上一篇: java面向对象练习10 this关键字
下一篇: java基础项目练习二-客户信息管理程序,实现基本的增删改查
wisdomcodeinside
博客等级 码龄7年 29粉丝 51原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值