Java实现家庭收支记账软件
题目来自于尚硅谷基础项目1,其中没有使用项目提供的现成的方法
测试类
package test;import face.MainInterFace;
import code.*;
public class MainInterFace_Test {public static void main(String[] args) {MainInterFace testMain = new MainInterFace();testMain.face();Scanf scanf = new Scanf();scanf.scan();}
}
主界面
package face;public class MainInterFace {public void face(){System.out.println("-----------------家庭收支记账软件-----------------");System.out.println();System.out.println(" 1 收支明细");System.out.println(" 2 登记收入");System.out.println(" 3 登记支出");System.out.println(" 4 退 出");System.out.println();System.out.println(" 请选择(1-4):");}
}
核心方法
package code;
import test.*;
import face.*;
import code.*;
import java.util.Scanner;public class MainControl{int balance = 10000;String []inOrPut = new String[99];int []nowBalance = new int[99];int []bills = new int[99];String []details = new String[99];int i = 0;Scanner scanner = new Scanner(System.in);public void detail(){System.out.println("-----------------当前收支明细记录-----------------");System.out.println("收支 账户金额 收支金额 说 明");for(int j = 0;j < i;j++){System.out.println(inOrPut[j]+"\t"+nowBalance[j]+"\t"+bills[j]+"\t "+details[j]);}}public void inCome(){System.out.println("请输入收入金额:");int money = scanner.nextInt();System.out.println("请输入收入明细:");String note = scanner.next();balance = balance + money;inOrPut[i] = "收入";nowBalance[i] = balance;bills[i] = money;details[i] = note;i++;System.out.println("本次收入金额:"+money);System.out.println("本次收入说明:"+note);}public void cost(){System.out.println("请输入支出金额:");int money = scanner.nextInt();System.out.println("请输入支出明细:");String note = scanner.next();balance = balance - money;inOrPut[i] = "支出";nowBalance[i] = balance;bills[i] = money;details[i] = note;i++;System.out.println("本次支出金额:"+money);System.out.println("本次支出说明:"+note);}MainInterFace scanface = new MainInterFace();public void exit(){Scanf SC = new Scanf();System.out.println("确认是否退出(Y/N):");String x = scanner.next();switch (x){case "y":return;case "Y":return;default:{scanface.face();SC.scan();}}}}
流程控制
package code;import java.util.Scanner;
import code.*;
import face.*;
import test.MainInterFace_Test;public class Scanf {Scanner scanner = new Scanner(System.in);MainInterFace scanface = new MainInterFace();MainControl con = new MainControl();public void scan(){String number = scanner.next();switch(number){case "1": con.detail();{scanface.face();scan();};case "2": con.inCome();{scanface.face();scan();};case "3": con.cost();{scanface.face();scan();};case "4": con.exit();break;default:{System.out.println("输入错误,请重新输入");scan();}}}
}
测试页面
-----------------家庭收支记账软件-----------------1 收支明细2 登记收入3 登记支出4 退 出请选择(1-4):2
请输入收入金额:
200
请输入收入明细:
搬砖
本次收入金额:200
本次收入说明:搬砖
-----------------家庭收支记账软件-----------------1 收支明细2 登记收入3 登记支出4 退 出请选择(1-4):
3
请输入支出金额:
5
请输入支出明细:
买红薯
本次支出金额:5
本次支出说明:买红薯
-----------------家庭收支记账软件-----------------1 收支明细2 登记收入3 登记支出4 退 出请选择(1-4):
1
-----------------当前收支明细记录-----------------
收支 账户金额 收支金额 说 明
收入 10200 200 搬砖
支出 10195 5 买红薯
Java实现家庭收支记账软件相关推荐
- java基础(家庭收支记账软件)
家庭收支记账软件 目标 模拟实现一个基于文本界面的<家庭记账软件> 掌握初步的编程技巧和调试技巧 主要涉及以下知识点: 变量的定义 基本数据类型的使用 循环语句 分支语句 方法声明.调用和 ...
- Java实现家庭收支记账软件及编写过程中的注意事项
一.思路 1.明确需求 总需求也就是家庭收支记账软件要实现的功能,要能实现记录家庭的收入与支出,并打印收支明细表. 2.实现步骤 第一步要展示程序的主界面,内容要包含四个菜单选项. 第二步实现根据用户 ...
- java家庭收支记账软件-day01
import java.util.Scanner; public class itemfamily {public static void main(String[] args) {Scanner s ...
- 家庭收支记账软件--Java
家庭收支记账软件–Java 需求描述: 模拟实现基于文本界面的<家庭记账软件>. 该软件能够记录家庭的收入.支出,并能够打印收支明细表. 项目采用分级菜单方式.主菜单如下: 需求说明: 假 ...
- Java项目:家庭收支记账软件
目录 前言 一.任务要求 二.实现代码 总结 前言 最近花了一个星期看了JAVA经典书籍<Java核心技术卷I>,囫囵吞枣般看完,领略了其中大概内容,花时间看视频巩固一下,就去b站看了尚硅 ...
- java家庭收支记账软件
说明: 这篇文章主要运用了一些java基础知识的一个综合运用 主要涉及以下知识点: 变量的定义 基本数据类型的使用 循环语句 分支语句 方法声明.调用和返回值的接收 简单的屏幕 ...
- Java项目一(案例):家庭收支记账软件
Java项目一(案例):家庭收支记账软件 项目概述 软件功能 项目说明 涉及Java知识点 软件需求说明 程序代码示例 FamilyAccount.class文件 自定义Utility.class工具 ...
- Java开发一个家庭收支记账软件
4.请开发一个家庭收支记账软件 界面及操作过程如下所示: -----------------家庭收支记账软件----------------- 1 收支明细 2 登记收入 3 登记支出 4 退 出 请 ...
- 用Java写一个家庭收支记账软件
需要的内容有:收支明细.登记收入.登记支出和退出四个模块.并且能进入每个功能里面. 最好用的方式是用数组实现这个软件,可以是二维数组,也可以是一维数组,直接附上源码. import java.util ...
最新文章
- matlab里1stopt,请帮忙运行下1stopt 程序?(MATLAB没有解出结果)
- ansible2.4 api调用
- StringBuilder 、StringBuffer 、 String
- 音视频技术开发周刊 82期
- linux下clone一直运行,Linux中vgimportclone命令起什么作用呢?
- Random Forest 资源汇总(待续)
- 如何使用Apache Camel,Quarkus和GraalVM快速运行100个骆驼
- css z-index
- MicroPython (一)点亮我的Led
- Gartner发布2020年十大战略科技发展趋势
- 2021届安徽高考成绩查询,安徽2021年高考成绩什么时候公布
- eos 源代码学习笔记一
- 《HALCON机器视觉与算法原理编程实践》第1章 机器视觉概述-学习笔记
- B2B网站平台建设:优势、功能、模块三大方向解析
- 【C语言】如何得出各种数据类型所占内存空间
- Django - installing mysqlclient error: mysqlclient 1.4.0 or newer is required; you have 0.9.3
- 不管发生什么事,最重要的是拥有乐观积极的心态,困难总会过去的。
- Standard EVB硬件开发指南(1)——LCD接口电路
- 分享一开源的闭环步进电机控制器
- Tkinter 库---python小应用 贷款利息计算器
热门文章
- 【温故而知新】JavaWEB回顾(八)
- 闲云野鹤:吃鸡(三)之场景制作:制作毒圈
- cpu、内存、磁盘、操作系统的关系
- rk3066 android4.4,Rooting the Cube U30GT rk3066 android tablet
- 支付宝小程序JS省市区三级联动
- 解决Macm苹果笔记本电脑白屏
- MySql ORDER BY排序用法
- 适合学生不想上学的请假理由(17个)
- Apache JMeter安装
- Error:Execution failed for task ':recordlib:lint'. Lint found errors in the project; aborting buil