Java实现银行存取款
"感谢您阅读本篇博客!如果您觉得本文对您有所帮助或启发,请不吝点赞和分享给更多的朋友。您的支持是我持续创作的动力,也欢迎留言交流,让我们一起探讨技术,共同成长!谢谢!"
代码
```Java
import java.util.Scanner;
// 定义 poc 类
class poc{
private int op =1000;
String name = "小邓";
public int getOp() {
return op;
}
public void setOp(int op) {
this.op = op;
}
public void mation(){
System.out.println(
name+"账户当前的余额为"+this.getOp()
);
}
}
public class key {
public static void main(String[] args) {
poc p = new poc();
Scanner sc = new Scanner(System.in);
System.out.println("1.存钱2.取钱3.查看当前银行卡信息");
while (true) { //为真处于一直在运行的状态
int a = sc.nextInt();
if (a == 1) {
System.out.println("账户余额为"+ p.getOp()+"请选择存款金额");
int moneny = sc.nextInt();
p.setOp(p.getOp()+moneny);
System.out.println("存款成功金额为"+p.getOp()+"元");
System.out.println("1.存钱2.取钱 3.查看当前银行卡信息");
} else if (a == 2) {
System.out.println("账户余额为"+ p.getOp()+"请输入取款金额");
int withdraw = sc.nextInt();
p.setOp(p.getOp()-withdraw);
System.out.println("余下金额为"+p.getOp());
System.out.println("1.存钱2.取钱3.查看当前银行卡信息");
} else {
p.mation();
System.out.println("1.存钱2.取钱 3.查看当前银行卡信息");
}
}
}
}
```
以上是此功能的全部代码,功能的点只有存钱 + 取钱 .但在实际开发中肯定要考虑代码安全.要对金额取出有限制及不能出现负数或者其他字符的情况.当然这种小小练习是不用考虑,只管练手就是了
0x1
功能点比较简单,我的思路是:
1.定义类将成员变量作为金额
2.实例化类 通过判断操作从而进行下一步操作
在 3-20处定义了 poc类
,里面定义了 成员变量 op作为金额 且初始金额为1000进行私密, 成员name作为用户名称是一个死数据。 8-13行就是基于金额op的Set和Get构造方法
, 15行则是我自己加入的功能点,成员方法调用后会显示处当前银行卡的用户名称及金额,当然也可以自定义其他功能点
class poc{
// 定义好存取款所需要的个人信息
private int op =1000;
String name = "小邓";
public int getOp() {
return op;
}
public void setOp(int op) {
this.op = op;
}
// 遍历个人信息方法
public void mation(){
System.out.println(
name+"账户当前的余额为"+this.getOp()
);
}
}
接下来就是在我们的主类mian的逻辑. 23行我首先拿到 class poc类的对象. 24行属于一个键盘录入语句,数据完全是用户自己输入,存入多少取出多少, 25 打印语句让用户知道已经可以开始操作, 26行的whlie是此处的点睛一笔,因为这个程序要一直在运行,存入和取出是基于一次的,不能是存完程序就结束了, whlie为真保证的是程序可以一直运行下去。
public class key {
public static void main(String[] args) {
poc p = new poc();
Scanner sc = new Scanner(System.in);
System.out.println("1.存钱2.取钱3.查看当前银行卡信息");
while (true) { //为真处于一直在运行的状态
xxxxxxxx
}
}
}
0x2
做完以上的步骤就到了最核心的功能点存钱取出, 此处的功能点全部是在whlie中. 27 行我先是通过键盘录入拿到了输入的数字判断操作是那种, 1 是存钱 2 是取出 3查看信息28 行的if判断就是在判断操作.是为1还是2 , 如果 用户输入是1 的话那么就是进行存钱操作 此时会提醒我们存款金额
存钱金额的操作是用 poc类的op属性完成,将 op私密后我们通过 set存入数据,再由get输入数据,.此处功能点是再 30 -33行,由我逐行分析代码
由于金额肯定是我们控制的,30行中我们就是定义了 money作为我们输入的金额存储到了里面.**假设此时我们输入的金额是800那么moeny就是800块,我们现在需要把这笔钱给到荷包里面去,就是给到 op,那么 就是 ** p.setOp(p.getOp()+moneny);
setOp是存入数据, p.getOp是因为初始就有1000元,在这个基础上加上moneny 就相当于我们钱成功存入了
int moneny = sc.nextInt();
p.setOp(p.getOp()+moneny);
System.out.println("存款成功金额为"+p.getOp()+"元");
System.out.println("1.存钱2.取钱 3.查看当前银行卡信息");
我们操作试验成功存入金额两处打印语句,前者输入金额让人有一个直观的感受,后者提示用户存钱已经完成可以继续做别的操作,前面我们是已经将while为真那么这个操作可以一直进行
0x3
存钱的操作逻辑就是这样写,用户取钱的操作同样也是先判断操作是1还是2 ,是2则开始取钱,接受到取出的数量.再去用op的set构造方法进行结算与存钱相反那么肯定是减去这个金额 p.setOp(p.getOp()-withdraw);
int withdraw = sc.nextInt();
p.setOp(p.getOp()-withdraw);
System.out.println("余下金额为"+p.getOp());
System.out.println("1.存钱2.取钱3.查看当前银行卡信息");
做完存钱取钱操作最后的操作3就没什么技术,就是判断到用户输入的是3 那么就打印出目前的余额, p.mation();
直接通过对象调用方法就是此功能点结合起码也可以正常运行,以上就是关于功能点的全部讲解
Java实现银行存取款的更多相关文章
- java并发编程——通过ReentrantLock,Condition实现银行存取款
java.util.concurrent.locks包为锁和等待条件提供一个框架的接口和类,它不同于内置同步和监视器.该框架允许更灵活地使用锁和条件,但以更难用的语法为代价. Lock 接口 ...
- Python 小案例实战 —— 简易银行存取款查询系统
Python 小案例实战 -- 简易银行存取款查询系统 涉及知识点 包的调用 字典.列表的混合运用 列表元素索引.追加 基本的循环与分支结构 源码 import sys import time ban ...
- C语言实现的简单银行存取款程序 请输入如下数字命令
#include <stdio.h> int main(void) { //提供变量 cmd balance(余额) deposit(存款) withdraw(取款) //利用while做 ...
- python3.6项目:银行存取款系统
card1 ="1001"#卡号pwd1="1001"#密码ban1=10000#余额card2 ="1002"pwd2="100 ...
- 银行ATM存取款系统(C语言实现)
这里使用的运行工具是DEV C++.老铁们一定要看仔细了.是DEV C++ 仅供借鉴:这个是大一时期写的.大四的时候整理了一下(本人C语言学的也不太好).肯定很多不足和存在漏洞的地方.仅供借鉴.仅供借 ...
- Go语言的函数07---闭包练习(ATM存取款)
package main import "fmt" /* @ATM(闭包练习) ·写一个Atm(函数),返回存款,取款两个内层函数 ·存款,取款两个函数,都以一个金额为参数,返回存 ...
- 学习练习 java面向对象存取款查询余额
package com.hanqi; public class Account { String ZhangHao; double CunKuanYuE; Account(String ZhangHa ...
- java 使用线程做一个简单的ATM存取款实例.(转)
线程 Thread 类,和 Runable 接口 比较两者的特点和应用领域. 可以,直接继承线程Thread类.该方法编写简单,可以直接操作线程,适用于单重继承情况,因而不能在继承其他类 实现Runn ...
- 实验01——java模拟银行ATM系统
用java写的一个模拟银行系统,比较初级. ATM.java package cn.tedu.yinhang; import java.util.Scanner; /** * @author 赵瑞鑫 ...
- Java 多线程 锁 存款 取款
http://jameswxx.iteye.com/blog/806968 最近想将java基础的一些东西都整理整理,写下来,这是对知识的总结,也是一种乐趣.已经拟好了提纲,大概分为这几个主题: ja ...
随机推荐
- masscode.io snippets 和 vscode 联动 代码片段
https://masscode.io/ 软件作用 代码片段 vscode 可以联动使用 下载不行 慢的话, 下载 fastgithub,打开后再下载
- 突破英语听说要塞-连读与变音 MP3 免费下载
学英语 连读 弱读,就是这本书最不错了. 网上这个音频 有下载,但是不好找,特此分享,拿走不谢. https://115.com/s/swns19o3359?password=df62&# 突 ...
- A Representation Learning Framework for Property Graphs-KDD19
一.摘要 图上的表示学习,也称为图嵌入,已经证明了它对一系列机器学习应用程序的重大影响,如分类.预测和推荐. 然而,现有工作在很大程度上忽略了那些可以被表示为属性图的现代应用程序中的节点以及边的属性中 ...
- Android 线性布局平分宽度item的隐藏问题
原文:Android 线性布局平分宽度item的隐藏问题 - Stars-One的杂货小窝 一直只使用layout_weight来平分布局,但是如果隐藏了某个item,会导致其他item宽高有所变化 ...
- uniapp使用uview报错Cannot find module ‘@/uni_modules/uview-ui/components
参考:https://github.com/umicro/uView 记录使用uniapp报的错 注意uview目前只支持vue2 按照教程引入uview,然后执行的时候还是会报Cannot find ...
- My97DatePicker设置默认时间
<%@ page language="java" pageEncoding="UTF-8"%> <!DOCTYPE HTML PUBLIC ...
- apt-get install安装软件时出现依赖错误解决方案
在使用apt-get install安装软件时,经常会遇到如上图所示错误,该错误的意思为缺少依赖软件,解决方案为: aptitude install golang-go
- 09.Java数据算法
好消息 博客笔记大汇总[15年10月到至今],包括Java基础及深入知识点,Android技术博客,Python学习笔记等等,还包括平时开发中遇到的bug汇总,当然也在工作之余收集了大量的面试题,长期 ...
- 记录--vue 拉伸指令
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 前言 在我们项目开发中,经常会有布局拉伸的需求,接下来 让我们一步步用 vue指令 实现这个需求 动手开发 在线体验 codesandbo ...
- 测试监控系列:使用vb批量统计nmon结果
适用于一次统计几十台机器的nmon监控结果. 新建excel,在设置里打开开发者工具,点查看代码,把下面代码贴到模块里即可.最后把表格保存为.xlsm Sub for_nmon()'用来统计nmon结 ...