Java项目_家庭记账(简易版)

news2024/9/27 23:30:50

文章目录

  • 简介
  • 代码实现

简介

该项目主要用来练习,Java的变量,运算符,分支结构和循环结构的知识点。
程序界面如下:
在这里插入图片描述
登记收入
在这里插入图片描述
登记支出
在这里插入图片描述
在这里插入图片描述
收支明细
在这里插入图片描述
程序退出
在这里插入图片描述

代码实现

package project;

import java.util.Scanner;

import static java.lang.System.exit;

/**
 * ClassName: Account
 * Package: project
 * Description: 家庭收支记账软件(简易版)
 *
 * @Author: Ethan
 * @Create 2023/10/24 20:50
 * @Version 1.0
 */
public class Account {
    public static void main(String[] args) {
        home();
        Scanner scanner = new Scanner(System.in);
        int btn = scanner.nextInt();
        String detail = "";
        int balance = 0;
        while( true ) {
            switch (btn) {
                case 1:
                    if(detail.equals("")) {
                        System.out.println("暂无记录!");
                    } else {
                        System.out.println("-------------------当前收支明细记录-------------------");
                        System.out.println("收支\t账户金额\t收支金额\t说明");
                        System.out.println(detail);
                    }
                    break;
                case 2:
                    System.out.println("收入金额:");
                    int in = scanner.nextInt();
                    balance += in;
                    System.out.println("收入说明:");
                    String inExplain = scanner.next();
                    detail += ("收入\t" + balance + "\t" + in + "\t" + inExplain + "\n");
                    break;
                case 3:
                    System.out.println("支出金额:");
                    int out = scanner.nextInt();
                    if( balance >= out){
                        balance -= out;
                        System.out.println("支出说明:");
                        String outExplain = scanner.next();
                        detail += ("支出\t" + balance + "\t" + out + "\t" + outExplain + "\n");
                    } else {
                        System.out.println("余额不足!");
                    }
                    break;
                case 4:
                    System.out.println("确定退出吗?(Y/N)");
                    char confirm = scanner.next().toLowerCase().charAt(0);
                    if(confirm == 'y') {
                        System.out.println("系统退出");
                        exit(0);
                    }
                default:
                    System.out.println("输入有误!");
            }
            home();
            btn = scanner.nextInt();
        }
    }

    /**
     * @ description: 用来打印程序主界面
     * @ return: void无返回值
     */
    public static void home() {
        System.out.println("-------------------家庭收支记账软件-------------------");
        System.out.println("                   1.收支明细");
        System.out.println("                   2.登记收入");
        System.out.println("                   3.登记支出");
        System.out.println("                   4.退出");
        System.out.println("                   请选择(1~4):");
    }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1130497.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【疑问解决】- 源码Enmu枚举类的toString里面的name是哪里来的,什么时候传入的?

起因是听课到 该段的输出boy输出什么&#xff1f; 答案就是输出BOY&#xff0c;但韩老师解释的有点笼统。 但是我看了一眼源码关于这个name确实有点没头绪 public abstract class Enum<E extends Enum<E>>implements Comparable<E>, Serializable {/*** T…

可自由搭建的能源管理平台,轻松实现高效节能

随着科技的不断发展&#xff0c;能源问题越来越重要。为了提高能源的利用效率&#xff0c;减少能源浪费&#xff0c;能源用能企业纷纷开始注重能源管理工作&#xff0c;并想要一款可以进行高效管理的工具。智慧能源管理平台&#xff0c;是一款可自由搭建的能源管理平台&#xf…

【从0到1设计一个网关】自研网关的架构搭建

文章目录 项目骨架搭建领域模型与DDD核心上下文模型封装静态配置的加载组件生命周期项目骨架搭建 这里我使用的IDE工具是IDEA。 从上文中我们了解到,我们的项目大概有五个模块,Client,Common,Register Center,Config Center,Core这五个模块。 下面开始具体骨架的搭建,…

Mysql在ubuntu22.04上安装配置

更新并下载Mysql sudo apt update sudo apt install mysql-server启动Mysql服务 sudo systemctl start mysql安全配置 包括设置密码、删除匿名用户、禁止远程root登录等&#xff0c;按提示进行即可。 sudo mysql_secure_installation是否设置密码&#xff1a;是 三种强度密…

使用 DDPO 在 TRL 中微调 Stable Diffusion 模型

引言 扩散模型 (如 DALL-E 2、Stable Diffusion) 是一类文生图模型&#xff0c;在生成图像 (尤其是有照片级真实感的图像) 方面取得了广泛成功。然而&#xff0c;这些模型生成的图像可能并不总是符合人类偏好或人类意图。因此出现了对齐问题&#xff0c;即如何确保模型的输出与…

重装win11,个人记录详细步骤-干货

重装win11&#xff0c;个人记录详细步骤-干货 下载镜像-windows官网 https://www.microsoft.com/zh-cn/software-download/windows11%20 安装的选这个就行 虽然他这里写的是家庭版&#xff0c;进去里面就可以选择其他版本 重装win11有个前提 系统最低要求 本文列出了 Windo…

Databend 开源周报第 116 期

Databend 是一款现代云数仓。专为弹性和高效设计&#xff0c;为您的大规模分析需求保驾护航。自由且开源。即刻体验云服务&#xff1a;https://app.databend.cn 。 Whats On In Databend 探索 Databend 本周新进展&#xff0c;遇到更贴近你心意的 Databend 。 特性预览&#…

AR道具贴纸SDK,创新技术解决方案

增强现实&#xff08;AR&#xff09;技术已经成为企业提升用户体验&#xff0c;增强品牌影响力的重要工具。美摄AR道具贴纸SDK&#xff0c;作为一款领先的AR技术产品&#xff0c;致力于为企业提供一站式的技术解决方案&#xff0c;帮助企业轻松实现AR应用的快速开发和部署。 一…

使用Vscode创建一个C_Hello程序

Vscode用来学习C语言语法确实很方便。问题是安装好了&#xff0c;不会用&#xff0c;或编译失败&#xff0c;也是常有的事情&#xff0c;其中一个原因就是不会创建工作区。下面介绍使用Vscode创建一个C语言工作区。有时候看着很简单&#xff0c;时间久了&#xff0c;我竟然忘记…

Element UI + Vue 新增和编辑共用表单校验无法清除问题(已解决)

问题描述 在新增和编辑过程中大部分情况下 两个表单是一致的&#xff0c;而且编辑也有回显需要&#xff0c;所有绝大多数情况下 都是一个表单两个用处&#xff0c;但是随之而来出现了一个无法清除校验的问题&#xff0c;在先点击编辑后再点击新增会出现校验红字&#xff1a; …

centos搭建elastic集群

1、环境可以在同一台集群上搭建elastic&#xff0c;也可以在三台机器上搭建&#xff0c;这次演示的是在同一台机器搭建机器。 2、下载elastic &#xff1a;https://www.elastic.co/cn/downloads/past-releases#elasticsearch 2、​​​​​​ tar -zxvf elasticsearch-xxx-版…

ubuntu18.04双系统安装(2023最新最详细)以及解决重启后发现进不了Ubuntu问题

目录 一.简介 二.安装教程 1.首先确定了电脑的引导格式是UEFIGPT还是BIOSMBR 2. 使用Windows磁盘管理划分足够的磁盘空间 3. 开始安装 三.重启后发现自动进入WIN10系统了&#xff0c;进不了Ubuntu&#xff1f; 一.简介 Linux是一种自由和开放源代码的操作系统内核&#x…

【嵌入式项目应用】__JSON数据格式(无脑操作移植使用)

目录 一、什么是JSON 二、JSON是什么样子的呢&#xff1f; 三、常用类型 四、和XML的比较 五、CJSON库&#xff1f; 六、CJSON库组包与解析示例 1. 确定协议数据 2. 组JSON数据包实例 操作实例&#xff1a; 完整代码&#xff1a; 3. 解析JSON数据包示例 操作实例 完…

【QT】其他常用控件1

新建项目 scrollArea 滚动 toolBox 插入 tabWidget stackedWidget 切换 索引是0 运行后&#xff0c;没有切换按钮&#xff0c;结合pushbutton&#xff0c;加两个Button 代码 #include "widget.h" #include "ui_widget.h"Widget::Widget(QWidget *parent)…

Deno 的配置文件、框架,标准库

目录 1、配置文件 imports 和scopes tasks lint fmt lock nodeModulesDir npmRegistry compilerOptions 一个全的示例 2、Web框架 2.1 Deno 原生框架 Fresh Aleph Ultra Lume Oak 3、标准库 3.1 版本和稳定性 1、配置文件 Deno支持一个配置文件&#xff0c…

Unity 中使用波浪动画创建 UI 图像

如何使用 只需将此组件添加到画布中的空对象即可。强烈建议您将此对象放入其自己的画布/嵌套画布中&#xff0c;因为它会弄脏每一帧的画布并导致重新生成整个网格。 注意&#xff1a;不支持切片图像。 using System.Collections.Generic; using UnityEngine; using UnityEng…

算法通关村第十一关白银挑战——位运算符的高频算法题

大家好&#xff0c;我是怒码少年小码。 今天讲讲几个位运算的经典算法。 位移的妙用 1. 位1的个数 LeetCode 191&#xff1a;编写一个函数&#xff0c;输入是一个无符号整数&#xff08;以二进制串的形式&#xff09;&#xff0c;返回其二进制表达式中数字位数为 ‘1’ 的个…

html 常见兼容性问题

目录 前言: 用法: 代码: 1. 盒模型差异: 2. 表格布局问题: 3. 浏览器前缀问题: 4. 字体渲染问题: 理解: 讨论: 前言: 在Web开发中&#xff0c;兼容性问题是常见的挑战之一。不同的浏览器和设备可能以不同的方式解释和呈现HTML&#xff0c;导致网页在某些环境下出现问题…

fastjson对象序列化的问题

今天偶然遇到一个fastjson将字符串反序列化为一个对象的时候的问题&#xff0c;就是简单的通过com.alibaba.fastjson.JSON将对象转为字符串&#xff0c;然后再从字符串转换为原类型的对象。 涉及的代码也非常简单 package cn.edu.sgu.www.mhxysy.service.role.impl;import cn…

单片机设计基于STM32的空气净化器设计

**单片机设计介绍&#xff0c;1615[毕设课设]基于STM32的空气净化器设计 文章目录 一 概要二、功能设计设计思路 三、 软件设计原理图pcb设计图 五、 程序六、 文章目录 一 概要 此设计资料主要包含原理图、PCB、源程序、元器件清等资料&#xff0c; 二、功能设计 设计思路 …