自从有了它,妈妈再也不用担心我管理不好生活费啦!——家庭记账程序

本文主要是介绍自从有了它,妈妈再也不用担心我管理不好生活费啦!——家庭记账程序,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目标:

1.模拟实现一个基于文本界面的家庭记账软件
2.掌握初步的编程技巧和调试技巧
3.灵活运用基础知识

需求:

在这里插入图片描述

流程图:

在这里插入图片描述

难点:

个人感觉理解和运用工具包的方法比较难,剩下的就是一些小细节的问题。

思路:

1.先定义总金额和一个数组来存储数据,再定义一个变量方便数组存储数据。
2通过一个while循环语句来实现用户的进入、退出和返回。
3通过一个switch分支语句来实现四种功能。
4其中各个功能的数据接收和提醒输入数据错误通过工具包的方法来完成。

上代码!!

package Guankaer;import Guankaer.Utility;import java.util.Scanner;public class FamilyAccount {public static void main(String[] args) {String[][] arr = new String[10][4];int acount = 0;//定义一个变量方便数组存储数据int sumnum = 10000;//总金额和数组定义在循环之前while (true) {menu();char a = Utility.readMenuSelection();//调用工具包的方法提醒录入错误的情况switch (a) {//功能选择case '1': //收支明细功能case1(arr);break;case '2': //收入功能case2(arr, acount, sumnum);break;case '3': //支出功能case3(arr, acount, sumnum);break;case '4': //退出功能System.out.println("确认是否推出(Y/N)");char b = Utility.readConfirmSelection();//Scanner 不能直接方法得到char//String类型不能直接用"=="去比较大小 而是用equals方法if (b == 'Y') {System.out.println("退出成功");return;//退出整个main方法} else {break;//退出switch}}}}public static void menu() {Scanner sc = new Scanner(System.in);System.out.println("---------------家庭收支记账软件--------------");//主目录System.out.println();System.out.println("                 1.收支明细");System.out.println("                 2.登记收入");System.out.println("                 3.登记支出");System.out.println("                 4.退出");System.out.println();System.out.println("请选择(1-4)");}public static void case1(String[][] arr) {System.out.println("-----------------收支明细---------------------");System.out.println("收支" + " " + "账户总金额" + " " + "收支金额" + " " + "说明");//上标for (int i = 0; i < arr.length; i++) {if (arr[i][0] != null) {//收支明细System.out.println(arr[i][0] + "  " + arr[i][1] + "  " + arr[i][2] + "   " + arr[i][3]);}}System.out.println("-------------------------");}public static void case2(String[][] arr, int acount, int sumnum) {System.out.println("请输入本次收入金额");int income = Utility.readNumber();//接收正确录入的金额System.out.println("请输入本次收入说明");String explain1 = Utility.readString();//接收正确录入的说明arr[acount][0] = "收入";sumnum += income;//总金额变化arr[acount][1] = sumnum + "";//拼接前面的数据转换成字符串arr[acount][2] = "+" + income;arr[acount][3] = explain1 + "";acount++;System.out.println("添加成功!");}public static void case3(String[][] arr, int acount, int sumnum) {System.out.println("请输入本次支出金额");int expend = Utility.readNumber();//接收正确录入的金额System.out.println("请输入本次支出说明");String explain2 = Utility.readString();//接收正确录入的说明arr[acount][0] = "支出";sumnum -= expend;arr[acount][1] = sumnum + "";arr[acount][2] = "-" + expend;arr[acount][3] = explain2 + "";System.out.println(arr[acount][0] + "  " + arr[acount][1] + "   " + arr[acount][2] + "   " + arr[acount][3]);acount++;System.out.println("添加成功!");}
}

这篇关于自从有了它,妈妈再也不用担心我管理不好生活费啦!——家庭记账程序的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/874267

相关文章

综合安防管理平台LntonAIServer视频监控汇聚抖动检测算法优势

LntonAIServer视频质量诊断功能中的抖动检测是一个专门针对视频稳定性进行分析的功能。抖动通常是指视频帧之间的不必要运动,这种运动可能是由于摄像机的移动、传输中的错误或编解码问题导致的。抖动检测对于确保视频内容的平滑性和观看体验至关重要。 优势 1. 提高图像质量 - 清晰度提升:减少抖动,提高图像的清晰度和细节表现力,使得监控画面更加真实可信。 - 细节增强:在低光条件下,抖

JAVA智听未来一站式有声阅读平台听书系统小程序源码

智听未来,一站式有声阅读平台听书系统 🌟&nbsp;开篇:遇见未来,从“智听”开始 在这个快节奏的时代,你是否渴望在忙碌的间隙,找到一片属于自己的宁静角落?是否梦想着能随时随地,沉浸在知识的海洋,或是故事的奇幻世界里?今天,就让我带你一起探索“智听未来”——这一站式有声阅读平台听书系统,它正悄悄改变着我们的阅读方式,让未来触手可及! 📚&nbsp;第一站:海量资源,应有尽有 走进“智听

软考系统规划与管理师考试证书含金量高吗?

2024年软考系统规划与管理师考试报名时间节点: 报名时间:2024年上半年软考将于3月中旬陆续开始报名 考试时间:上半年5月25日到28日,下半年11月9日到12日 分数线:所有科目成绩均须达到45分以上(包括45分)方可通过考试 成绩查询:可在“中国计算机技术职业资格网”上查询软考成绩 出成绩时间:预计在11月左右 证书领取时间:一般在考试成绩公布后3~4个月,各地领取时间有所不同

安全管理体系化的智慧油站开源了。

AI视频监控平台简介 AI视频监控平台是一款功能强大且简单易用的实时算法视频监控系统。它的愿景是最底层打通各大芯片厂商相互间的壁垒,省去繁琐重复的适配流程,实现芯片、算法、应用的全流程组合,从而大大减少企业级应用约95%的开发成本。用户只需在界面上进行简单的操作,就可以实现全视频的接入及布控。摄像头管理模块用于多种终端设备、智能设备的接入及管理。平台支持包括摄像头等终端感知设备接入,为整个平台提

EMLOG程序单页友链和标签增加美化

单页友联效果图: 标签页面效果图: 源码介绍 EMLOG单页友情链接和TAG标签,友链单页文件代码main{width: 58%;是设置宽度 自己把设置成与您的网站宽度一样,如果自适应就填写100%,TAG文件不用修改 安装方法:把Links.php和tag.php上传到网站根目录即可,访问 域名/Links.php、域名/tag.php 所有模板适用,代码就不粘贴出来,已经打

跨系统环境下LabVIEW程序稳定运行

在LabVIEW开发中,不同电脑的配置和操作系统(如Win11与Win7)可能对程序的稳定运行产生影响。为了确保程序在不同平台上都能正常且稳定运行,需要从兼容性、驱动、以及性能优化等多个方面入手。本文将详细介绍如何在不同系统环境下,使LabVIEW开发的程序保持稳定运行的有效策略。 LabVIEW版本兼容性 LabVIEW各版本对不同操作系统的支持存在差异。因此,在开发程序时,尽量使用

从状态管理到性能优化:全面解析 Android Compose

文章目录 引言一、Android Compose基本概念1.1 什么是Android Compose?1.2 Compose的优势1.3 如何在项目中使用Compose 二、Compose中的状态管理2.1 状态管理的重要性2.2 Compose中的状态和数据流2.3 使用State和MutableState处理状态2.4 通过ViewModel进行状态管理 三、Compose中的列表和滚动

CSP 2023 提高级第一轮 CSP-S 2023初试题 完善程序第二题解析 未完

一、题目阅读 (最大值之和)给定整数序列 a0,⋯,an−1,求该序列所有非空连续子序列的最大值之和。上述参数满足 1≤n≤105 和 1≤ai≤108。 一个序列的非空连续子序列可以用两个下标 ll 和 rr(其中0≤l≤r<n0≤l≤r<n)表示,对应的序列为 al,al+1,⋯,ar​。两个非空连续子序列不同,当且仅当下标不同。 例如,当原序列为 [1,2,1,2] 时,要计算子序列 [

这些心智程序你安装了吗?

原文题目:《为什么聪明人也会做蠢事(四)》 心智程序 大脑有两个特征导致人类不够理性,一个是处理信息方面的缺陷,一个是心智程序出了问题。前者可以称为“认知吝啬鬼”,前几篇文章已经讨论了。本期主要讲心智程序这个方面。 心智程序这一概念由哈佛大学认知科学家大卫•帕金斯提出,指个体可以从记忆中提取出的规则、知识、程序和策略,以辅助我们决策判断和解决问题。如果把人脑比喻成计算机,那心智程序就是人脑的

Sentinel 高可用流量管理框架

Sentinel 是面向分布式服务架构的高可用流量防护组件,主要以流量为切入点,从限流、流量整形、熔断降级、系统负载保护、热点防护等多个维度来帮助开发者保障微服务的稳定性。 Sentinel 具有以下特性: 丰富的应用场景:Sentinel 承接了阿里巴巴近 10 年的双十一大促流量的核心场景,例如秒杀(即突发流量控制在系统容量可以承受的范围)、消息削峰填谷、集群流量控制、实时熔断下游不可用应