1.需求说明
1.模拟实现一个基于文本界面(程序控制台)的《家庭收支记录程序》,该程序能够记录家庭的收入、支出,并能够打印收支明细表。
2.项目采用分级菜单方式。主菜单如下:
3.详细要求
- 假设家庭起始的生活基本金为10000元
- 每次登记收入(菜单2)后,收入的金额应累加到基本金上,并记录本次收入明细,以便后续的查询。
- 每次登记支出(菜单3)后,支出的金额应从基本金中扣除,并记录本次支出明细,以便后续的查询。
- 每次收入支出存入数组
- 查询收支明细( 菜单1)时,将显示所有的收入、支出名细列表
2.具体实现
1.思路:根据流程图可以判断有四个选择,所以用switch()语句来实现每个菜单功能,然后程序不可能只运行一次,且不知道具体的循环次数,所以用while()循环来实现,然后编写每个菜单具体实现功能。
2.各个模块代码:
主菜单界面
System.out.println("-------------------家庭收支记账软件---------------------");//分割线 方便使用及查看
//四个菜单选项
System.out.println(" 1.收支明细");
System.out.println(" 2.登记收入");
System.out.println(" 3.登记支出");
System.out.println(" 4.退 出");
System.out.print(" 请选择(1-4):");
System.out.println();
int a = sc.nextInt();//接收输入的数字进入菜单
菜单1:
使用一个for()循环来遍历数组每一行数据
case 1://菜单1,收支明细
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]);
}
}
break;
菜单2:
菜单2是收入录入功能ÿ