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 stubSystem.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 stubSystem.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("输入有误");}}}
}

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

Java开发一个家庭收支记账软件相关推荐

  1. 用Java写一个家庭收支记账软件

    需要的内容有:收支明细.登记收入.登记支出和退出四个模块.并且能进入每个功能里面. 最好用的方式是用数组实现这个软件,可以是二维数组,也可以是一维数组,直接附上源码. import java.util ...

  2. Java项目:家庭收支记账软件

    目录 前言 一.任务要求 二.实现代码 总结 前言 最近花了一个星期看了JAVA经典书籍<Java核心技术卷I>,囫囵吞枣般看完,领略了其中大概内容,花时间看视频巩固一下,就去b站看了尚硅 ...

  3. 基于Java基础的家庭收支记账软件

    文章目录 前言 一.前期准备 二.整体功能 三.功能模块 四.功能浅谈 1. AccountInfo 类 2.收支明细 3.登记收入/支出 4. 查询账单 五.收获 六.总结 前言 学习完Java基础 ...

  4. 家庭收支记账软件(Java简易版)

    设计一个 家庭收支记账软件 需求说明 模拟实现基于文本界面的<家庭记账软件> 该软件能够记录家庭的收入.支出,并能够打印收支明细表. 项目采用分级菜单方式.主菜单如下: 分析 需要使用Sc ...

  5. 家庭收支记账软件--Java

    家庭收支记账软件–Java 需求描述: 模拟实现基于文本界面的<家庭记账软件>. 该软件能够记录家庭的收入.支出,并能够打印收支明细表. 项目采用分级菜单方式.主菜单如下: 需求说明: 假 ...

  6. java基础(家庭收支记账软件)

    家庭收支记账软件 目标 模拟实现一个基于文本界面的<家庭记账软件> 掌握初步的编程技巧和调试技巧 主要涉及以下知识点: 变量的定义 基本数据类型的使用 循环语句 分支语句 方法声明.调用和 ...

  7. java家庭收支记账软件

    说明: 这篇文章主要运用了一些java基础知识的一个综合运用 主要涉及以下知识点:  变量的定义  基本数据类型的使用  循环语句  分支语句  方法声明.调用和返回值的接收  简单的屏幕 ...

  8. Java项目一(案例):家庭收支记账软件

    Java项目一(案例):家庭收支记账软件 项目概述 软件功能 项目说明 涉及Java知识点 软件需求说明 程序代码示例 FamilyAccount.class文件 自定义Utility.class工具 ...

  9. Java实现家庭收支记账软件及编写过程中的注意事项

    一.思路 1.明确需求 总需求也就是家庭收支记账软件要实现的功能,要能实现记录家庭的收入与支出,并打印收支明细表. 2.实现步骤 第一步要展示程序的主界面,内容要包含四个菜单选项. 第二步实现根据用户 ...

最新文章

  1. java中new BigDecimal的坑
  2. OpenCV C++ 02 - Create a Blank Image Display
  3. mysql 分词搜索_实战 | canal 实现Mysql到Elasticsearch实时增量同步
  4. 浅谈 OneAPM 在 express 项目中的实践
  5. DevSecOps简介(二)
  6. 【C++】类型转换(const_cast、dynamic_cast、static_cast、reinterpret_cast)
  7. java mysql jdbc 封装_利用Java针对MySql封装的jdbc框架类 JdbcUtils 完整实现(包括增删改查、JavaBean反射原理,附源代码)...
  8. CentOS 7下编译FreeSWITCH 1.6
  9. 浪潮服务器dhcp修改ip,dhcp服务器ip地址池修改
  10. Quantile g-computation的介绍及R实现
  11. leaflet实现风场图
  12. 五次面试,程序员的悲催轮回
  13. 计算机编程语言排行榜—TIOBE世界编程语言排行榜(2020年11月份最新版)
  14. php概率计算_PHP 真实概率计算(百分比随机分配)
  15. 免费mp3音乐文件上传外链空间精选合辑
  16. python:unsupported format character
  17. 遗留物检测算法及实现
  18. 9月操盘策略 热点一一细数(2)
  19. 一个程序员的真实故事(下)
  20. 数据分级分类实施指南_逆袭!对数据分类分级治理快速提高企业数据管理水平...

热门文章

  1. 1.1随机试验与样本空间
  2. 视屏标签 video 的用法
  3. 台式计算机显示太大字,电脑打开软件字太大怎么办
  4. 示波器的探头补偿方法
  5. 照片heic怎么转成jpg?
  6. python flag用法_花了一晚上时间,终于把Python的基本用法归纳好了!
  7. 总监和总监不一样,看管理人数
  8. 计算4000000000内的最大f(n)=n值---字符串的问题python实现(五岁以下儿童)
  9. 快速建站该怎么实现?
  10. IT项目经理必须清楚和把握IT项目管理的弹性特点