eclipse编写的Java家庭收支记账软件
eclipse编写的Java家庭收支记账软件
界面及操作过程如下所示:
-----------------家庭收支记账软件-----------------
1 收支明细
2 登记收入
3 登记支出
4 退 出
请选择(1-4):
选择1:
-----------------当前收支明细记录-----------------
收支 账户金额 收支金额 说 明
收入 11000 1000 劳务费
支出 10200 800 物业费
选择2:
本次收入金额:1000
本次收入说明:劳务费_
选择3:
本次支出金额:800
本次支出说明:物业费_
根据需求提取出类,属性和方法,完成上述功能
运行结果
测试类Client
package com.gem.记账;import java.util.Scanner;public class Client {public static void main(String[] args) {Home home = new Home();//实例化Scanner scanner = new Scanner(System.in);while (true) { //循环界面功能menue(scanner, home); //界面}}private static void menue(Scanner scanner, Home home) {System.out.println("-----------家庭收支记账软件---------------");System.out.println("1.收支明细");System.out.println("2.登记收入");System.out.println("3.登记支出");System.out.println("4.退出");System.out.println("选择(1-4)");int choice = Integer.parseInt(scanner.nextLine().trim());//选择switch (choice) {case 1://收支明细shouzhi(home);break;case 2://登记收入dengji(scanner, home);break;case 3://登记支出zhichu(scanner, home);break;case 4://退出System.exit(0);break;default:System.out.println("输入出错!");break;}}//等级收入private static void dengji(Scanner scanner, Home home) {// TODO Auto-generated method stubSystem.out.println("选择2:");System.out.println(" 本次收入金额为:");double statemoney = Double.parseDouble(scanner.nextLine().trim());System.out.println("本次收入说明");String shuoming = scanner.nextLine().trim();String state = "收入";Recond a1 = new Recond(statemoney, shuoming, state);//传递收入金额,收入说明,和判断是"收入"home.dengjishouru(a1);}//等级支出private static void zhichu(Scanner scanner, Home home) {// TODO Auto-generated method stubSystem.out.println("选择3:");System.out.println(" 本次支出金额为:");double statemoney = Double.parseDouble(scanner.nextLine().trim());System.out.println("本次收入说明");String shuoming = scanner.nextLine().trim();String state = "支出";Recond a1 = new Recond(statemoney, shuoming, state);home.dengjizhichu(a1);}//全部收支明细private static void shouzhi(Home home) {home.shouzhimingxi();}}
类Home
package com.gem.记账;public class Home {Recond recond[] = new Recond[100];//对象数组static int count = 0;//记录长度//显示所有信息public void shouzhimingxi() {System.out.println("--------当前收支明细记录------------------");System.out.println("id\t收支\t账户金额\t收支金额\t说 明");if (count == 0) {System.out.println("暂无信息显示,请重新录入");return;}for (int i = 0; i < count; i++) {recond[i].showlist();}System.out.println("-------------------------------------------");}//登记收入public void dengjishouru(Recond recond) {this.recond[this.count++] = recond; //先把键盘录入的数据放到recond[count]里面if ((count - 1) == 0) { //如果是第一次等级 那么在初始化money的基础上进行累加this.recond[this.count - 1].setMoney(this.recond[this.count - 1].getMoney() + this.recond[this.count - 1].getStatemoney());} else { //如果是第二次之后,那么则在recond对象数组上一次的money基础上进行累加,再赋值给当前的this.recond[this.count - 1].setMoney(this.recond[this.count - 2].getMoney() + this.recond[this.count - 1].getStatemoney());}System.out.println("登记收入成功");}//登记支出public void dengjizhichu(Recond recond) { //支出原理同收入原理this.recond[this.count++] = recond;if ((count - 1) == 0) {this.recond[this.count - 1].setMoney(this.recond[this.count - 1].getMoney() - this.recond[this.count - 1].getStatemoney());} else {this.recond[this.count - 1].setMoney(this.recond[this.count - 2].getMoney() - this.recond[this.count - 1].getStatemoney());}System.out.println("登记支出成功");}
}
Recond类
package com.gem.记账;public class Recond {private static int bianhao = 1;//利用静态变量实现每次创建id+1private int id;//收支的编号private String state; //用于判断是收入/支出状态private double money = 10000; //账户余额初始值private double statemoney; //收支金额private String shuoming; //说明{this.id = bianhao++;}//自定义构造方法public Recond(double money2, String shuoming2, String state2) {// TODO Auto-generated constructor stubthis.statemoney = money2;this.shuoming = shuoming2;this.state = state2;}public void showlist() {System.out.println(this.id + "\t" + this.state + "\t" + this.money + "\t" + this.statemoney + "\t" + this.shuoming);}public static int getBianhao() {return bianhao;}public static void setBianhao(int bianhao) {Recond.bianhao = bianhao;}public int getId() {return id;}public void setId(int id) {this.id = id;}public String getState() {return state;}public void setState(String state) {this.state = state;}public double getMoney() {return money;}public void setMoney(double money) {this.money = money;}public double getStatemoney() {return statemoney;}public void setStatemoney(double statemoney) {this.statemoney = statemoney;}public String getShuoming() {return shuoming;}public void setShuoming(String shuoming) {this.shuoming = shuoming;}}
eclipse编写的Java家庭收支记账软件相关推荐
- java家庭收支记账软件-day01
import java.util.Scanner; public class itemfamily {public static void main(String[] args) {Scanner s ...
- java家庭收支记账软件
说明: 这篇文章主要运用了一些java基础知识的一个综合运用 主要涉及以下知识点: 变量的定义 基本数据类型的使用 循环语句 分支语句 方法声明.调用和返回值的接收 简单的屏幕 ...
- Java实现家庭收支记账软件及编写过程中的注意事项
一.思路 1.明确需求 总需求也就是家庭收支记账软件要实现的功能,要能实现记录家庭的收入与支出,并打印收支明细表. 2.实现步骤 第一步要展示程序的主界面,内容要包含四个菜单选项. 第二步实现根据用户 ...
- java编写家庭收支记录,Java家庭收支记账小项目(java基础)
Java家庭收支记账小项目(java基础) Java家庭收支记账小项目(java基础) 需求说明: 模拟实现基于文本界面的<家庭记账软件>. 该软件能够记录家庭的收入.支出,并能够打印收支 ...
- 家庭收支记账软件--Java
家庭收支记账软件–Java 需求描述: 模拟实现基于文本界面的<家庭记账软件>. 该软件能够记录家庭的收入.支出,并能够打印收支明细表. 项目采用分级菜单方式.主菜单如下: 需求说明: 假 ...
- Java实现家庭收支记账软件
题目来自于尚硅谷基础项目1,其中没有使用项目提供的现成的方法 测试类 package test;import face.MainInterFace; import code.*; public cla ...
- Java项目:家庭收支记账软件
目录 前言 一.任务要求 二.实现代码 总结 前言 最近花了一个星期看了JAVA经典书籍<Java核心技术卷I>,囫囵吞枣般看完,领略了其中大概内容,花时间看视频巩固一下,就去b站看了尚硅 ...
- java基础(家庭收支记账软件)
家庭收支记账软件 目标 模拟实现一个基于文本界面的<家庭记账软件> 掌握初步的编程技巧和调试技巧 主要涉及以下知识点: 变量的定义 基本数据类型的使用 循环语句 分支语句 方法声明.调用和 ...
- Java项目一(案例):家庭收支记账软件
Java项目一(案例):家庭收支记账软件 项目概述 软件功能 项目说明 涉及Java知识点 软件需求说明 程序代码示例 FamilyAccount.class文件 自定义Utility.class工具 ...
最新文章
- Ubuntu 虚拟机空间不足增加空间笔记
- MAC 下SVN 删除文件失败 提示emains in tree-conflict
- Golang modules 初探
- java JFrame 设置背景颜色无效的理解
- 开源,免费和跨平台 - MVP ComCamp 2015 KEYNOTE
- css3 :nth-child()选择器的使用
- flush方法和close方法的区别
- 【拆解】华为Mate Xs ,胶水用的出乎意外的少!
- 公司项目拓扑的演变过程
- 最大限度地降低多线程 C# 代码的复杂性
- 987. 二叉树的垂序遍历
- el表达式 多条件判断
- 几何畸变图像恢复 openCV3 - 数字图像处理作业3
- MyBatis中的@Mapper注解 @Mappe与@MapperScan关系
- 保姆级别mysql 基础练习题
- 阿里云云计算 52在线实验--云监控初体验
- 太强了 GitHub中文开源项目榜单出炉,暴露了程序员的硬性需求
- ADSL拨号代理服务器实现HTTP代理的搭建过程
- 【NodeJS】Codecademy学习笔记
- Java之支付宝支付(电脑网站支付)案例实战