《家庭记账软件》

模拟是实现一个基于文本界面的《家庭记账软件》

该程序是全网最全Java零基础入门教程的项目一,可以直接查看p127

  • 掌握逐步的编程技巧和调试技巧
  • 主要涉及以下知识点:
    • 变量的定义
    • 基本数据类型的使用
    • 循环语句
    • 分支语句
    • 方法声明、调用和返回值的接收
    • 简单的屏幕输出格式

话不多说直接上代码

源代码

  • Utility.java

import java.util.Scanner;/*** @ClassName: Utility* @Author: Y_peak* @Date: 2021/08/09/19:14*/
public class Utility {private static Scanner scanner = new Scanner(System.in);public static char readMenuSelection(){char c;while (true){String str = readKeyBoard(1);c = str.charAt(0);if (c != '1' && c != '2' && c!='3' && c!='4'){System.out.print("选择错误,请重新选择:");}else break;}return c;}public static int readNumber(){int n;while (true){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;}public static char readConfirmSelection(){char c;while (true){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){while (true){String str = scanner.next();int len = str.length();if (len <= n){return str;}else {System.out.print("输入错误,请重新输入:");}}}}
  • FamilyAccount.java

import javax.sound.midi.Soundbank;/*** @ClassName: FamilyAccount* @Author: Y_peak* @Date: 2021/08/09/19:30*/
public class FamilyAccount {public static void main(String[] args) {boolean isFlag = true;String userIncomeDetails = ""; //总的收支细节int initAccount = 100000;    //初始余额String instruction;         //单次收支细节int money;                  //收支金额while (isFlag){System.out.println("-----------家庭收支记账软件-----------\n");System.out.println("            1.收支明细   ");System.out.println("            2.登记收入");System.out.println("            3.登记支出");System.out.println("            4.退 出");System.out.print("             请选择:");char selection = Utility.readMenuSelection();switch (selection){case '1':System.out.println("-------------当前收支明细记录---------");System.out.println("收支\t账户金额\t收支金额\t说 明");System.out.println(userIncomeDetails);System.out.println("-----------------------------------");break;case '2':System.out.print("本次收入金额:");money = Utility.readNumber();System.out.print("本次收入说明:");instruction = Utility.readString();initAccount += money;if(money>=1000)userIncomeDetails += "收入\t" + initAccount + '\t' + money + '\t' + instruction + '\n';elseuserIncomeDetails += "收入\t" + initAccount + '\t' + money + "\t\t" + instruction + '\n';System.out.println("--------------登记完成---------------");break;case '3':System.out.print("本次支出金额:");money = Utility.readNumber();System.out.print("本次支出说明:");instruction = Utility.readString();if(money>initAccount){System.out.println("支出超出支付额度,支付失败····");}else {initAccount -= money;if(money>=1000)userIncomeDetails += "支出\t" + initAccount + '\t' + money + '\t' + instruction + '\n';elseuserIncomeDetails += "支出\t" + initAccount + '\t' + money + "\t\t" + instruction + '\n';System.out.println("--------------登记完成---------------");}break;case '4':System.out.println("确认是否退出(Y/N):");if(Utility.readConfirmSelection() == 'Y') {isFlag = false;}break;}}}
}

家庭记账软件 —— Java相关推荐

  1. Java项目之家庭记账软件

    项目要求 要求实现一个基于文本界面的记账软件,模拟实现一个基于文本界面的<家庭记账软件>,掌握初步的编程技巧和调试技巧. 主要涉及以下知识点: - 局部变量和基本数据类型 - 循环语句 - ...

  2. Java模拟实现一个基于文本界面的《家庭记账软件》

    主要涉及以下知识点: 变量的定义 基本数据类型的使用 循环语句 分支语句 方法声明.调用和返回值的接收 简单的屏幕输出格式控制 需求说明 模拟实现基于文本界面的<家庭记账软件>. 该软件能 ...

  3. Java实现家庭记账软件(文本界面)

    家庭记账软件 一.需求 模拟实现基于文本界面的家庭记账软件. 此软件能够记录家庭收入.支出,并打印收支明细表. 项目采用分级菜单方式.主菜单如下: 二.分析 主要设计以下知识点: 局部变量和基本数据类 ...

  4. 家庭收支记账软件--Java

    家庭收支记账软件–Java 需求描述: 模拟实现基于文本界面的<家庭记账软件>. 该软件能够记录家庭的收入.支出,并能够打印收支明细表. 项目采用分级菜单方式.主菜单如下: 需求说明: 假 ...

  5. Java项目一 家庭记账软件

    目录 概述 项目要求 代码 概述 项目来源:B站的尚硅谷java教程 这套视频总的来说还是很良心的,适合快速上手,但是要想深入了解原理的话,深度上还是差一点. 其实这套视频里涉及的练习也谈不上是项目, ...

  6. Java阶段项目一 家庭记账软件

    模拟实现基于文本界面的<家庭记账软件>. 该软件能够记录家庭的收入.支出,并能够打印收支明细表. 项目采用分级菜单方式.主菜单如下: -----------------家庭收支记账软件-- ...

  7. Java 编写一个家庭记账软件 -25天 学习笔记

    练习 package com.xin.base; import java.util.Scanner;public class Part {public static void main (String ...

  8. 小白自学笔记——JAVA基础 2.12 项目一 家庭记账软件

    需求说明 模拟实现基于文本界面的<家庭记账软件>. 该软件能够记录家庭的收入.支出,并能够打印收支明细表. 假设家庭起始的生活基本金为10000元. 每次登记收入(菜单2)后,收入的金额应 ...

  9. java——文本界面的《家庭记账软件》

    模拟实现一个基于文本界面的家庭记账软件 需求:     该软件能够记录家庭的收入.支出,并能够打印支明细表     假设家庭起始的生活基本金为10000元     每次登记支出(菜单3)后,支出的金额 ...

最新文章

  1. XMT.com超200万被区块链终端交易
  2. Windows下Node.js开发入门(1)
  3. 装服务器的时候卡在复制文件,子域无法安装,卡在复制架构目录分区
  4. MethodTrace 生成的trace文件为空
  5. appium desktop 1.7 byName不能用,重写
  6. [BZOJ 2659] [Beijing wc2012] 算不出的算式
  7. php是啥_php是什么
  8. 河北科技大学计算机考研率,河北科技大学研究生,河北科技大学考研率!
  9. SpringBoot中@Email报错解决
  10. python colorbar设置大小及位置_matplotlib colorbar更改轴大小
  11. javascript自定义alert弹窗
  12. Docker配置阿里云加速器
  13. HLW8032在stm32f413zh上的移植(基于HAL库)
  14. 【OPNsense】广东电信拨号用户通过OPNsense获取原生IPV6地址
  15. CentOS 7安装/卸载Redis,配置service服务管理
  16. 选中文本弹出对话框效果(如百度文库)
  17. UC浏览器如何开启html5,如何开启手机uc浏览器中的极速模式
  18. 团队如何提高执行力,总结以下几点:
  19. 组合数据类型综合练习:英文词频统计
  20. 360安全卫士和火绒之间的事

热门文章

  1. RxSwift之深入解析特殊序列deallocating与deallocated的源码实现
  2. Check failed: weights_.Size() == num_row_ (38997 vs. 383852) : Size of weights must equal to number.
  3. Django —— 模型层 —— QuerySet —— QuerySet方法参考
  4. 95. Unique Binary Search Trees II 不同的二叉搜索树 II
  5. 第13章 Django框架
  6. Deep-Learning-with-Python] 文本序列中的深度学习
  7. 【MFC】工具栏按钮多选效果本
  8. 【MFC】MFC对话框类
  9. 【电子电路】上拉电阻与下拉电阻有什么作用
  10. html怎样做登录页面,使用HTML 5和CSS3制作登录页面完整步骤