"感谢您阅读本篇博客!如果您觉得本文对您有所帮助或启发,请不吝点赞和分享给更多的朋友。您的支持是我持续创作的动力,也欢迎留言交流,让我们一起探讨技术,共同成长!谢谢!"

代码

```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实现银行存取款的更多相关文章

  1. java并发编程——通过ReentrantLock,Condition实现银行存取款

         java.util.concurrent.locks包为锁和等待条件提供一个框架的接口和类,它不同于内置同步和监视器.该框架允许更灵活地使用锁和条件,但以更难用的语法为代价. Lock 接口 ...

  2. Python 小案例实战 —— 简易银行存取款查询系统

    Python 小案例实战 -- 简易银行存取款查询系统 涉及知识点 包的调用 字典.列表的混合运用 列表元素索引.追加 基本的循环与分支结构 源码 import sys import time ban ...

  3. C语言实现的简单银行存取款程序 请输入如下数字命令

    #include <stdio.h> int main(void) { //提供变量 cmd balance(余额) deposit(存款) withdraw(取款) //利用while做 ...

  4. python3.6项目:银行存取款系统

    card1 ="1001"#卡号pwd1="1001"#密码ban1=10000#余额card2 ="1002"pwd2="100 ...

  5. 银行ATM存取款系统(C语言实现)

    这里使用的运行工具是DEV C++.老铁们一定要看仔细了.是DEV C++ 仅供借鉴:这个是大一时期写的.大四的时候整理了一下(本人C语言学的也不太好).肯定很多不足和存在漏洞的地方.仅供借鉴.仅供借 ...

  6. Go语言的函数07---闭包练习(ATM存取款)

    package main import "fmt" /* @ATM(闭包练习) ·写一个Atm(函数),返回存款,取款两个内层函数 ·存款,取款两个函数,都以一个金额为参数,返回存 ...

  7. 学习练习 java面向对象存取款查询余额

    package com.hanqi; public class Account { String ZhangHao; double CunKuanYuE; Account(String ZhangHa ...

  8. java 使用线程做一个简单的ATM存取款实例.(转)

    线程 Thread 类,和 Runable 接口 比较两者的特点和应用领域. 可以,直接继承线程Thread类.该方法编写简单,可以直接操作线程,适用于单重继承情况,因而不能在继承其他类 实现Runn ...

  9. 实验01——java模拟银行ATM系统

    用java写的一个模拟银行系统,比较初级. ATM.java package cn.tedu.yinhang; import java.util.Scanner; /** * @author 赵瑞鑫 ...

  10. Java 多线程 锁 存款 取款

    http://jameswxx.iteye.com/blog/806968 最近想将java基础的一些东西都整理整理,写下来,这是对知识的总结,也是一种乐趣.已经拟好了提纲,大概分为这几个主题: ja ...

随机推荐

  1. DL基础补全计划(四)---对抗过拟合:权重衰减、Dropout

    PS:要转载请注明出处,本人版权所有. PS: 这个只是基于<我自己>的理解, 如果和你的原则及想法相冲突,请谅解,勿喷. 前置说明   本文作为本人csdn blog的主站的备份.(Bl ...

  2. makefile 编写要点

    PS:要转载请注明出处,本人版权所有. PS: 这个只是基于<我自己>的理解, 如果和你的原则及想法相冲突,请谅解,勿喷. 前置说明   本文作为本人csdn blog的主站的备份.(Bl ...

  3. 两个int变量交换

    两个变量int a,int b,不用临时变量过渡,两种方法: 第一种: a= a+b; b= a-b; a= a-b; 第二种:异或的方法,也就是位运算,两个相同的数异或是为0的. a= a^b; b ...

  4. electron实现静默下载(各种踩坑解决)

    前车之鉴 也是阅读了很多资料和前人踩的坑,直接使用webContent.print方法进行打印.其他方式要不就是Bug多,官方修复也有问题:要不就是官方升级版本后不再支持等 不赘述 需求思路 在mai ...

  5. python基础七(函数名称空间及作用域、函数对象、函数嵌套、闭包函数、装饰器)

    一 名称空间(namespaces):存放名字的地方,是对栈区的划分. 有了名称空间之后,就可以在栈区中存放相同的名字,详细的名称空间.分三种1.1 内建名称空间存放的名字:存放的python解释器内 ...

  6. 记录--浏览器渲染15M文本导致崩溃怎么办

    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 最近,我刚刚完成了一个阅读器的txt文件阅读功能,但在处理大文件时,遇到了文本内容过多导致浏览器崩溃的问题. 一般情况下,没有任何样式渲染 ...

  7. 记录--为什么推荐用svg而不用icon?

    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 使用背景: 1.因为svg图标在任何设备下都可以高清显示,不会模糊.而icon会在显卡比较低的电脑上有显示模糊的情况 2.svg图标在页面 ...

  8. Python 潮流周刊第 43 期(摘要),赠书 5 本《Python数据结构与算法分析(第3版)》

    本周刊由 Python猫 出品,精心筛选国内外的 250+ 信息源,为你挑选最值得分享的文章.教程.开源项目.软件工具.播客和视频.热门话题等内容.愿景:帮助所有读者精进 Python 技术,并增长职 ...

  9. .NET分布式Orleans - 6 - 事件溯源

    基本概念 事件溯源(Event Sourcing)是一种设计模式,它记录并存储了应用程序状态变化的所有事件. 其核心思想是将系统中的每次状态变化都视为一个事件,并将这些事件以时间顺序的方式持久化存储. ...

  10. 连接Windows 平台 KingbaseES异常

    概述 应用连接Windows平台的KingbaseES 数据库,报错"com.kingbase8.util.KSQLException: 致命错误: 用户"system" ...