家庭记账程序

家庭记账程序

要求:

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

需求说明

该软件能够记录家庭的收入、支出,并能够打印收支明细表
项目采用分级菜单方式。主菜单如下:
-----------------家庭收支记账软件-----------------

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

具体步骤如下:

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

package N7;

public class FamilyAccount {
    public static void main(String[] args) {
                String[][] arr = new String[1][4];//不灵活的地方
                int count=0;
                int sumNum=10000;
                while (true)
                {
                    System.out.println("-------------------家庭收支记账软件---------------------\n");
                    System.out.println("                    1.收支明细");
                    System.out.println("                    2.登记收入");
                    System.out.println("                    3.登记支出");
                    System.out.println("                    4.退    出\n");
                    System.out.print("请选择(1-4):");

                    char c = Utility.readMenuSelection();

                    switch (c){
                        case '1':
                            System.out.println("-------------------收支明细记录表-----------------------");
                            System.out.println("收支\t\t账户总金额\t\t收支金额\t\t说   明");
                            for (int j = 0; j <arr.length ; j++) {

                                if (arr[j][0]!=null)
                                {
                                    System.out.println(arr[j][0] + "\t\t" + arr[j][1] + "\t\t\t" + arr[j][2] + "\t\t\t" + arr[j][3]);
                                }
                            }
                            System.out.println("--------------------------------------------------------\n");
                            break;
                        case '2':
                            System.out.println("请输入本次收入的金额:");
                            int num = Utility.readNumber();
                            System.out.println("请输入本次收入的说明:");
                            String info = Utility.readString();
                            arr[count][0]="收入";
                            sumNum+=num;
                            arr[count][1]= String.valueOf(sumNum);
                            arr[count][2]= String.valueOf(num);
                            arr[count][3]=info;
                            count++;
                            if(count==arr.length){
                                arr=extend(arr);
                            }
                            System.out.println("添加成功!");
                            break;
                        case '3':
                            System.out.println("请输入本次支出的金额:");
                            int num1 = Utility.readNumber();
                            System.out.println("请输入本次支出的说明:");
                            String info1 = Utility.readString();
                            arr[count][0]="支出";
                            sumNum-=num1;
                            arr[count][1]= String.valueOf(sumNum);
                            arr[count][2]= String.valueOf(num1);
                            arr[count][3]=info1;
                            count++;
                            if(count==arr.length){
                                arr=extend(arr);
                            }
                            System.out.println("添加成功!");
                            break;
                        case '4':
                            System.out.println("确认是否退出(Y/N)?:");
                            char c1 = Utility.readConfirmSelection();
                            if (c1 == 'Y')
                            {
                                System.out.println("拜拜!退出成功!");
                                return;
                            }else {
                                break;
                            }


                    }
                }
    }
    public static String[][] extend(String[][]arr){
        String[][] arr1 = new String[arr.length*2][4];
        for(int i = 0;i< arr.length;i++) {
            for(int j =0;j<4;j++){
                arr1[i][j]=arr[i][j];
            }
         }
        return arr1;
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值