类与数组的综合应用之银行收支记账软件

请开发一个家庭收支记账软件
界面及操作过程如下所示:
-----------------家庭收支记账软件-----------------
1 收支明细
2 登记收入
3 登记支出
4 退 出
请选择(1-4):
选择1:
-----------------当前收支明细记录-----------------
收支 账户金额 收支金额 说 明
收入 11000 1000 劳务费
支出 10200 800 物业费

选择2:
本次收入金额:1000
本次收入说明:劳务费_
选择3:
本次支出金额:800
本次支出说明:物业费_
根据需求提取出类,属性和方法,完成上述功能

定义两个类,1实体,属性类2.测试执行方法类

Account实体类

public class Account {
	private int type;//收支类型:  1  收入 2 支出
	private double money;//本次记录收支的金额
	private static double balance=10000;//所有对象共享   表示总余额
	private  double newBalance=10000;//最新余额
	private String note;//说明,
	     public Account() {}
	     public Account(int type,double money,String note) {
		this.type=type;
		this.money=money;
		this.note=note;
		if(this.type==1) {
			balance+=money;

		}else if(this.type==2) {
			if (balance < money) {
				System.out.println("余额不足");
			} else {
				balance -= money;
			}
		}
		//
		newBalance=balance;
}
@Override
	public String toString() {
		String str="";
		if(this.type==1) {
			str="收入\t"+this.newBalance+" \t"+this.money+"  \t"+this.note;
		}else  if(this.type==2) {
			str="支出\t"+this.newBalance+" \t"+this.money+"  \t"+this.note;
		}
		return str;
	}
}

测试类:


public class Test {
	public static void main(String[] args) {
		Scanner input=new Scanner(System.in);
		menu();
		int op=input.nextInt();
		boolean bool=true;
		Account[] accounts=new Account[50];
		int size=0;//真实的收支记录个数
			while(bool) {
				switch (op) {
				case 1:
					list(accounts, size);
					menu();
					op=input.nextInt();
					break;
				case 2:
					size=addAccount(accounts, op, size);
					menu();
					op=input.nextInt();
					break;
				case 3:
					size=addAccount(accounts, op, size);
					menu();
					op=input.nextInt();
					break;
				case 4:
					bool=false;
					break;
				default:
					System.out.println("输入有误,请重新输入");
					menu();
					op=input.nextInt();
					break;
				}
			}
	}
	public static  void menu() {
		System.out.println("-----------------家庭收支记账软件-----------------  ");
		System.out.println("1 收支明细   ");
		System.out.println("2 登记收入  ");
		System.out.println("3 登记支出  ");
		System.out.println("4 退    出       ");
		System.out.println("请选择(1-4):");
	}
	public static void list(Account[] accounts,int size) {
		System.out.println("收支\t账户金额  \t收支金额  \t说明     \t");
		//遍历收支记录的数组
		for(int i=0;i<size;i++) {
			System.out.println(accounts[i]);//自动toString  在Account类中 写了自定义的toString方法
		}
	}
	
	public static int  addAccount(Account[] accounts,int op,int size) {
		Scanner input=new Scanner(System.in);
		if(op==2) {//收入
			System.out.println("本次收入金额:");
			double money=input.nextDouble();
			System.out.println("说明:");
			String note=input.next();
			accounts[size++]=new Account(1, money, note);
			
		}else if(op==3) {
			System.out.println("本次支出金额:");
			double money=input.nextDouble();
			System.out.println("说明:");
			String note=input.next();
			accounts[size++]=new Account(2, money, note);
		}
		System.out.println("已记录!");
		return size;
	}
}

本人菜鸟一枚,博客记录学习笔记,学习日常,分享学习心得,欢迎相互学习交流

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
VB收支记账软件电脑版是一款方便实用的记账软件。它通过VB语言编写而成,能够帮助用户轻松管理个人收支信息。 该软件具有以下几个主要功能: 1. 记账功能:用户可以通过该软件记录每笔收入和支出的金额、时间、别等信息。软件提供了多种收入和支出的别供用户选择,如食品、交通、娱乐等。用户只需输入相关信息,软件会自动计算总收入和总支出,并给出详细的报表。 2. 分统计:软件能够根据用户输入的信息自动生成各别的收入和支出统计图表。用户可以清楚地了解自己的消费习惯和收入来源,从而更好地进行预算规划和管理。 3. 账单提醒:软件具有设置账单提醒功能,用户可以根据需求设置提醒时间和内容,以便及时记账和支付各项费用。这个功能对于那些容易遗忘账单的人来说非常有用。 4. 数据备份和恢复:该软件还提供了数据备份和恢复功能。用户可以定期备份记账数据,以防止数据丢失,同时可以随时恢复以往的账目记录。 总的来说,VB收支记账软件电脑版是一款功能全面、简单易用的记账软件。它能够帮助用户高效管理个人财务,提醒用户支付账单,并通过统计分析功能提供对个人收支情况的详细了解,帮助用户制定更合理的消费计划。无论是个人用户还是小型企业,都可以受益于这款软件的便捷和实用性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值