java实现零钱通系统
和微信零钱通类似,通过java来实现一个零钱通系统,实现支付和支出以及零钱明细功能
将其分成五个功能来实现
1.菜单编写:通过简单的输出语句即可
2.零钱通明细:利用字符串拼接
3:金额入账:设置入账金额和余额
4.消费 :设置消费说明和消费范围
5.退出:确保退出的判断
将这些功能依次封装到方法中,便于以后的修改和维护。
首先是菜单编写:
public void window() {System.out.println("\n=============零钱通菜单============");System.out.println("\t\t\t1.零钱通明细 ");System.out.println("\t\t\t2.收益入账 ");System.out.println("\t\t\t3.消费 ");System.out.println("\t\t\t4.退出 ");System.out.println("请选择(1-4):");}
其次为消费明细:
//零钱通明细String detail = "--------------零钱通明细--------------";public void detail() {System.out.println(detail);}
然后为入账金额:
//收益public void income() {System.out.println("入账金额");money = myscanner.nextDouble();balance += money;//金额校验if (money <= 0) {System.out.println("入账金额应该大于0");return;}//拼接零钱通明细date = new Date();detail += "\n入账金额\t+" + money + "\t" + sdf.format(date) + "\t" + balance;}
消费支出:
//支出public void pay() {System.out.println("消费金额");money = myscanner.nextDouble();//支出校验if (money <= 0 || money > balance) {System.out.println("消费金额应该在0~" + balance);return;}System.out.println("消费说明");note = myscanner.next();balance -= money;//拼接零钱通信息date = new Date();detail += "\n" + note + "\t-" + money + "\t" + sdf.format(date) + "\t" + balance;}
此时零钱通功能如下(能实现入账和支出以及明细查询)
最后就是退出系统和属性的定义:
//退出public void exit() {//确保退出while (true) { //无限循环确保输入y/nSystem.out.println("你确定要退出吗(y/n)");choice = myscanner.next();if ("y".equals(choice) || "n".equals(choice)) {break;}}//通过y/n来确定是否退出零钱通if("y".equals(choice)) {loop = false; //让loop等于假即可退出do—while循环System.out.println("零钱通系统退出!");return;}else if("n".equals(choice)){return;}}
//属性boolean loop = true;String detail = "--------------零钱通明细--------------";double money = 0; //收入double balance = 0; //余额Date date = null; //当前时间String note = ""; //消费原因String choice = ""; //退出选择//new对象Scanner myscanner = new Scanner(System.in); // 接收选择SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm");//格式化日期
效果如下:
最后通过do-while循环和switch循环来实现个个功能:
public void window() {do {System.out.println("\n=============零钱通菜单============");System.out.println("\t\t\t1.零钱通明细 ");System.out.println("\t\t\t2.收益入账 ");System.out.println("\t\t\t3.消费 ");System.out.println("\t\t\t4.退出 ");System.out.println("请选择(1-4):");int key = myscanner.nextInt();switch (key) {case 1:detail();break;case 2:income();break;case 3:pay();break;case 4:exit();break;default:System.out.println("输入有误请重新输入");}} while (loop); //循环为真继续执行}
java实现零钱通系统相关推荐
- 基于JAVA幼儿校园通系统的设计与实现计算机毕业设计源码+系统+数据库+lw文档+部署
基于JAVA幼儿校园通系统的设计与实现计算机毕业设计源码+系统+数据库+lw文档+部署 基于JAVA幼儿校园通系统的设计与实现计算机毕业设计源码+系统+数据库+lw文档+部署 本源码技术栈: 项目架构 ...
- java (零钱通)
模板类: import java.text.SimpleDateFormat; import java.util.Date; //(获取时间的包) import java.util.Scanner; ...
- Java实现零钱通功能
功能明细: 实现代码: package smallchange;import java.text.SimpleDateFormat; import java.util.Date; import jav ...
- Java项目—零钱通
1.非oop版: package projection;import java.text.SimpleDateFormat; import java.util.Date; import java.ut ...
- 微信零钱通(Java)
各功能的实现 import java.util.Date; import java.util.Scanner;public class SmallChanageSys {//创建相关对象Scanne ...
- Java学习笔记 --- 零钱通项目
一,项目开发流程说明 1.项目需求: 使用Java开发 零钱通项目,可以完成收益入账,消费,查看明细,退出系统等功能 2.项目界面: 二.使用面向过程编程实现: package com.javase. ...
- Java学习笔记334 - 零钱通01
序言 在写代码我们会碰到很多困惑,不知道用哪个知识点,不知道怎么写了. 最理想情况是可以学以致用,掌握底层原理,才能灵活运用,从而体会编程之乐.本节我们会将一些java基础知识点运用到具体的项目上,从 ...
- 零钱通项目(Java实现-命令行练习版)
前言 适合初学者理解面向对象以及初步建立系统概念,体会面向对象OOP优点 需求 使用 Java 开发零钱通项目 , 可以完成收益入账,消费,查看明细,退出系统等功能. 界面 项目实现 过程实现 imp ...
- JAVA 零钱通项目OOP(韩顺平)
目录 一.项目需求说明 二.项目界面 三.步骤(化繁为简) 四.具体步骤及其代码 1.菜单的显示 2.完成零钱通明细 3.完成收益入账 4.消费 5.退出 五.完整代码OOP 六.注意事项 七.过程编 ...
最新文章
- “数学不行,干啥也不行”骨灰级程序员:其实你们都是瞎努力
- 在Linux中同时删除一百万个小文件的最快方法
- 软考高项之风险管理-攻坚记忆
- WINCE6.0添加对viewrs(PDF,Word,Execel和PowerPoint)支持
- python3 next_对Python 3.2 迭代器的next函数实例讲解
- Martix工作室考核题 —— 2019-3-8 第一题
- node.js express 启用 https
- pandas滑动窗口防止nan出现
- bash编程初体验之if
- 深圳市房事与公积金相关疑问
- 【免费毕设】asp.net服装连锁店管理系统的设计与开发(源代码+lunwen)
- 机顶盒显示网关服务器数据下发超时,智能机顶盒网关服务器数据下发超时
- bwlabel函数和regionprops函数用法详解
- openGL实现太阳系行星系统
- submit事件监听问题
- 揭秘:带你玩转陪玩圈,潮流玩法轻松赚钱
- splits——安卓gradle
- Centos7局域网上共享文件夹(Samba服务)
- Shaolin(map+iterator) HDU - 4585
- 组件封装--button组件
热门文章
- 按一定规律将电文变成密码: 将字母A变为E、将字母a变为e,即变成其后的第四个字母,W将变成A。字母按上述规律转换,非字母字符不变。输入一行字符,输出相应密码。
- 悬链线锚链力的求解方法
- SMM--Spring
- Mac上iCloud账户怎样才能注销iCloud无法注销
- 最佳光圈值 (Optimum Aperture)
- 蓝桥杯国赛 C/C++ ABC组题解(第四届 ~ 第十二届)
- 赵小楼:《天道》《遥远的救世主》深度解析(18)细说丁元英中止私募基金的必然性
- 大数据Kylin(六):Kylin构建Cube算法
- 百度实习生招聘的一道大数据处理题目(上)
- selenium中ByChained方法