【Java每日一题】— —第三十一题:银行账号管理程序设计(2023.10.15)

news2025/1/25 8:56:19

🎃个人专栏:

🐬 算法设计与分析:算法设计与分析_IT闫的博客-CSDN博客

🐳Java基础:Java基础_IT闫的博客-CSDN博客

🐋c语言:c语言_IT闫的博客-CSDN博客

🐟MySQL:数据结构_IT闫的博客-CSDN博客

🐠数据结构:​​​​​​数据结构_IT闫的博客-CSDN博客

💎C++:C++_IT闫的博客-CSDN博客

🥽C51单片机:C51单片机(STC89C516)_IT闫的博客-CSDN博客

💻基于HTML5的网页设计及应用:基于HTML5的网页设计及应用_IT闫的博客-CSDN博客​​​​​​

🥏python:python_IT闫的博客-CSDN博客

欢迎收看,希望对大家有用!

目录

🎯问题:

🎯 答案:

💛废话文学:Java的优势:



🎯问题:

(1)需求分析:

                         (a)银行账户类,包括属性:银行名称(静态)、账户名称、账户密码、账户余额;包括行为:欢迎方法(静态)、欢送方法(静态)、存钱方法、取钱方法。

(2)设计步骤:

                         (a)银行账户类Account,定义成员变量:公有的静态变量银行名称(String bankName),账户余额(double  balance)、账户名称(String accountName)、账户密码(String accountPass),定义账户余额(double  balance)、账户名称(String accountName)、账户密码(String accountPass)对应的getXxx()/setXxx()方法,定义无参构造方法和带3个参数的构造方法Account(double balance, String accountName, String accountPass);

                         (b)在Account类中定义公有的静态方法welcome(),显示欢迎信息,定义公有的静态方法sayBye(),显示欢送信息;

                         (c)在Account类中定义boolean deposit(String accountName, String accountPass, double money)方法,用于存款,具体为:验证账号和密码,如果账号和密码都正确,则继续判断存款数money是否大于0,若是,则将money加入到账户余额(double  balance),并显示存入money信息和账户余额balance信息,返回true;如果存款数money大于0不成立,则提示输入存款金额错误信息,返回false;如果账号或密码不正确,显示错误信息,并返回false;

                         (d)在Account类中定义boolean withdraw(String accountName, String accountPass, double money)方法,用于取款,具体为:验证账号和密码,如果账号和密码都正确,则继续判断取款数money是否小于账户余额balance,若是,则从账户余额(double  balance)减掉取款数money,并显示取款money信息和账户余额balance信息,返回true;如果存款数money小于账户余额balance不成立,则提示输入取款金额错误信息,返回false;如果账号或密码不正确,显示错误信息,并返回false;

                         (e)定义一个测试类Test03测试功能,具体如下:使用Account类调用公有的静态变量bankName赋值银行名称,使用Account类调用静态方法welcome()显示欢迎信息,调用Account类的带参构造方法创建银行账户对象account,银行账户对象account调用deposit ()方法向银行账户存款,银行账户对象account调用withdraw ()方法从银行账户取款,最后使用Account类调用静态方法sayBye()显示欢送信息。测试结果如下:


🎯 代码:

public class Account {
private String bankName;
private static double  balance;
private String accountName;
private String accountPass;
public double getBalance() {
	return balance;
}
public void setBalance(double balance) {
	Account.balance = balance;
}
public String getAccountName() {
	return accountName;
}
public void setAccountName(String accountName) {
	this.accountName = accountName;
}
public String getAccountPass() {
	return accountPass;
}
public void setAccountPass(String accountPass) {
	this.accountPass = accountPass;
}
public Account() {
	super();
}
public Account(double balance, String accountName, String accountPass) {
	super();
	Account.balance = balance;
	this.accountName = accountName;
	this.accountPass = accountPass;
}
public void welcome() {
	System.out.println("欢迎光临");
}
public void sayBye(){
	System.out.println("再见");
}
public boolean deposit(String accountName, String accountPass, double money) {
	if(this.accountName.equals(accountName)&&this.accountPass.equals(accountPass)) {
		if(money>0) {
			System.out.println(accountName+"存入"+money+"元");
			balance+=money;
			System.out.println("目前的金额为:"+balance+"元");
			return true; 
		}
		else {
			System.out.println("输入错误");
			return false;
		}
	}
	System.out.println("账号或密码错误");
		return false;
}
public boolean withdraw(String accountName, String accountPass, double money) {
	if(this.accountName.equals(accountName)&&this.accountPass.equals(accountPass)) {
		if(money<balance) {
			System.out.println(accountName+"取出"+money+"元");
			balance=balance-money;
			System.out.println("目前的金额为:"+balance+"元");
			return true; 
		}
		else {
			System.out.println("输入错误或余额不足");
			return false;
		}
	}
	System.out.println("账号或密码错误");
	return false;
}
public static void main(String[] args) {
	Account a1=new Account(1000.0, "蔡旭坤", "123456");
	a1.bankName="潮商银行";
	a1.welcome();
	a1.deposit("蔡旭坤", "123456", 155.0);
	a1.withdraw("蔡旭坤", "123456", 123.0);
	a1.sayBye();
}
}

 

💛废话文学:
Java的优势:


跨平台性: Java是一种跨平台的编程语言,即一次编写,到处运行。Java程序在不同的操作系统上具有很高的移植性,这使得开发人员能够通过Java开发应用程序,无需担心底层操作系统的差异。

面向对象: Java是一种面向对象的编程语言,支持封装、继承和多态等面向对象的特性。这种编程范式使得代码可以更加模块化、可重用,并且有助于提高代码的可维护性和可扩展性。

强大的生态系统: Java拥有丰富的标准库和第三方库,提供了各种功能强大的工具和框架,如Spring、Hibernate和JUnit等。这些工具和框架使得Java开发人员能够更加高效地开发应用程序,并提供了解决特定问题的解决方案。

多线程支持: Java内置了对多线程编程的支持,使得开发人员可以轻松地创建并发应用程序。多线程编程可以有效地利用多核处理器的性能,并提高程序的响应速度和吞吐量。

安全性: Java拥有严格的安全机制,包括字节码验证、安全管理器和安全沙箱等,可以防止恶意代码对系统的破坏。这使得Java成为开发安全性要求较高的应用程序的理想选择。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1094394.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Elasticsearch系列组件:Kibana无缝集成的数据可视化和探索平台

Elasticsearch 是一个开源的、基于 Lucene 的分布式搜索和分析引擎&#xff0c;设计用于云计算环境中&#xff0c;能够实现实时的、可扩展的搜索、分析和探索全文和结构化数据。它具有高度的可扩展性&#xff0c;可以在短时间内搜索和分析大量数据。 Elasticsearch 不仅仅是一个…

Java课程设计——图书管理系统

文章目录 一、需求分析二、技术介绍2.1相关技术2.2开发环境 三、功能实现1、登录2、图书管理2.1图书列表2.2添加图书2.3修改图书信息2.4查询图书信息 3、用户管理3.1借阅图书3.2修改借阅信息3.3归还图书 4、退出系统 四、部分代码实现获取源码 文章最下方获取源码&#xff01;&…

【Retinex theory】【图像增强】-笔记

1 前言 retinex 是常见的图像增强的方法&#xff0c;retinex 是由两个单词合成的&#xff1a;retina conrtex &#xff0c;即视网膜皮层。 2 建立的基础 Land 的 retinex theory 建立在三个假设之下&#xff1a; 真实世界是无色的&#xff0c;我们所谓的颜色是光和物质相互…

VARMA模型的原理与实现

文章目录 1.多变量模型的基本思想2.VAR模型与VARMA模型3.VARMA模型的实现 1.多变量模型的基本思想 ​ 在现实和竞赛中&#xff0c;时序数据往往是多变量时间序列&#xff0c;我们往往需要借助除了时间之外的变量的帮助来完成预测。比如&#xff0c;如果我们需要预测居民消费支…

数据结构与算法--其他算法

数据结构与算法--其他算法 1 汉诺塔问题 2 字符串的全部子序列 3 字符串的全排列 4 纸牌问题 5 逆序栈问题 6 数字和字符串转换问题 7 背包问题 8 N皇后问题 暴力递归就是尝试 1&#xff0c;把问题转化为规模缩小了的同类问题的子问题 2&#xff0c;有明确的不需要继续…

yolov5+车辆重识别【附代码】

本篇文章主要是实现的yolov5和reid结合的车辆重识别项目。是在我之前实现的yolov5_reid行人重识别的代码上修改实现的baseline模型。 目录 相关参考资料 数据集说明 环境说明 项目使用说明 vehicle reid训练 yolov5车辆重识别 从视频中获取想要检测的车(待检测车辆) 车…

Attention Is All You Need原理与代码详细解读

文章目录 前言一、Transformer结构的原理1、Transform结构2、位置编码公式3、transformer公式4、FFN结构 二、Encode模块代码解读1、编码数据2、文本Embedding编码3、位置position编码4、Attention编码5、FFN编码 三、Decode模块代码解读1、编码数据2、文本Embedding与位置编码…

centos6/7 SOCKS5 堆溢出漏洞修复(RPM方式)curl 8.4 CVE-2023-38545 CVE-2023-38546

引用 https://darkdark.top/update-curl.html centos6 rpm 升级包下载&#xff1a;https://download.csdn.net/download/sinat_24092079/88425840 yum update libcurl-8.4.0-1.el6.1.x86_64.rpm curl-8.4.0-1.el6.1.x86_64.rpmcentos7 rpm 升级包下载&#xff1a;https://down…

ELF和静态链接:为什么程序无法同时在Linux和Windows下运行?

目录 疑问 编译、链接和装载&#xff1a;拆解程序执行 ELF 格式和链接&#xff1a;理解链接过程 小结 疑问 既然我们的程序最终都被变成了一条条机器码去执行&#xff0c;那为什么同一个程序&#xff0c;在同一台计算机上&#xff0c;在 Linux 下可以运行&#xff0c;而在…

Linux | 关于入门Linux你有必要了解的指令

目录 前言 1、ls指令 2、pwd指令 3、cd指令 4、touch指令 5、stat指令 6、mkdir指令 7、rmdir 与 rm指令 8、man指令 9、cp指令 10、mv指令 11、cat指令 &#xff08;1&#xff09;输入重定向 &#xff08;2&#xff09;输出重定向与追加重定向 12、less指令 1…

多模态模型文本预处理方式

句子级别 句子级别的表征编码一整个句子到一个特征中。如果一个句子有多个短语&#xff0c;提取这些短语丢弃其他的单词。 缺点&#xff1a;这种方式会丢失句子中细粒度的信息。 单词级别 将句子中的类别提取出来&#xff0c;结合成一个句子。 缺点&#xff1a;会在类别之…

【数据结构】线性表的抽象数据类型

&#x1f984;个人主页:修修修也 &#x1f38f;所属专栏:数据结构 ⚙️操作环境:Visual Studio 2022 线性表抽象数据类型(LinearListAbstractDataType&#xff0c;简称 ADT)是一种非常重要的抽象数据类型&#xff0c;它是一种使用抽象的方式表示和实现一组数据元素的集合以及与…

宝塔面板服务器内存使用率高的三招解决方法

卸载多余PHP版本。假若安装了多个PHP版本&#xff0c;甚至把 php 5.3、5.4、7.0、7.3 全都安装上了&#xff0c;就会严重增加系统负载和内存使用率。 安装memcached 缓存组件&#xff0c;建议在宝塔面板后台直接安装。 卸载不常用软件。如&#xff1a;宝塔运维、宝塔一键安装…

php如何查找地图距离

要在PHP中使用高德地图、百度地图或腾讯地图获取位置信息&#xff0c;您可以使用它们的相应API服务。以下是获取位置信息的一般步骤&#xff1a; 思路: 获取API密钥&#xff1a;首先&#xff0c;您需要注册并获取相应地图服务提供商的API密钥。这将允许您访问他们的API以获取位…

CSS的美化(文字、背景) Day02

一、文字控制属性 分为&#xff1a;字体样式属性 、文本样式属性 1.1 CSS字体样式属性 1.color定义元素内文字颜色2.font-size 字号大小3 font-family 字体4 font-weight 字体粗细5.font-style 字体风格6.font 字体综合属性 1.1.1 > 文字颜色 color 属性名: color color …

Yakit工具篇:简介和安装使用

简介(来自官方文档) 基于安全融合的理念&#xff0c;Yaklang.io 团队研发出了安全领域垂直语言Yaklang&#xff0c;对于一些无法原生集成在Yak平台中的产品/工具&#xff0c;利用Yaklang可以重新编写 他们的“高质量替代”。对于一些生态完整且认可度较高的产品&#xff0c;Y…

C# CodeFormer 图像修复

效果 项目 代码 using Microsoft.ML.OnnxRuntime; using Microsoft.ML.OnnxRuntime.Tensors; using OpenCvSharp; using System; using System.Collections.Generic; using System.Drawing; using System.Drawing.Imaging; using System.Windows.Forms;namespace 图像修复 {p…

高校教务系统登录页面JS分析——南京邮电大学

高校教务系统密码加密逻辑及JS逆向 本文将介绍南京邮电大学教务系统的密码加密逻辑以及使用JavaScript进行逆向分析的过程。通过本文&#xff0c;你将了解到密码加密的基本概念、常用加密算法以及如何通过逆向分析来破解密码。 本文仅供交流学习&#xff0c;勿用于非法用途。 一…

C++标准模板(STL)- 类型支持 (数值极限,min_exponent10,max_exponent,max_exponent10)

数值极限 std::numeric_limits 定义于头文件 <limits> 定义于头文件 <limits> template< class T > class numeric_limits; numeric_limits 类模板提供查询各种算术类型属性的标准化方式&#xff08;例如 int 类型的最大可能值是 std::numeric_limits&l…

多个Python包懒得import,那就一包搞定!

使用Python时&#xff0c;有的代码需要依赖多个框架或库者来完成&#xff0c;代码开头需要import多次&#xff0c;比如&#xff0c; import pandas as pd from pyspark import SparkContext from openpyxl import load_workbook import matplotlib.pyplot as plt import seabo…