要求:该软件能够记录家庭的收入、支出,并能够打印收支明细表。 1.主界面示例
2.不同模块功能--------家庭收支记账软件--------
1 收支明细
2 登记收入
3 登记支出
4 退出
(1)主界面——输入选项——判断选项,进行不同功能块
--------家庭收支记账软件--------
1 收支明细
2 登记收入
3 登记支出
4 退出
请选择(1-4):
(2)收支明细展示界面——向用户展示已有的记录
--------家庭收支记账软件--------
1 收支明细
2 登记收入
3 登记支出
4 退出
请选择(1-4):1
--------收入明细表--------
收支 账户总金额 收支金额 说明
(3)登记收入/登记支出界面——接收用户输入计算总计并添加数据记录
--------家庭收支记账软件--------
1 收支明细
2 登记收入
3 登记支出
4 退出
请选择(1-4):2
请输入本次收入的说明:
搬砖
请输入本次收入的金额:
500
添加成功!
--------家庭收支记账软件--------
1 收支明细
2 登记收入
3 登记支出
4 退出
请选择(1-4):1
--------收入明细表--------
收支 账户总金额 收支金额 说明
收入 10500 +500 搬砖
--------家庭收支记账软件--------
1 收支明细
2 登记收入
3 登记支出
4 退出
请选择(1-4):3
请输入本次支出的说明:
吃烧烤
请输入本次支出的金额:
1000
添加成功!
--------家庭收支记账软件--------
1 收支明细
2 登记收入
3 登记支出
4 退出
请选择(1-4):1
--------收入明细表--------
收支 账户总金额 收支金额 说明
收入 10500 +500 搬砖
支出 9500 -1000 吃烧烤
(4)退出界面——用于退出程序
3.实现该软件需要用到的方法(仅供参考)--------家庭支记账软件--------
1 收支明细
2 登记收入
3 登记支出
4 退出
请选择(1-4):4
退出成功!
1.定义一个main方法
(1)用输出语句完成主界面的编写
(2)用Scanner实现键盘录入数据
(3)用switch语句完成操作的选择
(4)用while(ture)死循环,完成后再次回到主界面
(5)完成操作的选择时,可以直接调用已经定义好的方法。[收支明细(detail),登记收入(registeredIncome),登记支出(expenditure)]
public static void main(String[] args) { //创建对象,用Scanner实现键盘录入数据 Scanner sc = new Scanner(System.in); //接收数据 String[] arr = new String[10]; //定义账户初始金额 int [] brr= {10000}; int count = 0; //使用while死循环语句,完成后再次回到主界面 while (true) { //用输出语句完成主界面的编写 System.out.println("--------家庭收支记账软件--------"); System.out.println("1 收支明细"); System.out.println("2 登记收入"); System.out.println("3 登记支出"); System.out.println("4 退出"); System.out.print("请选择(1-4):"); //判断是否选择了主界面已有的选项 int num = sc.nextInt(); if (num > 4 || num < 1) { System.out.println("请输入正确数字"); } else { //用switch语句完成操作的选择 switch (num) { case 1: //显示表头信息 //t其实就是tab键的位置 System.out.println("--------收入明细表--------"); System.out.println("收支tt账户总金额t收支金额tt说明"); //直接调用已经定义好的方法。[收支明细(detail)] detail(arr); break; case 2: //直接调用已经定义好的方法。[登记收入(registeredIncome)] arr[count] = registeredIncome(brr); count++; break; case 3: //直接调用已经定义好的方法。[登记支出(expenditure)] arr[count] = expenditure(brr); count++; break; } if(num==4){ System.out.println("退出成功!"); break; } } } }
2.定义一个方法,用于查看收支明细
public static void detail(String[]arr){ for (int i = 0; i < arr.length; i++) { if (arr[i] != null) { System.out.println(arr[i]); } } }
3.定义一个方法,用于登记收入
public static String registeredIncome(int []brr){ //键盘录入信息,显示提示信息,提示要输入何种信息 Scanner sc = new Scanner(System.in); System.out.println("请输入本次收入的说明:"); String where = sc.nextLine(); System.out.println("请输入本次收入的金额:"); int quantity = sc.nextInt(); System.out.println("添加成功!"); brr[0] += quantity; String a = "收入" + "tt" + brr[0]+"tt+"+quantity + "tt" + where; return a; }
4.定义一个方法,用于登记支出
public static String expenditure( int []brr) { //键盘录入信息,显示提示信息,提示要输入何种信息 Scanner sc = new Scanner(System.in); System.out.println("请输入本次支出的说明:"); String where = sc.nextLine(); System.out.println("请输入本次支出的金额:"); int quantity = sc.nextInt(); System.out.println("添加成功!"); brr[0]-=quantity; String a = "支出" + "tt" + brr[0]+"tt-"+quantity + "tt" + where; return a; }4.总结编辑代码的感受
(1)在代码编写时加上自己的注释,方便自己与他人理解代码
(2)将不同功能块打包成方法能够减少代码量,提高编程效率
(3)在代码编程过程中,尽可能考虑到用户的体验感,注意细节(例如:在合适的位置使用t)。