Java家庭收支记账系统

Java之家庭收支记账系统

一、思维导图

思维导图

二、主程序(FamilyAccount)

1.系统首页显示

代码如下(示例):

System.out.println("\n-----------------家庭收支记账软件-----------------\n");
            System.out.println("                   1 收支明细");
            System.out.println("                   2 登记收入");
            System.out.println("                   3 登记支出");
            System.out.println("                   4 退    出\n");
            System.out.print("                   请选择(1-4):");

2.收支明细

代码如下(示例):

System.out.println("-----------------当前收支明细记录-----------------");
                    System.out.println(details);
                    System.out.println("--------------------------------------------------");

3.登记收入及明细

代码如下(示例):

System.out.print("请输入本次收入金额:");
                    int addMoney=Utility.readNumber();
                    System.out.print("请输入本次收入说明:");
                    String desc=Utility.readString();
balance+=addMoney;
details+="收入\t" + balance + "\t\t" +addMoney + "\t\t" + desc + "\n";
                    System.out.println("---------------------登记完成---------------------");

4.登记支出及明细

代码如下(示例):

System.out.print("请输入本次支出金额:");
                    int outMoney=Utility.readNumber();
                    System.out.print("请输入本次支出说明:");
                    String desc1=Utility.readString();
if(balance>=outMoney) {
                    	balance-=outMoney;
                    	details+="支出\t" + balance + "\t\t" +outMoney + "\t\t" + desc1 + "\n";
                    }else {
                    	System.out.println("支出超出账户额度,支付失败");
                    }
                    System.out.println("---------------------登记完成---------------------");

5.退出

代码如下(示例):

System.out.print("确认是否退出(Y/N):");
                    char isExit=Utility.readConfirmSelection();
                    if (isExit == 'Y') {
                        Flag=false;
                    }

二、工具类(Utility)

1.界面菜单的选择

代码如下(示例):

for(;;){
            String str=readKeyBoard(1);
            c=str.charAt(0); 
            if(c != '1' && c != '2' && c != '3' && c != '4'){
                System.out.println("输入错误,请重新输入!");
            }else break;
        }

2.控制长度

代码如下(示例):

while (scanner.hasNext()){
            line=scanner.nextLine();
            if(line.length()<0||line.length()>limit){
                System.out.println("输入长度(不大于" + limit + ")错误,请重新输入:");
                //跳过本次循环
                continue;
            }
            //通过break来结束循环
            break;
        }

3.收入支出金额的输入

代码如下(示例):

for(;;){
            String str=readKeyBoard(4);
            try {
                //通过Integer类实现String类型转换为int类型
                n=Integer.parseInt(str);
                break;
            }catch (NumberFormatException e){
                System.out.println("数字输入错误,请重新输入:");
            }
        }

4.收入支出说明的输入

代码如下(示例):

public static String readString(){
        String info;
        info=readKeyBoard(8);
        return info;
    }

5.退出

代码如下(示例):

for(;;){
            String str=readKeyBoard(1).toUpperCase();
            c=str.charAt(0);
            if(c=='Y'||c=='N'){
                break;
            }else {
                System.out.println("选择错误,请重新输入:");
            }
        }

三、测试

1.主界面
主界面
2.收支明细
收支明细记录
3.登记收入
登记收入
4.登记支出
在这里插入图片描述
5.退出
确认退出
不退出

四、总结

本项目只是一个简单的家庭收支记账系统,没有那么多复杂的操作,界面UI也不是很完美,没有数据库的操作,在接下来的学习中会不断更新完善。
  • 4
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值