Java基础项目一:家庭记账软件

项目需求:
模拟实现家庭收支记账功能
一、需要以下方面:
1.家庭基金
2.存储收入的数据源:数组1
3.存储支出的数据源:数组2
4.退出软件
二、实现
1.数据源:

String[] day=new String[1000];//存储支出日期
String[] explain=new String[1000];//存储支出说明
double[] cost=new double[1000];//存储支出费用
String[] day2=new String[1000];//存储收入日期
String[] explain2=new String[1000];//存储收入说明
double[] income=new double[1000];//存储收入

2.页面显示:
在这里插入图片描述3.代码实现:

do{
	isFlag=false;
    System.out.println("-------------------家庭收支记账软件----------------");
    System.out.println("                   1.收支明细                                            ");
    System.out.println("                   2.登记收入                                            ");
    System.out.println("                   3.登记支出                                            ");
    System.out.println("                   4.退       出                                            ");
    System.out.println("                   请选择(1-4):请按任意键继续...   ");
    z=scan.nextInt();
    if(z<1||z>4){
    	System.out.println("输入错误编码,请重新输入!");
    	isFlag=true;
    }
}while(isFlag);

代码说明
之所以用do…while()循环结构,是因为如果输入编码错误时,可以重新循环。
4.收支明细:

if(z==1){
	System.out.println("------------------1.收入明细---------------------------");
    System.out.println("日期\t说明\t收入");
    for(int i=0;i<1000;i++){
    	if(income[i]==0){
    		break;
    	}
    	System.out.println(day2[i]+"\t"+explain2[i]+"\t"+income[i]);
    }
	System.out.println("------------------1.支出明细---------------------------");
	System.out.println("日期\t说明\t支出");
	for(int i=0;i<1000;i++){
		if(cost[i]==0){
			break;
    	}
    	System.out.println(day[i]+"\t"+explain[i]+"\t"+cost[i]);
    }
}

5.登记收入

else if(z==2){
                    String as="";
                    do
                    {
                        as="n";
                        System.out.println("------------------2.登记收入---------------------------");
                        System.out.println("日期\t说明\t收入");
                        for(int i=0;i<1000;i++){
                            if(income[i]==0){
                                System.out.print("输入收入日期:");
                                day2[i]=scan.next();
                                System.out.print("输入收入明细:");
                                explain2[i]=scan.next();
                                System.out.print("输入收入费用:");
                                income[i]=scan.nextDouble();
                                balance+=income[i];
                                break;
                            }
                        }
                        System.out.print("请问还要继续输入收入信息吗?(y/n)");
                        as=scan.next();
                    }while(as.equals("y"));
                }

6.登记支出

else if(z==3){
                    String qw="";
                    do {
                        qw="n";
                        System.out.println("------------------3.登记支出---------------------------");
                        System.out.println("日期\t说明\t支出");
                        for (int i = 0; i < 1000; i++) {
                            if (cost[i] == 0) {
                                System.out.print("输入支出日期:");
                                day[i] = scan.next();
                                System.out.print("输入支出明细:");
                                explain[i] = scan.next();
                                System.out.print("输入支出费用:");
                                cost[i] = scan.nextDouble();
                                balance-=cost[i];
                                break;
                            }
                        }
                        System.out.print("请问还要继续输入收入信息吗?(y/n)");
                        aq = scan.next();
                    }while(qw.equals("y"));
                }

7.退出

 else if(z==4){
                    System.out.print("请问确定退出吗?(y/n)");
                    yt="y";//存储是否使用了该功能
                    isFlag2=scan.next();
                }

三、完整代码:

package myaccount;
import java.util.Scanner;
public class My {
    public static void main(String[] args) {
        Scanner scan=new Scanner(System.in);
        boolean isFlag=false;
        String isFlag2="";
        String yt="s";
        String aq="";
        int z=0;
        double balance=10000;
        String[] day=new String[1000];
        String[] explain=new String[1000];
        double[] cost=new double[1000];

        String[] day2=new String[1000];
        String[] explain2=new String[1000];
        double[] income=new double[1000];
        do
        {
            aq="n";
            yt="s";
            do
            {
                isFlag2="y";
                do
                {
                    isFlag=false;
                    System.out.println("-------------------家庭收支记账软件----------------");
                    System.out.println("                   1.收支明细                                            ");
                    System.out.println("                   2.登记收入                                            ");
                    System.out.println("                   3.登记支出                                            ");
                    System.out.println("                   4.退       出                                            ");
                    System.out.println("                   请选择(1-4):请按任意键继续...   ");
                    z=scan.nextInt();
                    if(z<1||z>4){
                        System.out.println("输入错误编码,请重新输入!");
                        isFlag=true;
                    }
                }while(isFlag);
                if(z==1){
                    System.out.println("------------------1.收入明细---------------------------");
                    System.out.println("日期\t说明\t收入");
                    for(int i=0;i<1000;i++){
                        if(income[i]==0){
                            break;
                        }
                        System.out.println(day2[i]+"\t"+explain2[i]+"\t"+income[i]);
                    }
                    System.out.println("------------------1.支出明细---------------------------");
                    System.out.println("日期\t说明\t支出");
                    for(int i=0;i<1000;i++){
                        if(cost[i]==0){
                            break;
                        }
                        System.out.println(day[i]+"\t"+explain[i]+"\t"+cost[i]);
                    }
                }
                else if(z==2){
                    String as="";
                    do
                    {
                        as="n";
                        System.out.println("------------------2.登记收入---------------------------");
                        System.out.println("日期\t说明\t收入");
                        for(int i=0;i<1000;i++){
                            if(income[i]==0){
                                System.out.print("输入收入日期:");
                                day2[i]=scan.next();
                                System.out.print("输入收入明细:");
                                explain2[i]=scan.next();
                                System.out.print("输入收入费用:");
                                income[i]=scan.nextDouble();
                                balance+=income[i];
                                break;
                            }
                        }
                        System.out.print("请问还要继续输入收入信息吗?(y/n)");
                        as=scan.next();
                    }while(as.equals("y"));
                }
                else if(z==3){
                    String qw="";
                    do {
                        qw="n";
                        System.out.println("------------------3.登记支出---------------------------");
                        System.out.println("日期\t说明\t支出");
                        for (int i = 0; i < 1000; i++) {
                            if (cost[i] == 0) {
                                System.out.print("输入支出日期:");
                                day[i] = scan.next();
                                System.out.print("输入支出明细:");
                                explain[i] = scan.next();
                                System.out.print("输入支出费用:");
                                cost[i] = scan.nextDouble();
                                balance-=cost[i];
                                break;
                            }
                        }
                        System.out.print("请问还要继续输入收入信息吗?(y/n)");
                        aq = scan.next();
                    }while(qw.equals("y"));
                }
                else if(z==4){
                    System.out.print("请问确定退出吗?(y/n)");
                    yt="y";
                    isFlag2=scan.next();
                }
            }while(isFlag2.equals("n"));
            if(yt.equals("s")) {
                System.out.print("请问还要继续使用其他功能吗?(y/n)");
                aq = scan.next();
            }
        }while(aq.equals("y"));

    }

}

四、运行结果
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值