Java开发一个家庭收支记账软件

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

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

/**
 * 
 */
package com.gem.demo.day05_practice;

/**
 *
 * Description:
 *
 * @author HadwinLing
 *
 * @date 2020年1月14日下午6:31:36
 *
 * @version 0.0.1 
 *
 */
public class Home {
	double income;
	double expend;
	double all;
	String IncomeDetail;
	String expendDetail;
	Home(){
		income = 0;
		expend= 0;
		all = 10000;
	}
	Home(double all,double income, double expend,String incomeDetail,String expendDetail){
		this.all = all;
		this.income = income;
		this.expend = expend;
		this.IncomeDetail = incomeDetail;
		this.expendDetail = expendDetail;
	}
	
	
	public double getAll() {
		return all;
	}
	public void setAll(double all,double income,double expend) {
		this.all = all+income-expend;
	}
	public double getIncome() {
		return income;
	}
	public void setIncome(double income) {
		
		this.income = income;
	}
	public double getExpend() {
		return expend;
	}
	public void setExpend(double expend) {
		this.expend = expend;
	}

	public String getIncomeDetail() {
		return IncomeDetail;
	}
	public void setIncomeDetail(String incomeDetail) {
		IncomeDetail = incomeDetail;
	}
	public String getExpendDetail() {
		return expendDetail;
	}
	public void setExpendDetail(String expendDetail) {
		this.expendDetail = expendDetail;
	}
	void printIncome() {
		System.out.println("收入 \t"+(all+income-expend)+"\t"+income+"\t"+IncomeDetail);
	}
	void printExpend() {
		System.out.println("支出 \t"+(all+income- expend)+"\t"+expend+"\t"+expendDetail);
	}
	public void printAll() {
		// TODO Auto-generated method stub
		System.out.println("-----------------当前收支明细记录-----------------");
		System.out.println("收支 "+"\t"+"账户金额" +"\t"+"收支金额 "+"\t"+"说  明");
		printIncome();
		printExpend();
		System.out.println("------------------------------------");
	}
}

类的测试

package com.gem.demo.day05_practice;

import java.util.Scanner;

public class HomeTest {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		System.out.println("-----------------家庭收支记账软件----------------- ");
		System.out.println("1:收支明细");
		System.out.println("2:登记收入");
		System.out.println("3:登记支出");
		System.out.println("4:退出");
		Scanner input = new Scanner(System.in);
		Home  h = new Home();
		boolean flag =true;
		while(flag) {
			System.out.println("请选择(1~4)");
			int num = input .nextInt();
			switch(num) {
				case 1:
					h.printAll();
					break;
				case 2:
					System.out.print("本次收入金额为:");
					int income = input.nextInt();
					System.out.print("本次收入说明为:");
					String incomeDetail = input.next();
					h.setIncome(income);
					h.setIncomeDetail(incomeDetail);
					break;
				case 3:
					System.out.print("本次支出金额为:");
					int expend = input.nextInt();
					System.out.print("本次支出说明为:");
					String expendDetail = input.next();
					h.setExpend(expend);
					h.setExpendDetail(expendDetail);
					break;
				case 4:
					flag = false;
					break;
				default:
						System.out.println("输入有误");
				}
		}
	}
}

目前想到这个方法,欢迎各位在评论下写下你的实现的链接,一起进步。

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
java语言写的android系统,用于个人账目管理,课程设计上写的欢迎下载 package moneymanager.moneymanager; import android.content.ContentValues; import android.content.Context; import android.database.Cursor; import android.database.SQLException; import android.database.sqlite.SQLiteDatabase; import android.database.sqlite.SQLiteOpenHelper; import android.util.Log; /* * * 데이터베이스를 관리하는 클래스입니다. * */ public class DBAdapter { private static final String TAG = "NotesDbAdapter"; private DatabaseHelper mDbHelper; private SQLiteDatabase mDb; // 데이터베이스이름과 테블이름들을 정의 private static final String DATABASE_NAME = "MoneyManagerDB"; private static final int DATABASE_VERSION = 2; private static final String DATABASE_SETTING_TABLE = "SettingTbl"; private static final String DATABASE_BADGET_TABLE = "BadgetTbl"; private static final String DATABASE_PAYMENT_TABLE = "PaymentTbl"; // 테블안의 항목들을 정의 public static final String KEY_SETTINGTBL_ID = "ID"; public static final String KEY_SETTINGTBL_NAME = "Name"; public static final String KEY_SETTINGTBL_VALUE = "Value"; public static final String KEY_BADGETTBL_ID = "ID"; public static final String KEY_BADGETTBL_ITEM = "Item"; public static final String KEY_BADGETTBL_MONEY = "Money"; public static final String KEY_PAYMENTTBL_ID = "ID"; public static final String KEY_PAYMENTTBL_BADGETID = "BadgetID"; public static final String KEY_PAYMENTTBL_OUTDATE = "OutDate"; public static final String KEY_PAYMENTTBL_MONEY = "Money"; public static final String KEY_PAYMENTTBL_NOTE = "Note"; private final Context mCtx; private static class DatabaseHelper extends SQLiteOpenHelper { DatabaseHelper(Context context) { super(context, DATABASE_NAME, null, DATABASE_VERSION); } @Override public void onCreate(SQLiteDatabase db) { String strCreateTbl; // SettingTbl생성 strCreateTbl = "CREATE TABLE " + DATABASE_SETTING_TABLE + " (" + KEY_SETTINGTBL_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " + KEY_SETTINGTBL_NAME + " TEXT NOT NULL, " + KEY_SETTINGTBL_VALUE + " TEXT NOT NULL);"; db.execSQL(strCreateTbl); // BadgetTbl생성 strCreateTbl = "CREATE TABLE " + DATABASE_BADGET_TABLE + " (" + KEY_BADGETTBL_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " + KEY_BADGETTBL_ITEM + " TEXT NOT NULL, " + KEY_BADGETTBL_MONEY + " INTEGER NOT NULL);"; db.execSQL(strCreateTbl); // PaymentTbl생성 strCreateTbl = "CREATE TABLE " + DATABASE_PAYMENT_TABLE + " (" + KEY_PAYMENTTBL_ID + " INTEGER PRIMARY KEY AUTOINCREMENT, " + KEY_PAYMENTTBL_BADGETID + " INTEGER NOT NULL, " + KEY_PAYMENTTBL_OUTDATE + " TEXT NOT NULL, " + KEY_PAYMENTTBL_MONEY + " INTEGER NOT NULL, " + KEY_PAYMENTTBL_NOTE + " TEXT);"; db.execSQL(strCreateTbl); } ......

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值