Java项目:家庭收支记账软件
目录
前言
一、任务要求
二、实现代码
总结
前言
最近花了一个星期看了JAVA经典书籍《Java核心技术卷I》,囫囵吞枣般看完,领略了其中大概内容,花时间看视频巩固一下,就去b站看了尚硅谷的《Java零基础入门教程》,自己完成了其中的项目一:家庭收支记账软件,现在我们来看看具体流程
一、任务要求
1)程序运行开始,出现界面:
--------------------------------家庭收支记账软件---------------------------------------
1 收支明细
2 登记收入
3 登记支出
4 退 出
请选择(1-4):
2)用户可输入一个数字,若不为要求的数字,则输出:
“选择错误,请重新输入:”,并回到初始界面。
3)输入1,则输出:
--------------------------------当前收支明细--------------------------------------------
收支 账户金额 收支金额 说 明
若进行了登记收入与支出收入操作,下面会记录相关数据,如:
--------------------------------当前收支明细--------------------------------------------
收支 账户金额 收支金额 说 明
收入 10200 200 w
并返回初始界面。
4)输入2,则输出:“本次收入金额:”,输入一个整数后输出:“本次收入说明:”,输入说明语句后返回初始界面
5)输入3,则输出:“本次支出金额:”,输入一个整数后输出:“本次支出说明:”,输入说明语句后返回初始界面
6)输入4,则输出:
请选择(1-4):4
是否选择退出<Y/N>:
1.若输入Y,则退出程序
2.若输入N,则返回初始页面
二、实现代码
package FamilyStatement;
import java.util.*;
import java.lang.*;public class FamilyStatement {public static void main(String[] args) {Scanner in=new Scanner(System.in);Buildup x1=new Buildup();//创建对象x1int x=1,i=0,j;int sum=10000,income,outcome;//设置初始金额10000,收入,支出变量储存每次输入String sta[]=new String[100];//创建字符串变量存储说明int mon[]=new int[100];//储存每次的输入输出数据int s[]=new int[100];//存储每次收入支出之后的总金额boolean bo[]=new boolean[100];//存储判断每次是输入还是输出do{x1.build();//先建立一个开始界面int k=in.nextInt();//输入选项switch (k)//判断选项对应的操作{case 1:{x1.check();for(j=1;j<sta.length-2;j++){if(sta[j]!=null) {if (bo[j] == true) {System.out.print("收入 ");System.out.println(s[j] +" "+mon[j] + " "+sta[j]);} else if (bo[i] == false) {System.out.print("支出 ");System.out.println(s[j] +" "+ mon[j] +" " +sta[j]);}}}}break;case 2:{i++;//若匹配则加一x1.income();income=in.nextInt();mon[i]=income;sum+=income;s[i]=sum;System.out.println("本次收入说明:");sta[i]=in.next();bo[i]=true;}break;case 3:{i++;x1.outcome();outcome=in.nextInt();mon[i]=outcome;sum-=outcome;s[i]=sum;System.out.println("本次支出说明:");sta[i]=in.next();bo[i]=false;}break;case 4:{x1.exit();}break;default:System.out.println("选择错误,请重新输入:");}}while(x==1);//使之若不退出则无限循环}}class Buildup
{public void build()//建立初始界面{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.print(" 请选择(1-4):");}public void exit()//退出选项{Scanner in=new Scanner(System.in);String t;char m;System.out.println();System.out.println("是否选择退出<Y/N>:");t=in.next();//输入字符串m=t.charAt(0);//取字符串第一个字符if(m=='Y')System.exit(0);}public void check()//收支表{System.out.println("--------------------------------当前收支明细--------------------------------------------");System.out.println("收支 账户金额 收支金额 说 明 ");}public void income(){System.out.println("本次收入金额:");}//收入表示public void outcome(){System.out.println("本次支出金额:");}//支出表示
}
总结
该项目涉及以下知识点:
*变量的定义
*基本数据类型的使用
*循环语句
*switch case语句
*简单的屏幕输入格式控制
*数组的使用
*面向对象的基本概念与创建对象,使用对象方法
Java项目:家庭收支记账软件相关推荐
- Java实现家庭收支记账软件
题目来自于尚硅谷基础项目1,其中没有使用项目提供的现成的方法 测试类 package test;import face.MainInterFace; import code.*; public cla ...
- java基础(家庭收支记账软件)
家庭收支记账软件 目标 模拟实现一个基于文本界面的<家庭记账软件> 掌握初步的编程技巧和调试技巧 主要涉及以下知识点: 变量的定义 基本数据类型的使用 循环语句 分支语句 方法声明.调用和 ...
- Java实现家庭收支记账软件及编写过程中的注意事项
一.思路 1.明确需求 总需求也就是家庭收支记账软件要实现的功能,要能实现记录家庭的收入与支出,并打印收支明细表. 2.实现步骤 第一步要展示程序的主界面,内容要包含四个菜单选项. 第二步实现根据用户 ...
- golang项目----家庭收支记账软件
家庭收支记账软件 实现基本功能(先使用面向过程,后面改成面向对象) 项目代码实现改进 面向过程源码 面向对象源码 utils包中 main包中 实现基本功能(先使用面向过程,后面改成面向对象) 编写文 ...
- GO学习项目---家庭收支记账软件
主菜单功能实现: func (f *FamilyAccount) MainMenu() {for {fmt.Println("-----------家庭收支记账软件-----------&q ...
- Java项目一(案例):家庭收支记账软件
Java项目一(案例):家庭收支记账软件 项目概述 软件功能 项目说明 涉及Java知识点 软件需求说明 程序代码示例 FamilyAccount.class文件 自定义Utility.class工具 ...
- 3.项目一(家庭收支记账软件)
家庭收支记账软件 项目一:家庭收支记账软件 1. 项目演示 2. Utility工具类的说明 Utility工具类提供了一系列的方法,方便我们从控制台获取相关数据: 用户的选择(1-4):readMe ...
- java家庭收支记账软件
说明: 这篇文章主要运用了一些java基础知识的一个综合运用 主要涉及以下知识点: 变量的定义 基本数据类型的使用 循环语句 分支语句 方法声明.调用和返回值的接收 简单的屏幕 ...
- java家庭收支记账软件-day01
import java.util.Scanner; public class itemfamily {public static void main(String[] args) {Scanner s ...
最新文章
- Delphi的单元文件详解
- C++11列表初始化
- 转:优秀程序员的45个习惯
- Cesium.js点击事件
- (66)UART接口波特率是多少?以及异步采样时钟是多少频率?
- Java 身份证工具类
- java中的criteria_java-jpa-criteriaBuilder使用入门
- delphi IDE插件 cnpack 使用记录
- 锂电池 保护板方案 中颖SH367309方案 原理图 PCB 源代码
- win10无网络安装.Net Framework3.5
- 网件rax40可以刷梅林_Netgear 网件 RAX40 AX3000规格 无线路由器 开箱拆解评测
- 数据结构——哈夫曼树及其应用
- POE交换机和普通交换机的区别介绍
- java学习之面向对象和封装
- 8.0服务器维护时间,魔兽世界8.0开服第一天遇紧急维护?网友:叫逆水寒还服务器...
- putty之pscp用法
- JavaWeb视频教程
- 消息的传输控制拒绝和英达
- 计算机视觉Baseline网络串烧(AlexNet、NIN、VGG、GoogLeNet、Inception、ResNet、InceptionResNet、DenseNet、SENet、ResNeXt)
- java上传图片限制大小_java怎么限制上传图片的大小
热门文章
- 64bit ubuntu 14 04 LTS 火狐浏览器广告过滤插件
- 建站助手搭建php网站,【产品】特网科技建站助手一键配置PHP环境
- why performance testing?
- 虾米音乐关闭后还有什么好用的音乐软件?
- java 微博客户端_记一个Android微博客户端的开发
- Vue2.x项目SPA的SEO解决方案(预渲染-Prerendering)
- pcie预取 不预取_浏览器资源提示预取,预连接和预渲染
- vue服务器端预渲染prerender-spa-plugin的实践
- 浅谈 DataStage
- 微信小程序数据填充新闻详情页面