Java之家庭收支记账系统

目录

  • Java之家庭收支记账系统
  • 一、思维导图
  • 二、主程序(FamilyAccount)
    • 1.系统首页显示
    • 2.收支明细
    • 3.登记收入及明细
    • 4.登记支出及明细
    • 5.退出
  • 二、工具类(Utility)
    • 1.界面菜单的选择
    • 2.控制长度
    • 3.收入支出金额的输入
    • 4.收入支出说明的输入
    • 5.退出
  • 三、测试
  • 四、总结

一、思维导图

二、主程序(FamilyAccount)

1.系统首页显示

代码如下(示例):

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):");

2.收支明细

代码如下(示例):

System.out.println("-----------------当前收支明细记录-----------------");System.out.println(details);System.out.println("--------------------------------------------------");

3.登记收入及明细

代码如下(示例):

System.out.print("请输入本次收入金额:");int addMoney=Utility.readNumber();System.out.print("请输入本次收入说明:");String desc=Utility.readString();
balance+=addMoney;
details+="收入\t" + balance + "\t\t" +addMoney + "\t\t" + desc + "\n";System.out.println("---------------------登记完成---------------------");

4.登记支出及明细

代码如下(示例):

System.out.print("请输入本次支出金额:");int outMoney=Utility.readNumber();System.out.print("请输入本次支出说明:");String desc1=Utility.readString();
if(balance>=outMoney) {balance-=outMoney;details+="支出\t" + balance + "\t\t" +outMoney + "\t\t" + desc1 + "\n";}else {System.out.println("支出超出账户额度,支付失败");}System.out.println("---------------------登记完成---------------------");

5.退出

代码如下(示例):

System.out.print("确认是否退出(Y/N):");char isExit=Utility.readConfirmSelection();if (isExit == 'Y') {Flag=false;}

二、工具类(Utility)

1.界面菜单的选择

代码如下(示例):

for(;;){String str=readKeyBoard(1);c=str.charAt(0); if(c != '1' && c != '2' && c != '3' && c != '4'){System.out.println("输入错误,请重新输入!");}else break;}

2.控制长度

代码如下(示例):

while (scanner.hasNext()){line=scanner.nextLine();if(line.length()<0||line.length()>limit){System.out.println("输入长度(不大于" + limit + ")错误,请重新输入:");//跳过本次循环continue;}//通过break来结束循环break;}

3.收入支出金额的输入

代码如下(示例):

for(;;){String str=readKeyBoard(4);try {//通过Integer类实现String类型转换为int类型n=Integer.parseInt(str);break;}catch (NumberFormatException e){System.out.println("数字输入错误,请重新输入:");}}

4.收入支出说明的输入

代码如下(示例):

public static String readString(){String info;info=readKeyBoard(8);return info;}

5.退出

代码如下(示例):

for(;;){String str=readKeyBoard(1).toUpperCase();c=str.charAt(0);if(c=='Y'||c=='N'){break;}else {System.out.println("选择错误,请重新输入:");}}

三、测试

1.主界面

2.收支明细

3.登记收入

4.登记支出

5.退出

四、总结

本项目只是一个简单的家庭收支记账系统,没有那么多复杂的操作,界面UI也不是很完美,没有数据库的操作,在接下来的学习中会不断更新完善。

Java家庭收支记账系统相关推荐

  1. 家庭收支记账系统--java项目练习

    一.功能介绍: 采用分级菜单模式 主界面为菜单选择: 通过从键盘输入数字来进行记录家庭的收入.支出,并且打印收支明细表等功能 二.代码演示 代码由FamilyAccount Java文件和自定义Uti ...

  2. 基于java家庭理财记账系统计算机毕业设计源码+系统+lw文档+mysql数据库+调试部署

    基于java家庭理财记账系统计算机毕业设计源码+系统+lw文档+mysql数据库+调试部署 基于java家庭理财记账系统计算机毕业设计源码+系统+lw文档+mysql数据库+调试部署 本源码技术栈: ...

  3. 计算机毕业设计JAVA家庭理财记账系统mybatis+源码+调试部署+系统+数据库+lw

    计算机毕业设计JAVA家庭理财记账系统mybatis+源码+调试部署+系统+数据库+lw 计算机毕业设计JAVA家庭理财记账系统mybatis+源码+调试部署+系统+数据库+lw 本源码技术栈: 项目 ...

  4. java编写家庭收支记录,Java家庭收支记账小项目(java基础)

    Java家庭收支记账小项目(java基础) Java家庭收支记账小项目(java基础) 需求说明: 模拟实现基于文本界面的<家庭记账软件>. 该软件能够记录家庭的收入.支出,并能够打印收支 ...

  5. eclipse编写的Java家庭收支记账软件

    eclipse编写的Java家庭收支记账软件 界面及操作过程如下所示: -----------------家庭收支记账软件----------------- 1 收支明细 2 登记收入 3 登记支出 ...

  6. java家庭收支记账软件-day01

    import java.util.Scanner; public class itemfamily {public static void main(String[] args) {Scanner s ...

  7. java家庭收支记账软件

    说明: 这篇文章主要运用了一些java基础知识的一个综合运用 主要涉及以下知识点:  变量的定义  基本数据类型的使用  循环语句  分支语句  方法声明.调用和返回值的接收  简单的屏幕 ...

  8. Go入门案列1:实现一个家庭收支记账系统

    项目来源: b站尚硅谷go教学 使用 通过Create方法来创建myFamilyAccount变量(创建时设置的name和pwd相当于默认密码) ,再直接调用该变量的 MainMeau方法即可,可参照 ...

  9. 家庭收支记账软件--Java

    家庭收支记账软件–Java 需求描述: 模拟实现基于文本界面的<家庭记账软件>. 该软件能够记录家庭的收入.支出,并能够打印收支明细表. 项目采用分级菜单方式.主菜单如下: 需求说明: 假 ...

  10. java实现简单的家庭收支记账程序

    java实现简单的家庭收支记账程序 文章目录 java实现简单的家庭收支记账程序 前言 一.需求分析 1.要求 2.不同模块功能 3.需定义的变量(仅供参考) 4.一些优化建议 二.工具类 概念 本项 ...

最新文章

  1. 使用 $.grep() 方法
  2. 使用Azure Pipelines来实现Teams App的CI
  3. JSP 简介(转载)
  4. c语言case接收字符,switch-case-break:字符释义 | 新思维:C语言程序设计
  5. 【计算机组成原理】指令系统
  6. 支付宝、微信收款码明年3月1日起将禁止商用?系误读!
  7. CentOS6.5安装与配置Mysql数据库
  8. yii php 弹窗,Yii框架弹出框功能示例
  9. SRM 207 Div II Level Two: RegularSeason,字符串操作(sstream),多关键字排序(操作符重载)...
  10. php 9 698.00,698-00-0|2-溴-N,N-二甲基苯胺|2-bromo-N,N-dimethylaniline|2-Bromo-N,N-dimethylaniline......
  11. 软硬方式链接(快捷方式)
  12. lpx寒假作业案例4
  13. mbp touchbar设置_千万不要再买 TouchBar 的 MBP,教训深刻!
  14. 计算机错误代码0X000000be,电脑蓝屏0x000000be怎么解决
  15. 赵小楼《天道》《遥远的救世主》深度解析(142)贫富差距化是常态,扶贫不是拉平平均值,而是强者去关注弱者
  16. 视觉定位系统怎么实现定位及引导贴合的应用?视觉定位系统案例详解
  17. java数字时钟_Java实现动态数字时钟
  18. 笔记:模电-1.3三极管(晶体管)
  19. CubeFS存储技术揭秘(2)— 纠删码单机存储引擎
  20. 技术管理-概要设计评审指南

热门文章

  1. Git正解 脱水版 【7. Git命令】
  2. 关于win10用户使用protel99se可能出现的问题以及解决方法
  3. java多网卡组播,多网卡 组播
  4. Guitar Pro8(简称GTP8)正式版吉他谱神器
  5. jdk的官方下载地址
  6. jQuery入门 jQuery入门第一天 1. jQuery入门
  7. matlab 中文注释乱码问题解决
  8. esp ghost引导_UEFI引导修复教程和工具
  9. 直播软件测试相关技巧
  10. kml或kmz文件用什么软件打开