家庭收支账小项目

这是一个使用Java编程实现的家庭收支管理程序。用户可以进行收支明细查看、登记收入和支出,以及选择退出程序。程序通过Scanner获取用户输入,用while循环保持运行,直到用户选择退出。在用户操作过程中,系统会实时更新并显示账户余额。
摘要由CSDN通过智能技术生成
package cn.tedu.work;

import java.util.Scanner;

public class FamilyAcountDemo {
    public static void main(String[] args) {
        //通过Scanner获取用户输入
        Scanner sc = new Scanner(System.in);
        //loopFlag标记 用户控制循环结束
        boolean loopFlag = true;
        //定义家庭chushiyveshu
        double balance = 10000;
        //定义用于
        String details = "收支\t账户金额\t收支金额\t说明\r\n";
        //不关闭程序则一直执行  whlie
        while (loopFlag){
            //主菜单
            System.out.println("——————————登录页面!——————————\n");
            System.out.println("    \t  1、收支明细");
            System.out.println("    \t  2、登记收入");
            System.out.println("    \t  3、登记支出");
            System.out.println("    \t  4、退出!");
            System.out.println("————————————————————————————");
            System.out.print("请输入(1-4):");
            //获取用户第一次输入的编号数据
            int no = sc.nextInt();
            //判断用户输入的编号是否合法   如果不合法  则应用提示用户重新输入
            //用户输入的编号合法则继续往下执行
            while (no<1||no>4){
                System.out.println("输入有误!请重新输入(1-4):");
                no = sc.nextInt();
            }
            //程序能执行到此位置 表示用户输入的编号值时合法的
//            System.out.println("当前输入的编号为:"+no);
            //switch case来进行编号的匹配
            switch (no){
                case 1:
                    System.out.println("——————————当前收支明细记录——————————");
                    System.out.println(details);
                    System.out.println("———————————————————————");
                    break;
                case 2:
                    System.out.println("——————————登记收入——————————");
                    System.out.println("本次收入金额:");
                    //获取用户输入的金额
                    double income = sc.nextDouble();
                    System.out.println("本次收入说明:");
                    //获取用户输入的收入说明
                    String inStr = sc.next();
//                    System.out.println(income+inStr);
                    //在余额的基础上累加当前收入金额
                    balance += income;
                    //将当前收入记录拼接到    变量上
                   details = details+ "收入\t"+balance+"\t"+income+"\t"+inStr+"\r\n";
                    break;
                case 3:
                    System.out.println("登记支出");
                    System.out.println("本次支出金额:");
                    //获取用户输入的金额
                    double outcome = sc.nextDouble();
                    System.out.println("本次支出说明:");
                    //获取用户输入的收入说明
                    String outStr = sc.next();
//                    System.out.println(income+inStr);
                    //在余额的基础上累加当前收入金额
                    balance -= outcome;
                    //将当前收入记录拼接到    变量上
                    details = details+ "支出\t"+balance+"\t"+outcome+"\t"+outStr+"\r\n";
                    break;
                case 4:
                    System.out.println("请确认是否退出(Y/N):");
                    //获取用户输入是否退出的数据
                    String str = sc.next();
                    //判断str是否为Y
                    if (str.equals("Y")||str.equals("y")){
                        //确认退出 结束循环
                        loopFlag =false;
                    }
                    break;
            }
        }
        System.out.println("感谢您的使用!");
    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值