基于Java小案例家庭收入支出记录
基于Java小案例家庭收入支出记录
跟着视频来写的,不喜勿喷,谢谢
package JavaText;public class FamilyAccount {public static void main(String[] args) {// TODO Auto-generated method stubboolean isFlag =true;String details = "收支\t账户金额\t\t收支金额\t\t说明\n";//初始余额int balance = 10000;while(isFlag) {System.out.println("--------家庭收支记账软件----------");System.out.println(" 1 收支明细");System.out.println(" 2 登记收入");System.out.println(" 3 登记支出");System.out.println(" 4 退 出\n");System.out.println(" 请输出(1-4):");//获取用户的选择:1-4char selection = Utility.readMenuSelection();switch(selection) {case'1'://System.out.println("1.收支明细");System.out.println("-------当前收支明细记录-------");System.out.println(details);System.out.println("-----------------------------");break;case'2'://System.out.println("2.登录收入");System.out.println("本次收入金额");int addmoney = Utility.readNumber();System.out.println("本次收入说明");String addinfo = Utility.readString();//处理balancebalance += addmoney;//处理detailsdetails += ("收入\t" + balance + "\t\t" + addmoney + "\t\t" + addinfo + "\n");System.out.println("-------登记完成-------");break;case'3'://System.out.println("3.登记支出");System.out.println("本次支出金额");int minusmoney = Utility.readNumber();System.out.println("本次支出说明" );String minusinfo = Utility.readString();//处理balanceif(balance >= minusmoney) {balance -= minusmoney;//处理deailsdetails += ("收入\t" + balance + "\t\t" + minusmoney + "\t\t" + minusinfo + "\n");}else {System.out.println("支出超出账户余额,支付失败");}System.out.println("-------登记完成-------");break;case'4':System.out.println("确认是否退出(Y/N):");char exit = Utility.readConfirmSelection();if(exit == 'Y') {isFlag = false;}break;}}while(isFlag);}}
package JavaText;import java.util.Scanner;
/**
Utility工具类:
将不同的功能封装为方法,就是可以直接通过调用方法使用它的功能,而无需考虑具体的功能实现细节。
*/
public class Utility {private static Scanner scanner = new Scanner(System.in);/**用于界面菜单的选择。该方法读取键盘,如果用户键入’1’-’4’中的任意字符,则方法返回。返回值为用户键入字符。*/public static char readMenuSelection() {char c;for (; ; ) {String str = readKeyBoard(1);c = str.charAt(0);if (c != '1' && c != '2' && c != '3' && c != '4') {System.out.print("选择错误,请重新输入:");} else break;}return c;}/**用于收入和支出金额的输入。该方法从键盘读取一个不超过4位长度的整数,并将其作为方法的返回值。*/public static int readNumber() {int n;for (; ; ) {String str = readKeyBoard(4);try {n = Integer.parseInt(str);break;} catch (NumberFormatException e) {System.out.print("数字输入错误,请重新输入:");}}return n;}/**用于收入和支出说明的输入。该方法从键盘读取一个不超过8位长度的字符串,并将其作为方法的返回值。*/public static String readString() {String str = readKeyBoard(8);return str;}/**用于确认选择的输入。该方法从键盘读取‘Y’或’N’,并将其作为方法的返回值。*/public static char readConfirmSelection() {char c;for (; ; ) {String str = readKeyBoard(1).toUpperCase();c = str.charAt(0);if (c == 'Y' || c == 'N') {break;} else {System.out.print("选择错误,请重新输入:");}}return c;}private static String readKeyBoard(int limit) {String line = "";while (scanner.hasNext()) {line = scanner.nextLine();if (line.length() < 1 || line.length() > limit) {System.out.print("输入长度(不大于" + limit + ")错误,请重新输入:");continue;}break;}return line;}
}
基于Java小案例家庭收入支出记录相关推荐
- Java基础必须项目一(家庭收入支出软件,详细注释,并且添加日期记录功能)
本软件是模拟家庭收入支出软件,所以登记的数据没有和数据库交互,不能保留.学习这个小项目只是为了熟悉Java中知识点的运用并且了解一些编程的思修.本人也是小白一枚,所以代码都有注释,可以帮助你更好的理清 ...
- Java项目一之实现家庭收入支出登记系统
家庭收入支出登记系统 目录 一.主要涉及的知识点 二.工具类 Utility.java 介绍 三.主体流程图 四.实践操作 五.结果分析 一.主要涉及的知识点 局部变量和基本数据类型 循环语句 ...
- java小项目家庭记账程序
文章目录 java小项目家庭记账程序 **1.项目目标:** 2.项目需求: 3.具体思路: 4.具体代码: 1.页面: 2.Option_1类: 3.Option_2类: 4.Option_3类: ...
- linux小型游戏系统设计,Linux平台下基于JAVA小游戏_设计文档.doc
Linux课程设计报告 课题名称:<Linux平台下基于java小游戏设计> 专 业:2011级计算机科学与技术 组 长:043佘清泉 组 员:007陈威达 008陈学仁 026赖华标 0 ...
- c语言家庭收入支出程序
关于c语言中的家庭收支程序 第一个为无函数的,直接无脑void main程序的维护性极差 第二个为改进后的,使用了函数. 优化前 ----------------------------------- ...
- 基于JAVA小动物领养网站计算机毕业设计源码+数据库+lw文档+系统+部署
基于JAVA小动物领养网站计算机毕业设计源码+数据库+lw文档+系统+部署 基于JAVA小动物领养网站计算机毕业设计源码+数据库+lw文档+系统+部署 本源码技术栈: 项目架构:B/S架构 开发语言: ...
- 【Java小案例】家庭记账软件
一.概述 1.具体需求: 1.首页设有收支明细.登记收入.登记支出.退出四个选项 2.若用户输入不存在的选项数字,请用户重新输入 3.当用户输入一个选项对应的数字,打开该选项的界面,并再次打开首页界面 ...
- Java小项目——家庭记账项目
学习Java已经过了半个月左右了,所学的知识已经能够写一些小程序或者小项目,虽然它可能没有那么高级,但是也能检验你之前所学的全部内容.所以今天就与大家分享一下我的小项目经验. 一.需求说明 该软件能够 ...
- 基于Java基础的家庭收支记账软件
文章目录 前言 一.前期准备 二.整体功能 三.功能模块 四.功能浅谈 1. AccountInfo 类 2.收支明细 3.登记收入/支出 4. 查询账单 五.收获 六.总结 前言 学习完Java基础 ...
最新文章
- 左线性文法和右线性文法_线性代数期末考试复习资料
- SQL Server 2012 数据库镜像配置完整篇
- git命令行完全解读
- Makedown 本地图片问题
- RabbitMQ负载均衡(4)——LVS
- arduino倾斜开关python语言_Arduino小白的学习记录:倾斜开关实验
- 深度学习工程师能力评估标准
- centeros php,CenterOs7 安装oracle19c的方法详解
- python爬虫:爬取医药数据库drugbank
- 181007扇贝有道每日一句
- 东北大学软件项目管理与过程改进复习提纲(2020)——第四章《项目综合管理》
- 企业微信机器人消息发送(文本、图片、文件)
- 北方经贸杂志北方经贸杂志社北方经贸编辑部2022年第10期目录
- 系统架构设计师与系统分析师历年实体分析与解答下载_【系统分析师】07-系统设计...
- U盘格式化后容量变小了恢复教程
- w ndows10启动黑屏,Win10系统开机黑屏怎么办 Windows10开机黑屏的解决方法
- 关于计算机软件的研究生就业,计算机软件与理论研究生毕业就业方向
- win10开机蓝屏_终级解决win10蓝屏代码WHEA_UNCORRECTABLE_ERROR没有之一 心语家园
- LayUi 之 模板引擎
- Unity中OnRenderImage屏幕后处理做Graphics.blit时遇到的一个问题