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("输入有误");
}
}
}
}
目前想到这个方法,欢迎各位在评论下写下你的实现的链接,一起进步。