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

代码

```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. 摆脱鼠标系列 Trigger Suggest 快捷键 改成 Shift + Space

    摆脱鼠标系列 Trigger Suggest 快捷键 改成 Shift + Space 看marp插件的时候,发现用ctrl + space 自动提示,但是我这里是输入法

  2. k8s中port-forward 、service的nodeport与ingress区别

    在Kubernetes中,port-forward.Service的NodePort和Ingress都是用于将外部流量引入集群内部的方法,但它们在使用场景.实现方式和功能上有所不同. port-for ...

  3. python librosa 实例解析

    一 概念 librosa是一个用于音乐和音频分析的python包.它提供了创建音乐信息检索系统所需的构建块. 核心函数:   二 实例解析   实例A,确认是否安装成功: import librosa ...

  4. Android 桌面小组件使用

    原文: Android 桌面小组件使用-Stars-One的杂货小窝 借助公司上的几个项目,算是学习了Android桌面小组件的用法,记下踩坑记录 基本步骤 1.创建小组件布局 这里需要注意的事,小组 ...

  5. 5分钟上手Python爬虫:从干饭开始,轻松掌握技巧

    很多人都听说过爬虫,我也不例外.曾看到别人编写的爬虫代码,虽然没有深入研究,但感觉非常强大.因此,今天我决定从零开始,花费仅5分钟学习入门爬虫技术,以后只需轻轻一爬就能查看所有感兴趣的网站内容.广告? ...

  6. GDB简洁指南

    启动gdb:gdb program 设置运行参数:set args 10 20 30 启动程序: run(r),start 显示源代码:list(l) 显示当前栈帧和运行行:frame(f) 设置显示 ...

  7. python高级技术(进程一)

    一 什么是进程 进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础.在早期面向进程设计的计算机结构中,进程是程序的基本执行实 ...

  8. RecyclerView问题汇总

    目录介绍 25.0.0.0 请说一下RecyclerView?adapter的作用是什么,几个方法是做什么用的?如何理解adapter订阅者模式? 25.0.0.1 ViewHolder的作用是什么? ...

  9. DRConv:旷视提出区域感知动态卷积,多任务性能提升 | CVPR 2020

    论文提出DRConv,很好地结合了局部共享的思想并且保持平移不变性,包含两个关键结构,从实验结果来看,DRConv符合设计的预期,在多个任务上都有不错的性能提升   来源:晓飞的算法工程笔记 公众号 ...

  10. 基于rv1126 rkmeida 一路多出 原理

    基于rv1126 rkmeida 一路多出的坑 首先说要的是介绍一下rkmedia 相关内容 ​ RKMedia提供了一种媒体处理方案,可支持应用软件快速开发.RKMedia在各模块基础API上做进一 ...