目录

前言

一、任务要求

二、实现代码

总结

前言

最近花了一个星期看了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项目:家庭收支记账软件相关推荐

  1. Java实现家庭收支记账软件

    题目来自于尚硅谷基础项目1,其中没有使用项目提供的现成的方法 测试类 package test;import face.MainInterFace; import code.*; public cla ...

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

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

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

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

  4. golang项目----家庭收支记账软件

    家庭收支记账软件 实现基本功能(先使用面向过程,后面改成面向对象) 项目代码实现改进 面向过程源码 面向对象源码 utils包中 main包中 实现基本功能(先使用面向过程,后面改成面向对象) 编写文 ...

  5. GO学习项目---家庭收支记账软件

    主菜单功能实现: func (f *FamilyAccount) MainMenu() {for {fmt.Println("-----------家庭收支记账软件-----------&q ...

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

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

  7. 3.项目一(家庭收支记账软件)

    家庭收支记账软件 项目一:家庭收支记账软件 1. 项目演示 2. Utility工具类的说明 Utility工具类提供了一系列的方法,方便我们从控制台获取相关数据: 用户的选择(1-4):readMe ...

  8. java家庭收支记账软件

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

  9. java家庭收支记账软件-day01

    import java.util.Scanner; public class itemfamily {public static void main(String[] args) {Scanner s ...

最新文章

  1. Delphi的单元文件详解
  2. C++11列表初始化
  3. 转:优秀程序员的45个习惯
  4. Cesium.js点击事件
  5. (66)UART接口波特率是多少?以及异步采样时钟是多少频率?
  6. Java 身份证工具类
  7. java中的criteria_java-jpa-criteriaBuilder使用入门
  8. delphi IDE插件 cnpack 使用记录
  9. 锂电池 保护板方案 中颖SH367309方案 原理图 PCB 源代码
  10. win10无网络安装.Net Framework3.5
  11. 网件rax40可以刷梅林_Netgear 网件 RAX40 AX3000规格 无线路由器 开箱拆解评测
  12. 数据结构——哈夫曼树及其应用
  13. POE交换机和普通交换机的区别介绍
  14. java学习之面向对象和封装
  15. 8.0服务器维护时间,魔兽世界8.0开服第一天遇紧急维护?网友:叫逆水寒还服务器...
  16. putty之pscp用法
  17. JavaWeb视频教程
  18. 消息的传输控制拒绝和英达
  19. 计算机视觉Baseline网络串烧(AlexNet、NIN、VGG、GoogLeNet、Inception、ResNet、InceptionResNet、DenseNet、SENet、ResNeXt)
  20. java上传图片限制大小_java怎么限制上传图片的大小

热门文章

  1. 64bit ubuntu 14 04 LTS 火狐浏览器广告过滤插件
  2. 建站助手搭建php网站,【产品】特网科技建站助手一键配置PHP环境
  3. why performance testing?
  4. 虾米音乐关闭后还有什么好用的音乐软件?
  5. java 微博客户端_记一个Android微博客户端的开发
  6. Vue2.x项目SPA的SEO解决方案(预渲染-Prerendering)
  7. pcie预取 不预取_浏览器资源提示预取,预连接和预渲染
  8. vue服务器端预渲染prerender-spa-plugin的实践
  9. 浅谈 DataStage
  10. 微信小程序数据填充新闻详情页面