参照了B站的Java学习视频,简单写了个家庭记账系统的Java小项目。

一共俩文件,一个是用户操作界面Class:FamilyAccount

一个是工具类:Utilty

使用的IDE工具:Eclispe

JDK:java-1.8.131

话不多说,上代码

FamilyAccount

package familyaccount;
public class FamilyAccount {public static void main(String[] args) {String details = "收支\t账户金额\t收支金额\t说    明\n";int balance = 10000;boolean loopFlag = true;do {System.out.println("\n-----------------家庭收支记账软件-----------------\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 = Utility.readMenuSelection();System.out.println();switch (key) {case '1':System.out.println("-----------------当前收支明细记录-----------------");System.out.println(details);System.out.println("--------------------------------------------------");break;case '2':System.out.print("本次收入金额:");int amount1 = Utility.readNumber();System.out.print("本次收入说明:");String desc1 = Utility.readString();balance += amount1;details += "收入\t" + balance + "\t\t" +amount1 + "\t\t" + desc1 + "\n";System.out.println("---------------------登记完成---------------------");break;case '3':System.out.print("本次支出金额:");int amount2 = Utility.readNumber();System.out.print("本次支出说明:");String desc2 = Utility.readString();balance -= amount2;details += "支出\t" + balance + "\t\t" +amount2 + "\t\t" + desc2 + "\n";System.out.println("---------------------登记完成---------------------");break;case '4':System.out.print("确认是否退出(Y/N):");char yn = Utility.readConfirmSelection();if (yn == 'Y') loopFlag = false;break;}} while (loopFlag);}
}

Utilty类

package familyaccount;
import java.util.Scanner;
/**
Utility工具类:
将不同的功能封装为方法,就是可以直接通过调用方法使用它的功能,而无需考虑具体的功能实现细节。
*/
public class Utility {private static Scanner scanner = new Scanner(System.in);/**用于界面菜单的选择。该方法读取键盘,如果用户键入’1’-’4’中的任意字符,则方法返回。返回值为用户键入字符。*/public static char readMenuSelection() {char c;for (; ; ) {String str = readKeyBoard(1);c = str.charAt(0);if (c != '1' && c != '2' && c != '3' && c != '4') {System.out.print("选择错误,请重新输入:");} else break;}return c;}/**用于收入和支出金额的输入。该方法从键盘读取一个不超过4位长度的整数,并将其作为方法的返回值。*/public static int readNumber() {int n;for (; ; ) {String str = readKeyBoard(4);try {n = Integer.parseInt(str);break;} catch (NumberFormatException e) {System.out.print("数字输入错误,请重新输入:");}}return n;}/**用于收入和支出说明的输入。该方法从键盘读取一个不超过8位长度的字符串,并将其作为方法的返回值。*/public static String readString() {String str = readKeyBoard(8);return str;}/**用于确认选择的输入。该方法从键盘读取‘Y’或’N’,并将其作为方法的返回值。*/public static char readConfirmSelection() {char c;for (; ; ) {String str = readKeyBoard(1).toUpperCase();c = str.charAt(0);if (c == 'Y' || c == 'N') {break;} else {System.out.print("选择错误,请重新输入:");}}return c;}private static String readKeyBoard(int limit) {String line = "";while (scanner.hasNext()) {line = scanner.nextLine();if (line.length() < 1 || line.length() > limit) {System.out.print("输入长度(不大于" + limit + ")错误,请重新输入:");continue;}break;}return line;}
}

这俩都放在包:familyaccount下面

运行效果截图:

Java简单项目:家庭记账系统相关推荐

  1. JAVA毕设项目家庭记账系统(java+VUE+Mybatis+Maven+Mysql)

    项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclis ...

  2. java计算机毕业设计家庭记账系统源程序+mysql+系统+lw文档+远程调试

    java计算机毕业设计家庭记账系统源程序+mysql+系统+lw文档+远程调试 java计算机毕业设计家庭记账系统源程序+mysql+系统+lw文档+远程调试 本源码技术栈: 项目架构:B/S架构 开 ...

  3. java小项目家庭记账程序

    文章目录 java小项目家庭记账程序 **1.项目目标:** 2.项目需求: 3.具体思路: 4.具体代码: 1.页面: 2.Option_1类: 3.Option_2类: 4.Option_3类: ...

  4. Java小项目——家庭记账项目

    学习Java已经过了半个月左右了,所学的知识已经能够写一些小程序或者小项目,虽然它可能没有那么高级,但是也能检验你之前所学的全部内容.所以今天就与大家分享一下我的小项目经验. 一.需求说明 该软件能够 ...

  5. [附源码]JAVA毕业设计家庭记账系统(系统+LW)

    [附源码]JAVA毕业设计家庭记账系统(系统+LW) 目运行 环境项配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(In ...

  6. 小钱袋子php,小钱袋子评测:简单实用的记账系统

    站长之家收录的记账系统并不多,今天小编就推荐一款简单实用的记账系统-小钱袋子! 小钱袋子是一款免费网络记帐系统,适用于个人记帐.家庭记帐.团队记帐,帮你记录财富的增长过程.系统使用简单方便,界面设计美 ...

  7. Java毕设项目城市公交系统计算机(附源码+系统+数据库+LW)

    Java毕设项目城市公交系统计算机(附源码+系统+数据库+LW) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也行)+ Ecli ...

  8. Java毕设项目校园外卖系统Web端计算机(附源码+系统+数据库+LW)

    Java毕设项目校园外卖系统Web端计算机(附源码+系统+数据库+LW) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也行)+ ...

  9. Java毕设项目OA办公系统

    最近有些同学私信推荐一个协同办公项目,今天我就推荐一款java开发的开源协同办公平台,适用于企业OA.协同办公类信息化系统的建设和开发,适配了安卓和IOS移动APP,能深度集成钉钉和企业微信. [Ja ...

  10. Java毕设项目电影院购票系统计算机(附源码+系统+数据库+LW)

    Java毕设项目电影院购票系统计算机(附源码+系统+数据库+LW) 项目运行 环境配置: Jdk1.8 + Tomcat8.5 + Mysql + HBuilderX(Webstorm也行)+ Ecl ...

最新文章

  1. iOS 注册密码加密 添加了时间戳 遇到的问题...
  2. 使用wireshark分析TLSv2(详细)
  3. 光伏组件清洗的7大注意事项
  4. 详解python实现FP-TREE进行关联规则挖掘(带有FP树显示功能)附源代码下载(3)
  5. python3.7.2怎么安装和管理扩展包_怎么安装python扩展包管理工具pip
  6. what do we lack as a student?
  7. 品牌不可不知的YouTube的影片行销策略
  8. Codeforces Round #524 (Div. 2) Masha and two friends
  9. 软件测试-禅道下载及安装-测试人员必会工具
  10. 响应国家号召,摆摊秘籍,摆摊必看《城市地摊财富秘籍》新版目录
  11. 湖南软件计算机单招较好学校,长沙岳麓区计算机IT单招学校排行榜
  12. 图片处理工具类ImageHelper
  13. 42招健脑秘笈——必看
  14. 地下城与勇士(DNF)格兰之森副本(幽暗密林、幽暗密林深处、雷鸣废墟、猛毒雷鸣废墟、冰霜幽暗密林、格拉卡、烈焰格拉卡、暗黑雷鸣废墟)(童年的回忆)
  15. 【大脑】----如何增加大脑记忆?
  16. 1s内能执行多少次for循环
  17. 最全的日期年农历假日节气星座等计算类封装
  18. Bloom Filter 布隆过滤器
  19. arcgis for android(六)定位
  20. 出现Could not initialize class net.sf.json.JsonConfig错误。解决方法如下:

热门文章

  1. 河南科技大学Oracle作业,机械制图作业集第四章答案河南科技大学.ppt
  2. 浩万计算机工具,子浩KX3552驱动一键安装工具(Win7/Win8/win10)
  3. Windows Mobile DIY ROM 常用工具
  4. NetXray嗅探器介绍
  5. 完全删除conime.exe
  6. 用Linux命令备份oracle表,Linux系统上Oracle数据库备份和还原操作说明
  7. 腾讯围棋AI技术PhoenixGo正式开源
  8. android 换机 备份,Android QQ同步助手3.7:资料备份让换机刷机无忧
  9. word设置实验报告格式
  10. 小小一方士 C# Async\Await 之 上传/下载文件进度条实现原理