项目1 :家庭记账系统
1.主代码
public class FamilyAccount {public static void main(String[] args) {String details = "收支\t账户金额\t\t收支金额\t\t说 明\n";int balance = 10000;boolean loopFlag = true;do {System.out.println("\n-----------------家庭收支记账软件-----------------");System.out.println(" 1 收支明细");System.out.println(" 2 登记收入");System.out.println(" 3 登记支出");System.out.println(" 4 退 出\n");System.out.print(" 请选择(1-4)");char key = Fangfa.readMenuSelection();System.out.println();switch (key){case '1':System.out.println("-----------------当前收支明细记录-----------------");System.out.println(details);System.out.println("------------------------------------------------");break;case '2':System.out.println("本次收入金额:");int amount1 = Fangfa.readNumber();System.out.println("本次收入说明:");String desc1 = Fangfa.readString();balance += amount1;details += "收入\t" + balance + "\t\t" + amount1 + "\t\t\t" + desc1 + "\n";System.out.println("-----------------登记完成-----------------");break;case '3':System.out.println("本次支出金额:");int amount2 = Fangfa.readNumber();System.out.println("本次支出说明:");String desc2 = Fangfa.readString();balance -= amount2;details += "支出\t" + balance + "\t\t" + amount2 +"\t\t\t" + desc2 + "\n";System.out.println("-----------------登记完成-----------------");break;case '4':System.out.println("确认是否退出(Y/N)");char yn = Fangfa.readConfirmSelection();if (yn == 'Y') loopFlag = false;break;}}while(loopFlag);}
}
2.方法
import java.util.Scanner;
public class Fangfa {private static Scanner scanner = new Scanner(System.in);//用于收到菜单的选项public static char readMenuSelection(){char c;for ( ; ; ){String str = readKeyBorad(1);c = str.charAt(0);if (c != '1' &&c != '2'&& c != '3' &&c != '4' ){System.out.println("输入错误。请重新输入:");}else break;}return c;}//用于收入和支出金额的输入public static int readNumber(){int n;for ( ; ; ){String str = readKeyBorad(4);try {n = Integer.parseInt(str);break;}catch (NumberFormatException e){System.out.println("数字输入错误,请重新输入");}}return n;}//用于收入和支出说明的输入,该方法public static String readString(){String str = readKeyBorad(8);return str;}//用于确认选择的输入。该方法从键盘读取‘Y’或者‘N’public static char readConfirmSelection(){char c;for ( ; ; ){String str = readKeyBorad(1).toUpperCase();c = str.charAt(0);if (c == 'Y' || c == 'N'){break;}else {System.out.println("选择错误,请重新输入:");}}return c;}//readKeyBored用来接受键盘的数据private static String readKeyBorad(int limit){String line = "";while (scanner.hasNext()){line = scanner.nextLine();if (line.length()<1 || line.length()>limit){System.out.println("输入的长度(不大于" + limit + ")错误,请重新输入");continue;}break;}return line;}
}
项目1 :家庭记账系统相关推荐
- [附源码]JAVA毕业设计家庭记账系统(系统+LW)
[附源码]JAVA毕业设计家庭记账系统(系统+LW) 目运行 环境项配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(In ...
- java计算机毕业设计家庭记账系统源程序+mysql+系统+lw文档+远程调试
java计算机毕业设计家庭记账系统源程序+mysql+系统+lw文档+远程调试 java计算机毕业设计家庭记账系统源程序+mysql+系统+lw文档+远程调试 本源码技术栈: 项目架构:B/S架构 开 ...
- 项目一. 家庭记账软件
要求: 项目一 家庭记账软件 目 标• 模拟实现一个基于文本界面的<家庭记账软件>• 掌握初步的编程技巧和调试技巧• 主要涉及以下知识点: 变量的定义 基本数据类型的使用 循环语句 ...
- Java项目之家庭记账软件
项目要求 要求实现一个基于文本界面的记账软件,模拟实现一个基于文本界面的<家庭记账软件>,掌握初步的编程技巧和调试技巧. 主要涉及以下知识点: - 局部变量和基本数据类型 - 循环语句 - ...
- Java项目一 家庭记账软件
目录 概述 项目要求 代码 概述 项目来源:B站的尚硅谷java教程 这套视频总的来说还是很良心的,适合快速上手,但是要想深入了解原理的话,深度上还是差一点. 其实这套视频里涉及的练习也谈不上是项目, ...
- 项目一 家庭记账软件 (目标 + 需求说明 + 代码详解 + 基本金和收支明细记录 + 键盘访问的实现)
家庭记账软件 1. 目标 2. 需求说明 3. 代码详解 4. 基本金和收支明细的记录 5. 键盘访问的实现 1. 目标 模拟实现一个基于文本界面的<家庭记账软件> 掌握初步的编程技巧和调 ...
- 小白自学笔记——JAVA基础 2.12 项目一 家庭记账软件
需求说明 模拟实现基于文本界面的<家庭记账软件>. 该软件能够记录家庭的收入.支出,并能够打印收支明细表. 假设家庭起始的生活基本金为10000元. 每次登记收入(菜单2)后,收入的金额应 ...
- Java阶段项目一 家庭记账软件
模拟实现基于文本界面的<家庭记账软件>. 该软件能够记录家庭的收入.支出,并能够打印收支明细表. 项目采用分级菜单方式.主菜单如下: -----------------家庭收支记账软件-- ...
- JAVA毕设项目家庭记账系统(java+VUE+Mybatis+Maven+Mysql)
项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclis ...
- 项目一 家庭记账软件
目录 方法一(使用Utility工具类): 实现效果: 菜单主页面 收支明细初始页面 登记收入 登记支出 退出软件 详细代码: Utility.java FamilyAccount02.java 方法 ...
最新文章
- C语言标量变向量的函数,GLSL 详解(基础篇)
- MIMIC 以太坊医疗项目开发(7) 医疗智能合约 sample
- 5 图片 渐变_AI教程!5分钟教你绘制超酷炫的字体效果
- 华为鸿蒙系统明年8月份,华为鸿蒙系统明年上线,力争第五大操作系统,能否成功?...
- 化繁为简 回归初心 细品雅致设计的vivo X50系列
- spss和python stata matlab_(SPSS,Matlab,stata,Python)相关性?
- HDU2021 发工资咯:)【入门】
- nvidia显卡linux 7.2,科学网—悲喜录:服务器 CentOS 7.2 安装Nvidia显卡驱动(64bit) - 袁伟的博文...
- 过去的一年,2013!
- 14_按类别分页展示商品
- 64位java虚拟机_java虚拟机64位下载
- 前端实战:从零到一实现H5拼图小游戏(附源码)
- 树莓派安装centos操作系统
- 用计算机读取机读卡信息,摄像机SD卡无法读取怎么办
- 百度地图——多点标记及路线
- 剩余空间,自由再生——城市高架桥下空间的活化再生研究
- 不背单词,不学语法,过去100天,这10万人原来是这样学英语的......
- Erlang和Web
- 唯有作茧自缚,方可破茧成蝶
- EDA实验(Quartus Ⅱ+fpga) (二)---时序电路的设计-模可变计数器设计
热门文章
- rational rose 启动选择_Rational Rose 附使用教程
- (BLE)蓝牙抓包(1) -nRF-sniffer和wireshark
- 怎么关闭计算机管理窗口,桌面窗口管理器已停止工作并应关闭这应该怎么解决啊...
- Jconsole小记
- 用Java生成word文档
- 盒子不显示工会与服务器,DNF天空盒子找不到怎么办 dnf新版本活动防坑指攻略...
- 【C语言】案例四十八 综合案例——天生棋局(围棋棋盘)
- 联想Thinkpad E430 原装win8改版win7的BIOS设置
- Python爬虫实战+数据分析+数据可视化(前程无忧招聘信息)
- 关于jabber协议