一、概述

1.具体需求:

1.首页设有收支明细、登记收入、登记支出、退出四个选项
2.若用户输入不存在的选项数字,请用户重新输入
3.当用户输入一个选项对应的数字,打开该选项的界面,并再次打开首页界面
4.选择登记收入/支出后,请用户输入本次收入/支出金额、本次收入/支出说明
5.收支明细记录界面展示收支状况、账户金额、收支金额、原因说明
6.选择退出后询问用户是否确定退出

二、操作

1.框架

每执行一个选项首页将重新输出

boolean isTrue=true;
while(isTrue) {System.out.println("——————家庭记账软件——————");System.out.println("      1.收支明细");System.out.println("      2.登记收入");System.out.println("      3.登记支出");System.out.println("      4.退    出");System.out.println("请输入要执行的选项序号:");isTrue=false;//执行到此处再重新循环就会跳出
——————家庭记账软件——————1.收支明细2.登记收入3.登记支出4.退    出
请输入要执行的选项序号:
2.若用户输入不存在的选项数字,请用户重新输入
3.当用户输入一个选项对应的数字,打开该选项的界面,并再次打开首页界面
boolean isTrue=true;
while(isTrue) {System.out.println("——————家庭记账软件——————");System.out.println("      1.收支明细");System.out.println("      2.登记收入");System.out.println("      3.登记支出");System.out.println("      4.退    出");System.out.println("请输入要执行的选项序号:");Scanner input=new Scanner(System.in);int n=input.nextInt();switch (n){case 1:System.out.println("1");break; case 2:System.out.println("2");break; case 3:System.out.println("3");break; case 4:System.out.println("4");break; default:System.out.println("您输入的序号不存在,请重新输入:");break;   }
——————家庭记账软件——————1.收支明细2.登记收入3.登记支出4.退    出
请输入要执行的选项序号:
5
您输入的序号不存在,请重新输入:
——————家庭记账软件——————1.收支明细2.登记收入3.登记支出4.退    出
请输入要执行的选项序号:
1
1
——————家庭记账软件——————1.收支明细2.登记收入3.登记支出4.退    出
请输入要执行的选项序号:
4.收入/支出登记框架
case 2:  Scanner input2_1=new Scanner(System.in);System.out.print("请输入本次收入金额:");int n2_1=input2_1.nextInt();Scanner input2_2=new Scanner(System.in);System.out.print("请输入本次收入原因:");String n2_2=input2_2.next();break;case 3:Scanner input3_1=new Scanner(System.in);System.out.print("请输入本次支出金额:");int n3_1=input3_1.nextInt();Scanner input3_2=new Scanner(System.in);System.out.print("请输入本次支出原因:");String n3_2=input3_2.next();break;
5.收支明细记录

5.1因不能在case 1中计算而设立details变量来记录收支状况

public static void main(String[] args) {boolean isTrue=true;
String details="";//用来记录用户收入和支出的详情
int balance=10000;//已有余额while(isTrue) {.............}
case 1:System.out.println("——————————————收支明细——————————————");System.out.println("收支状况/t账户金额/t收支金额/t收支原因");  System.out.println(details);break;

5.2处理details,计算收支

case 2:  Scanner input2_1=new Scanner(System.in);System.out.print("请输入本次收入金额:");int n2_1=input2_1.nextInt();Scanner input2_2=new Scanner(System.in);System.out.print("请输入本次收入原因:");String n2_2=input2_2.next();details +=(" "+"收入     "+balance+"        "+n2_1+"    "+n2_2+"\n");balance=balance+n2_1;break;case 3:Scanner input3_1=new Scanner(System.in);System.out.print("请输入本次支出金额:");int n3_1=input3_1.nextInt();Scanner input3_2=new Scanner(System.in);System.out.print("请输入本次支出原因:");String n3_2=input3_2.next();details +=(" "+"支出     "+balance+"        "+n3_1+"    "+n3_2+"\n");balance=balance-n3_1;break;
case 1:System.out.println("——————————————收支明细——————————————");System.out.println("收支状况"+"  "+"账户金额"+"  "+"收支金额"+"  "+"收支原因");  System.out.println(details);System.out.println();break;
6.关于退出
switch(n4) {case "Y": System.out.println("已退出软件");isTrue=false;break;case "N":break;default:System.out.println("选择错误,请重新输入:");    break;}break;

三、完整项目展示

——————家庭记账软件——————1.收支明细2.登记收入3.登记支出4.退    出
请输入要执行的选项序号:
1
——————————————收支明细——————————————
收支状况  账户金额  收支金额  收支原因——————家庭记账软件——————1.收支明细2.登记收入3.登记支出4.退    出
请输入要执行的选项序号:
2
请输入本次收入金额:1000
请输入本次收入原因:家教
——————家庭记账软件——————1.收支明细2.登记收入3.登记支出4.退    出
请输入要执行的选项序号:
3
请输入本次支出金额:500
请输入本次支出原因:购物
——————家庭记账软件——————1.收支明细2.登记收入3.登记支出4.退    出
请输入要执行的选项序号:
1
——————————————收支明细——————————————
收支状况  账户金额  收支金额  收支原因收入     1000        1000    家教支出     2000        500        购物——————家庭记账软件——————1.收支明细2.登记收入3.登记支出4.退    出
请输入要执行的选项序号:
4
您确定要退出吗?(Y/N)
M
选择错误,请重新输入:
——————家庭记账软件——————1.收支明细2.登记收入3.登记支出4.退    出
请输入要执行的选项序号:
4
您确定要退出吗?(Y/N)
N
——————家庭记账软件——————1.收支明细2.登记收入3.登记支出4.退    出
请输入要执行的选项序号:
4
您确定要退出吗?(Y/N)
Y
已退出软件

【Java小案例】家庭记账软件相关推荐

  1. 基于Java小案例家庭收入支出记录

    基于Java小案例家庭收入支出记录 跟着视频来写的,不喜勿喷,谢谢 package JavaText;public class FamilyAccount {public static void ma ...

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

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

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

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

  4. Java项目之家庭记账软件

    项目要求 要求实现一个基于文本界面的记账软件,模拟实现一个基于文本界面的<家庭记账软件>,掌握初步的编程技巧和调试技巧. 主要涉及以下知识点: - 局部变量和基本数据类型 - 循环语句 - ...

  5. Java项目一 家庭记账软件

    目录 概述 项目要求 代码 概述 项目来源:B站的尚硅谷java教程 这套视频总的来说还是很良心的,适合快速上手,但是要想深入了解原理的话,深度上还是差一点. 其实这套视频里涉及的练习也谈不上是项目, ...

  6. Java 编写一个家庭记账软件 -25天 学习笔记

    练习 package com.xin.base; import java.util.Scanner;public class Part {public static void main (String ...

  7. Java写家庭记账软件

    java 家庭记账软件 Miraitowa 本内容介绍的是有关java制作一个家庭记账软件的相关知识.但是由于我也是初学,所以希望大家多多指教. 以下就是我们这次的题: 需求说明 •模拟实现基于文本界 ...

  8. 我的第一个Java项目实训--家庭记账软件!

    这是我刚学完流程控制的时候照着敲得一个小项目! class familyAccount{public static void main(String[] args){boolean isFlag=tr ...

  9. 家庭记账软件 —— Java

    <家庭记账软件> 模拟是实现一个基于文本界面的<家庭记账软件> 该程序是全网最全Java零基础入门教程的项目一,可以直接查看p127 掌握逐步的编程技巧和调试技巧 主要涉及以下 ...

最新文章

  1. 【Java】阿里巴巴java开发手册总结(我能看懂的)
  2. 来了解下AbstractList
  3. 人生致命的8个经典问题[转]
  4. [Android1.6]继承BaseAdapter为GridView设置数据时设置setLayoutParams时注意
  5. 使用FMDB多线程訪问数据库,及database is locked的问题
  6. Python学习笔记(5):Python如何忽略warning的输出
  7. 最大子矩阵(信息学奥赛一本通-T1224)
  8. 短网址缩短和还原综合源码
  9. 面试精讲之面试考点及大厂真题 - 分布式专栏 20 降级组件Hystrix的功能特性
  10. Scrum立会报告+燃尽图(十月二十二日总第十三次)
  11. javascript cookies 存、取、删除实例【转】
  12. 最新高德地图使用——申请key、显示地图
  13. html原生的日期选择器,原生JS实现日期选择
  14. sql注入 java_JAVA实现sql注入点检测
  15. 中医测试体质的软件,中医体质辨识软件五大功能
  16. 今天是2012年8月14日
  17. MobaXterm连接局域网的虚拟机
  18. C++刷题知识点总结2
  19. HTML中文字间距调整
  20. 云机器被渗透了怎么办以及解决方法!

热门文章

  1. 离散数学 —— 谓词逻辑(自由变量、量词的约束范围、谓词公式的等价式与蕴涵式、前束范式、US、UG、ES、EG)
  2. 3G卡片在开发板上的详细解决方法(适用于大多数3G卡片)
  3. Ldap ldapsearch
  4. 树莓派安装MJPG-streamer
  5. (附源码)计算机毕业设计ssm关山社区居民信息管理系统
  6. 磁盘,硬盘,软盘,光盘的区别
  7. 最美人间四月天,送3本Python好书
  8. 156 - ZOJ Monthly, January 2019 - A
  9. mofang项目bug16-支付功能支付宝提示:系统繁忙,请稍后再试(ALIN10146)
  10. 基于ASP.NET的购物网站的设计与实现