栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

家庭收支记账本

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

家庭收支记账本

家庭收支记账本

家庭收支记账本
  • 家庭收支记账本
  • 前言
  • 一、问题分析
  • 二、实现思路
  • 三、说明

前言

家庭收支记账本能够记录金额的来源,去向和统计金额的多少。

一、问题分析

我们只需要所有的对象拼接成一个字符串输出就行了,由于只是一个小实验,我就把数据存在内存了,没有用到数据库。

二、实现思路

创建一个AccountBook类,代码如下:

package com.etime725.homework;

import java.util.Scanner;


public class AccountBook {
    public static void main(String[] args) {
        //账单条目
        String title = "收支tt备注tt收支金额tt账户余额n";
        //账单金额
        boolean isLoop = true;
        double total = 0;
        do {
            System.out.println("--------------------家庭收支记账本--------------------");
            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 number = getScanner().nextInt();
            System.out.println();
            switch (number) {
                case 1:
                    System.out.println("--------------------家庭收支记账本--------------------");
                    System.out.println(" ");
                    System.out.println(title);
                    System.out.println(" ---------------------------------------------------");
                    System.out.println(" ");
                    break;
                case 2:
                    System.out.println("收入来源:");
                    String setSource = getScanner().next();
                    System.out.println("收入金额:");
                    double setMoney = getScanner().nextDouble();
                    total = total + setMoney;
                    title = title + "n" + "收入tt" + setSource + "tt" + setMoney + "tt" + total + "n";
                    System.out.println("-----------------------登记完成-----------------------");
                    break;
                case 3:
                    System.out.println("支出来源:");
                    String getSource = getScanner().next();
                    System.out.println("支出金额:");
                    double getMoney = getScanner().nextDouble();
                    total = total - getMoney;
                    title = title + "n" + "支出tt" + getSource + "tt" + getMoney + "tt" + total + "n";
                    System.out.println("-----------------------登记完成-----------------------");
                    break;
                case 4:
                    System.out.println("是否退出(Y/N)?");
                    String s = getScanner().next();
                    if (s.equals("Y")) {
                        isLoop = false;
                        System.out.println("退出成功!");
                        break;
                    }
            }
        } while (isLoop);

    }

    public static Scanner getScanner() {
        Scanner scanner = new Scanner(System.in);
        return scanner;
    }
}

运行结果如下:

三、说明

由于输出格式是由字符串拼接而成的,所以会出现格式不对的情况,不影响结果。其中就是用了switch case 语句,还有个do while 循环,不管while 结果是false 还是true,第一次都会执行do{…}中的语句,输入语句我单独写了个方法,感觉方便一些。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1028087.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号