家庭收支记账软件

   昨天没有更新,是因为做到晚上十点太困就睡觉去了,其实昨天收获还挺多的,完成了学习编程以来的第一个实例,还是很有成就感的。
   该软件可实现功能列表化显示、以及收支记录及显示。
   只是只能在运行时输入,程序结束数据丢失,后续可通过数据流将数据写出到相应文件中保存,这个功能以我目前只是可以实现。等到下次运行软件只需将数据导入即可。
package com.IO;
import java.util.*;
public class FamilyEcomomySoftware {
    static Boolean flag=true;//dowhile大循环设为死循环
    //static Boolean loopflag;
    List Income=new ArrayList();//收入容器
    List Outcome=new ArrayList();//支出容器
    public void DengJiShouRu() {//登记收入方法
        System.out.println("登记收入");
        Boolean loopflag;//方法内循环标志,当输入exit时停止循环
        do{//内循环采用dowhile循环,保证可以循环一此
            System.out.println("登记收入");
            Scanner inc = new Scanner(System.in);//键盘输入收入
            String income = inc.nextLine();
            //List Income=new ArrayList();
            Income.add(income);//加入容器
            //Iterator intcome_iterator = Income.iterator();//List集合可使用get方法,若为其他集合则可使用迭代器。
            if (income.equals("exit")) {//判断退出条件
                loopflag=false;
            }else {
                loopflag=true;
            }
            }while(loopflag);
        }



    public void DengJiZhiChu(){
        //登记支出
        Boolean loopflag;//内循环标志
        do{//下述步骤与上个方法同理
            System.out.println("登记支出");
            Scanner ouc = new Scanner(System.in);
            String outcome = ouc.nextLine();
            //List Outcome=new ArrayList();
            Outcome.add(outcome);
            Iterator outcome_iterator = Outcome.iterator();
            if (outcome.equals("exit")) {
                loopflag=false;
            }else {
                loopflag=true;
            }
        }while(loopflag);
    }
    public void ShouZhiMingXi(){
        System.out.println("收支明细");
        for(int i=0;i<Outcome.size();i++){//利用for循环,循环输出收支,可详细加入中文提示
            System.out.println(Outcome.get(i));
        }

        for(int j=0;j<Income.size();j++){
            System.out.println(Income.get(j));
        }
        if(Outcome.isEmpty() && Income.isEmpty()){
            System.out.println("还未登记收支");
        }


    }
    public void JieMian(){//软件主界面,四个选项列表显示,输入对应数字可进入对应功能
        System.out.println("1.收支明细");
        System.out.println("2.登记支出");
        System.out.println("3.登记收入");
        System.out.println("4.退出");

    }

    public static void main(String[] args) {//主方法
        FamilyEcomomySoftware fes = new FamilyEcomomySoftware();//实例化收支记账软件对象
       label:do {//软件一直运行,设为死循环,加入label标签,可实现退出功能
            fes.JieMian();//调用界面函数
            Scanner swi = new Scanner(System.in);
            String choice = swi.nextLine();
            switch (choice) {
                case "1":
                    fes.ShouZhiMingXi();//调用收支明细方法
                    break;
                case "2":
                    fes.DengJiZhiChu();//调用登记支出方法
                    break;
                case "3":
                    fes.DengJiShouRu();//调用登记收入方法
                    break;
                case "4"://退出软件
                    break label;
            }
        }
            while (true) ;
        }
    }
    //下述是对方法的初步实现构思
//该软件方法很简单,只是循环需要考虑

        /*//登记收入
        //System.out.println("登记收入");
        Scanner inc=new Scanner(System.in);
        String income=inc.nextLine();
        List Income=new ArrayList();
        Income.add(income);
        Iterator intcome_iterator=Income.iterator();

        //登记支出
        System.out.println("登记收入");
        Scanner ouc=new Scanner(System.in);
        String outcome=ouc.nextLine();
        List Outcome=new ArrayList();
        Outcome.add(outcome);
        Iterator outcome_iterator=Outcome.iterator();

        //显示收支明细
        for(int i=0;i<Outcome.size();i++){
            System.out.println(Outcome.get(i));
        }

        for(int j=0;j<Income.size();j++){
            System.out.println(Income.get(j));
        }*/






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值