java小项目(第一期):模拟实现基于文本界面的《家庭记账软件》

本文介绍了一个使用Java编程实现的文本界面《家庭记账软件》小项目,旨在练习编程技巧和调试能力。项目包括收支记录、查询功能,并采用分级菜单,通过无限循环获取用户输入。Utility工具类包含读取菜单选择、数字、字符串和确认选择的方法,确保输入有效。
摘要由CSDN通过智能技术生成

记录一下自己以前学习做的一些小项目,本人水平一般,如若各位大佬有什么建议,欢迎一起议论。

该项目是基于文本界面模拟实现《家庭记账软件》的部分功能的一个小项目,类似于文字游戏。
该项目的目标如下:
1)模拟实现基于文本界面的《家庭记账软件》
2)掌握初步的编程技巧和调试技巧
3)主要涉及到的知识点:
①变量的定义
②基本数据类型的使用
③循环语句
④分支语句
⑤方法声明、调用和返回值的接收
⑥简单的屏幕输出格式控制

需求说明:
1)模拟实现基于文本界面的《家庭记账软件》。
2)该软件能够记录家庭的收入、支出,并能够打印收支明细表。
3)项目采用分级菜单方式。主菜单如下:

---------------家庭收支记账软件---------------

              1.收支明细
              2.登记收入
              3.登记支出
              4.退    出
              
              请选择(1-4):

1)假设家庭起始的生活基本金为10000元;
2)每次登记收入(菜单2)后,收入的金额应累加到基本金上,并记录本次
收入明细,以便后续的查询;
3)每次登记支出(菜单3)后,支出的金额应从基本金上扣除,并记录本次
支出明细,以便后续的查询;
4)查询收支明细(菜单1)时,将显示所有的收入、支出明细列表。

登陆界面和操作过程如下:
收入界面效果图
支出界面效果图
记录界面效果图
退出界面效果图
这个项目我自己自定义了一个Utility工具类来辅助主函数,Utility工具类中有四个方法,其功能如下:
1)readMenuSelection方法,因为不知道我们在运行代码时需要输入多少次选择区的数据,所以利用无限循环来一直获取输入的选项,通过if判断来分析输入的选项是否是1-4,是就结束循环,并将当次获取到的选择区的数据return,若不是,则会输出"选择错误,请重新输入:",然后让操作者重新输入选择区数据。
readMenuSelection方法
2)readNumber方法,读取键盘输入的支出和收入数据,判断是否超出千位,若输出的数据不超出千位,就将数据return。
readNumber方法
3)readString方法,这个方法的执行步骤很少,就一条,读取键盘输入的收入说明和支出说明,并将数据return。
readString方法

4)readConfirmSelection方法,这个方法和readMenuSelection方法一样,因为不知道我们在运行代码时需要输入多少次选择区的数据,所以利用无限循环来一直获取输入的选项,通过if判断来分析输入的选项是否是‘Y’或‘N’,是就结束循环,并将当次获取到的选择区的数据return,若不是,则会输出"输入错误,请重新输入:",然后让操作者重新输入选择区数据。
readConfirmSelection方法
主函数是通过while进行无限循环来输出界面,循环内嵌入了一个switch-case判定,该判定在每次循环时,都会调用Utility工具类中的四个方法,通过判定readMenuSelection方法return回来的值做出相应功能,具体细节看下方代码。

xiangmu01.java的完整代码如下:

/*
项目一:模拟实现基于文本界面的《家庭记账软件》。

目标:
1)模拟实现基于文本界面的《家庭记账软件》
2)掌握初步的编程技巧和调试技巧
3)主要涉及到的知识点:
	①变量的定义
	②基本数据类型的使用
	③循环语句
	④分支语句
	⑤方法声明、调用和返回值的接收
	⑥简单的屏幕输出格式控制

需求说明:
1)模拟实现基于文本界面的《家庭记账软件》。
2)该软件能够记录家庭的收入、支出,并能够打印收支明细表。
3)项目采用分级菜单方式。主菜单如下:

---------------家庭收支记账软件---------------

                  1.收支明细
                  2.登记收入
                  3.登记支出
                  4.退    出
                  
                  请选择(1-4):
                  

1)假设家庭起始的生活基本金为10000元;
2)每次登记收入(菜单2)后,收入的金额应累加到基本金上,并记录本次
收入明细,以便后续的查询;
3)每次登记支出(菜单3)后,支出的金额应从基本金上扣除,并记录本次
支出明细,以便后续的查询;
4)查询收支明细(菜单1)时,将显示所有的收入、支出明细列表。
*/

public class xiangmu01{
   
	public static void main(String[] args){
   
		
		//记录用户是否想退出循环
		boolean isFlag = true;
		
		//用于记录用户的收入和支出详情
		String details = "收支\t账户金额\t收支金额\t说    明\n";
		
		//初始金额
		int balance = 10000;
		
		//因为界面输出次数不确定,所以使用无限循环来显示界面
		while(isFlag){
   
			
			//输出用户界面
			System.out.println('\n' 
  • 14
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值