和微信零钱通类似,通过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实现零钱通系统相关推荐

  1. 基于JAVA幼儿校园通系统的设计与实现计算机毕业设计源码+系统+数据库+lw文档+部署

    基于JAVA幼儿校园通系统的设计与实现计算机毕业设计源码+系统+数据库+lw文档+部署 基于JAVA幼儿校园通系统的设计与实现计算机毕业设计源码+系统+数据库+lw文档+部署 本源码技术栈: 项目架构 ...

  2. java (零钱通)

    模板类: import java.text.SimpleDateFormat; import java.util.Date; //(获取时间的包) import java.util.Scanner; ...

  3. Java实现零钱通功能

    功能明细: 实现代码: package smallchange;import java.text.SimpleDateFormat; import java.util.Date; import jav ...

  4. Java项目—零钱通

    1.非oop版: package projection;import java.text.SimpleDateFormat; import java.util.Date; import java.ut ...

  5. 微信零钱通(Java)

    各功能的实现  import java.util.Date; import java.util.Scanner;public class SmallChanageSys {//创建相关对象Scanne ...

  6. Java学习笔记 --- 零钱通项目

    一,项目开发流程说明 1.项目需求: 使用Java开发 零钱通项目,可以完成收益入账,消费,查看明细,退出系统等功能 2.项目界面: 二.使用面向过程编程实现: package com.javase. ...

  7. Java学习笔记334 - 零钱通01

    序言 在写代码我们会碰到很多困惑,不知道用哪个知识点,不知道怎么写了. 最理想情况是可以学以致用,掌握底层原理,才能灵活运用,从而体会编程之乐.本节我们会将一些java基础知识点运用到具体的项目上,从 ...

  8. 零钱通项目(Java实现-命令行练习版)

    前言 适合初学者理解面向对象以及初步建立系统概念,体会面向对象OOP优点 需求 使用 Java 开发零钱通项目 , 可以完成收益入账,消费,查看明细,退出系统等功能. 界面 项目实现 过程实现 imp ...

  9. JAVA 零钱通项目OOP(韩顺平)

    目录 一.项目需求说明 二.项目界面 三.步骤(化繁为简) 四.具体步骤及其代码 1.菜单的显示 2.完成零钱通明细 3.完成收益入账 4.消费 5.退出 五.完整代码OOP 六.注意事项 七.过程编 ...

最新文章

  1. “数学不行,干啥也不行”骨灰级程序员:其实你们都是瞎努力
  2. 在Linux中同时删除一百万个小文件的最快方法
  3. 软考高项之风险管理-攻坚记忆
  4. WINCE6.0添加对viewrs(PDF,Word,Execel和PowerPoint)支持
  5. python3 next_对Python 3.2 迭代器的next函数实例讲解
  6. Martix工作室考核题 —— 2019-3-8 第一题
  7. node.js express 启用 https
  8. pandas滑动窗口防止nan出现
  9. bash编程初体验之if
  10. 深圳市房事与公积金相关疑问
  11. 【免费毕设】asp.net服装连锁店管理系统的设计与开发(源代码+lunwen)
  12. 机顶盒显示网关服务器数据下发超时,智能机顶盒网关服务器数据下发超时
  13. bwlabel函数和regionprops函数用法详解
  14. openGL实现太阳系行星系统
  15. submit事件监听问题
  16. 揭秘:带你玩转陪玩圈,潮流玩法轻松赚钱
  17. splits——安卓gradle
  18. Centos7局域网上共享文件夹(Samba服务)
  19. Shaolin(map+iterator) HDU - 4585
  20. 组件封装--button组件

热门文章

  1. 按一定规律将电文变成密码: 将字母A变为E、将字母a变为e,即变成其后的第四个字母,W将变成A。字母按上述规律转换,非字母字符不变。输入一行字符,输出相应密码。
  2. 悬链线锚链力的求解方法
  3. SMM--Spring
  4. Mac上iCloud账户怎样才能注销iCloud无法注销
  5. 最佳光圈值 (Optimum Aperture)
  6. 蓝桥杯国赛 C/C++ ABC组题解(第四届 ~ 第十二届)
  7. 赵小楼:《天道》《遥远的救世主》深度解析(18)细说丁元英中止私募基金的必然性
  8. 大数据Kylin(六):Kylin构建Cube算法
  9. 百度实习生招聘的一道大数据处理题目(上)
  10. selenium中ByChained方法