【Java学习笔记】之家庭账目管理系统
提示:本文为博主学习笔记,部分代码来源网络,如有错误,恳请斧正!!!
文章目录
- 前言
- 一、Utility类
- 二、FamilyAccount类
- 总结
前言
大一学习了面向过程开发的C语言,总是感觉不太够,于是暑假开始学习面向对象的JAVA语言,开爪!
博主跟的尚硅谷的宋红康老师学习,他讲的实在太细了!!!于是我五天看了170多集,由于之前有一些C语言语法基础,所以看这个前期就觉得容易一些。首先写的是第一个工程家庭账目管理系统。
以下是本篇文章正文内容,下面案例可供参考
对代码的解析已经写入注释中!
一、Utility类
import java.util.Scanner;class Utility{//创建类private static Scanner scanner = new Scanner(System.in);//创建对象//界面菜单的选择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("选择错误,请重新输入:");}elsebreak;}return c;}//用于收入和支出金额的输入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;}//用于收入和支出的说明public static String readString(){String str = readKeyBoard(8);return str;}//用于确认选择的输入,从键盘度Y和Npublic 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;}public static String readKeyBoard(int n){Scanner scanner = new Scanner(System.in);String str = scanner.next();return str;}
}
二、FamilyAccount类
class FamilyAccount{public static void main(String[] args){boolean isFlag = true;//定义一个布尔型变量,用作系统的循环和终止String details = "收支\t账户金额\t\t收支金额\t\t说 明\n";//表头int balance = 1000;//初始账目余额while(isFlag){//进入一个死循环,除非改变isFlag的值,否则无法退出系统System.out.println("----------------家庭收支记账软件----------------\n");//该系统的目录页System.out.println(" 1.收支明细");System.out.println(" 2.登记收入");System.out.println(" 3.登记支出");System.out.println(" 4.退出");System.out.print(" 请选择(1-4):");//获取用户的选择:1-4char selection = Utility.readMenuSelection();//调用Utlity类中的readMenuSelection方法,将得到的参数赋给selectionswitch(selection) {//用户选择模式case '1':System.out.println("------------当前收支明细记录------------");System.out.println(details+"\n\n");System.out.println("-------------------------------------");break;case '2':System.out.println("本次收入金额:");int addMoney = Utility.readNumber();//同样的调用Utility中的readNumber方法,将返回值赋给addMoney这个变量System.out.println("本次收入说明:");String addInfo = Utility.readString();balance+=addMoney;details+=("收入\t\t"+balance+"\t"+addMoney+"\t\t"+addInfo+"\n");System.out.println("当前等级完成\n\n");break;case '3':System.out.println("本次支出金额:");int minusMoney = Utility.readNumber();System.out.println("本次支出说明:");String minusInfo = Utility.readString();if(balance>=minusMoney) {balance-=minusMoney;}details+=("收入\t"+balance+"\t\t\t"+minusMoney+"\t\t\t"+minusInfo+"\n");System.out.println("当前登记完成\n\n");break;case '4':System.out.println("是否确认退出(Y/N)?");char isExit = Utility.readConfirmSelection();if(isExit=='Y') {isFlag=false;}break;}}}
}
总结
以上是基于Java的家庭账目管理系统,后续会进行优化升级,欢迎各位大佬指点!
【Java学习笔记】之家庭账目管理系统相关推荐
- Java学习笔记:公司账目流水表生成报表1
package Part4;import com.yzk18.docs.ExcelHelpers; import org.apache.poi.ss.usermodel.Sheet; import o ...
- Java学习笔记系列-入门篇-计算机基础
Java学习笔记 Java学习笔记是一个持续更新的系列,工作多年,抽个空对自身知识做一个梳理和总结归纳,温故而知新,同时也希望能帮助到更多正在学习Java 的同学们. 本系列目录: 入门篇 计算机基础 ...
- java计算机毕业设计web家庭财务管理系统MyBatis+系统+LW文档+源码+调试部署
java计算机毕业设计web家庭财务管理系统MyBatis+系统+LW文档+源码+调试部署 java计算机毕业设计web家庭财务管理系统MyBatis+系统+LW文档+源码+调试部署 本源码技术栈: ...
- 2022年Java学习笔记目录
一.2022年Java任务驱动课程 任务驱动,统摄知识点:2022年Java程序设计讲课笔记 二.2022年Java学习笔记 (一)踏上Java开发之旅 Java学习笔记1.1.1 搭建Java开发环 ...
- java计算机毕业设计web家庭财务管理系统源码+数据库+系统+lw文档
java计算机毕业设计web家庭财务管理系统源码+数据库+系统+lw文档 java计算机毕业设计web家庭财务管理系统源码+数据库+系统+lw文档 本源码技术栈: 项目架构:B/S架构 开发语言:Ja ...
- java学习笔记11--Annotation
java学习笔记11--Annotation Annotation:在JDK1.5之后增加的一个新特性,这种特性被称为元数据特性,在JDK1.5之后称为注释,即:使用注释的方式加入一些程序的信息. j ...
- java学习笔记13--反射机制与动态代理
本文地址:http://www.cnblogs.com/archimedes/p/java-study-note13.html,转载请注明源地址. Java的反射机制 在Java运行时环境中,对于任意 ...
- 准备写java学习笔记
准备写java学习笔记 java int 转载于:https://blog.51cto.com/cryingcloud/1975267
- Java学习笔记--StringTokenizer的使用
2019独角兽企业重金招聘Python工程师标准>>> Java Tips: 使用Pattern.split替代String.split String.split方法很常用,用于切割 ...
- java学习笔记12--异常处理
java学习笔记系列: java学习笔记11--集合总结 java学习笔记10--泛型总结 java学习笔记9--内部类总结 java学习笔记8--接口总结 java学习笔记7--抽象类与抽象方法 j ...
最新文章
- YII用户注冊和用户登录(五)之进行session和cookie分析 ,并在前后区分session和cookie...
- 电脑上如何安装CAD看图软件及dwg图纸的打开?
- 图论--树的直径--DFS+树形DP模板
- Sum of Paths CodeForces - 1467D
- [转]我是如何走进黑客世界的?
- [币严区块链]以太坊(ETH)Dapp开发入门教程之宠物商店领养游戏
- windows下运行python文件路径总是出错?
- linux操作系统怎么修改时区,Linux操作系统修改时区的方法
- 怎么使用Vegas制作炫彩灯光效果?
- C#给图片加文字水印
- java接口深入理解_深入理解Java的接口和抽象类
- overleaf表格_latex插入表格心得
- 12款好用超赞的国外搜索资源网站 ,开发者们的标配,你都知道吗?不知道就OUT了...
- 对于刺头,怎么办?9个套路支招
- Adobe Illustrator【印前角线X2.0】脚本源码
- PaddleX---MobileNetV2图像分类
- loj6089 小 Y 的背包计数问题
- 适合Java初学入门的几本图书
- [补充内容]关于使用matlab进行方程组求解的线性代数相关知识补充——n维向量
- 通过百度地图实现定位并获取本地当日天气信息
热门文章
- 金山词霸只能最大或最小化问题的解决
- linux内核线程详解,Linux内核线程
- win10黑客教学(5)--xscan漏洞探测
- JAVA学习笔记:目录
- 微软ASP.NET AJAX框架剖析(1)
- 为 Elipse 下载windowsBuilder 实现窗口插件
- 大学生计算机vfp,计算机vfp教学课件
- bulkwrite 批量插入_使用EF扩展EntityFramework.BulkInsert实现批量插入
- php发送邮件pop3,php 发送邮件与pop3邮件登录代码
- truecrypt linux用法,TrueCrypt for Linux好吗