Java生死簿管理小系统(简单实现)

学习总结

1、掌握 JAVA入门到进阶知识(持续写作中……
2、学会Oracle数据库入门到入土用法(创作中……
3、手把手教你开发炫酷的vbs脚本制作(完善中……
4、牛逼哄哄的 IDEA编程利器技巧(编写中……
5、面经吐血整理的 面试技巧(更新中……

在这里插入图片描述

生死簿管理小系统(简单实现)

以下是一个简单的生死簿管理小系统的Java实现,包括新增、修改、删除和关闭功能

项目结构

SimpleLifeDeathBook/
├── src/
│   └── Main.java
│   └── LifeDeathBook.java
│   └── Person.java
└── README.md

README.md

# 生死簿管理小系统

这是一个简单的Java实现,用于管理生死簿中的记录。系统提供了新增、修改、删除和关闭功能。

## 使用说明

1. **编译和运行**:
    - 将代码保存至项目目录,如`SimpleLifeDeathBook`。
    - 使用命令行进入项目目录,执行`javac src/*.java`进行编译。
    - 执行`java src.Main`运行程序。

2. **功能说明**:
    - **新增**:输入姓名、年龄和生死状态(1表示生,0表示死)来新增记录。
    - **修改**:输入要修改的记录的索引(从1开始)和新的姓名、年龄、生死状态。
    - **删除**:输入要删除的记录的索引。
    - **关闭**:退出程序。

## 代码实现

### `Main.java`

```java
package src;

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        LifeDeathBook book = new LifeDeathBook();
        Scanner scanner = new Scanner(System.in);
        int choice;

        do {
            System.out.println("生死簿管理小系统");
            System.out.println("1. 新增记录");
            System.out.println("2. 修改记录");
            System.out.println("3. 删除记录");
            System.out.println("4. 关闭系统");
            System.out.print("请选择操作:");
            choice = scanner.nextInt();
            scanner.nextLine(); // Consume newline

            switch (choice) {
                case 1:
                    book.addPerson(scanner);
                    break;
                case 2:
                    book.modifyPerson(scanner);
                    break;
                case 3:
                    book.deletePerson(scanner);
                    break;
                case 4:
                    System.out.println("系统关闭。");
                    break;
                default:
                    System.out.println("无效选择,请重新选择。");
            }
        } while (choice != 4);

        scanner.close();
    }
}

LifeDeathBook.java

package src;

import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;

public class LifeDeathBook {
    private List<Person> persons;

    public LifeDeathBook() {
        persons = new ArrayList<>();
    }

    public void addPerson(Scanner scanner) {
        System.out.print("输入姓名:");
        String name = scanner.nextLine();
        System.out.print("输入年龄:");
        int age = scanner.nextInt();
        scanner.nextLine(); // Consume newline
        System.out.print("输入生死状态(1表示生,0表示死):");
        int status = scanner.nextInt();

        Person person = new Person(name, age, status);
        persons.add(person);
        System.out.println("记录新增成功。");
    }

    public void modifyPerson(Scanner scanner) {
        System.out.print("输入要修改的记录的索引(从1开始):");
        int index = scanner.nextInt();
        scanner.nextLine(); // Consume newline

        if (index < 1 || index > persons.size()) {
            System.out.println("无效索引。");
            return;
        }

        Person person = persons.get(index - 1);
        System.out.print("输入新的姓名:");
        person.setName(scanner.nextLine());
        System.out.print("输入新的年龄:");
        person.setAge(scanner.nextInt());
        scanner.nextLine(); // Consume newline
        System.out.print("输入新的生死状态(1表示生,0表示死):");
        person.setStatus(scanner.nextInt());

        System.out.println("记录修改成功。");
    }

    public void deletePerson(Scanner scanner) {
        System.out.print("输入要删除的记录的索引(从1开始):");
        int index = scanner.nextInt();
        scanner.nextLine(); // Consume newline

        if (index < 1 || index > persons.size()) {
            System.out.println("无效索引。");
            return;
        }

        persons.remove(index - 1);
        System.out.println("记录删除成功。");
    }

    public void displayPersons() {
        for (int i = 0; i < persons.size(); i++) {
            System.out.println((i + 1) + ". " + persons.get(i));
        }
    }
}

在这里插入图片描述

Person.java

package src;

public class Person {
    private String name;
    private int age;
    private int status; // 1表示生,0表示死

    public Person(String name, int age, int status) {
        this.name = name;
        this.age = age;
        this.status = status;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    public int getStatus() {
        return status;
    }

    public void setStatus(int status) {
        this.status = status;
    }

    @Override
    public String toString() {
        return "姓名:" + name + ",年龄:" + age + ",生死状态:" + (status == 1 ? "生" : "死");
    }
}

总结

这是一个简单的生死簿管理小系统,实现了基本的增删改查功能

往期文章

 第一章:日常_JAVA_面试题集(含答案)
 第二章:日常_JAVA_面试题集(含答案)
 平安壹钱包JAVA面试官:请你说一下Mybatis的实现原理
 Java必备面试-热点-热门问题精华核心总结-推荐
 往期文章大全……
在这里插入图片描述

一键三连 一键三连 一键三连~

更多内容,点这里❤

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Oracle漏洞修复 19.3 补丁包 升级为19.22

1.场景描述 上周末2024-10-12日,服务器扫出漏洞,希望及时修复。其中,oracle的漏洞清单如下,总结了下,基本都是 Oracle Database Server 的 19.3 版本到 19.20 版本和 21.3 版本到 21.11 版本存在安全漏洞,即版本问题。如: Oracle Database Server 安全漏洞(CVE-2023-22…

OpenMediaVault安装插件以及重置web控制台密码

常用插件&#xff08;可根据实际情况选择安装&#xff09; openmediavault-flashmemory&#xff1a;加载临时文件到内存&#xff0c;保护硬盘&#xff1b;openmediavault-fail2ban &#xff1a;扫描日志文件并禁止显示恶意迹象的IP-太多的密码错误&#xff0c;寻找漏洞等&…

Java面试宝典-并发编程学习02

目录 21、并行与并发有什么区别&#xff1f; 22、多线程中的上下文切换指的是什么&#xff1f; 23、Java 中用到的线程调度算法是什么&#xff1f; 24、Java中线程调度器和时间分片指的是什么&#xff1f; 25、什么是原子操作&#xff1f;Java中有哪些原子类&#xff1f; 26、w…

(11)(2.1.5) Currawong Velocity CAN ESCs(一)

文章目录 前言 1 哪里买 2 PiccoloCAN设置 前言 Currawong 的 Velocity 系列 ESC(Velocity range of ESCs)为航空航天领域提供了高度可靠的电机控制。 Currawong 的 Velocity 系列 ESC(

[k8s理论知识]3.docker基础(二)隔离技术

容器其实是一种沙盒技术&#xff0c;其核心是通过约束和修改进程的动态表现&#xff0c;为其创建一个边界。这个边界确保了应用与应用之间不会相互干扰&#xff0c;同时可以方便在不同的环境中迁移&#xff0c;这是PaaS最理想的状态。 程序是代码的可执行镜像&#xff0c;通常…

【思维导图】C语言—常见概念

hello&#xff0c;友友们&#xff0c;今天我们进入一个新的专栏——思维导图&#xff01; 思维导图帮助我们复习知识的同时建构出一个清晰的框架&#xff0c;我往后会不断更新各个专栏的思维导图&#xff0c;关注我&#xff0c;一起加油&#xff01; 今天我们回顾C语言中的常见…

技术分享:A-23OH型树脂在汽车涂装废溶剂回收中的应用

在当今汽车制造业竞争激烈的环境下&#xff0c;提高生产效率、降低成本的同时&#xff0c;满足环保要求已成为各制造商追求的核心目标。水性涂料因其环保、节能等多重优势&#xff0c;在汽车涂装领域的应用日益广泛。然而&#xff0c;随之而来的喷涂废溶剂处理问题也日益凸显。…

Java 项目如何连接并使用 SFTP 服务的示例详解

文章目录 1、SFTP介绍2、pom依赖3、SFTPUtil4、测试5、测试结果 1、SFTP介绍 SFTP&#xff08;Secure File Transfer Protocol&#xff09;是一种安全的文件传输协议&#xff0c;是SSH&#xff08;Secure Shell&#xff09;协议的一个子协议&#xff0c;设计用于加密和保护文件…

测试代理IP的有效性和可用性:全面方法与技巧

使用代理IP的有效性和可用性直接关系到用户的工作效率&#xff0c;尤其是在进行数据抓取、网络爬虫和保护个人隐私等场景中。然而&#xff0c;如果代理IP的质量不佳&#xff0c;或者无法正常工作&#xff0c;就可能导致操作中断、数据丢失&#xff0c;甚至影响整个项目的进度。…

《OpenCV计算机视觉》——人脸检测__Haar特征、级联分类器

文章目录 Haar特征一、定义与原理二、分类三、计算方法四、应用五、优缺点 级联分类器一、定义与原理二、结构与组成三、举例说明 Haar特征 Haar特征是一种在计算机视觉和图像处理中常用的特征描述方法&#xff0c;特别适用于物体识别&#xff0c;尤其是人脸检测。以下是对Haa…

一次性入门三款分布式定时任务调度框架:Quartz、ElasticJob3.0、xxl-job

分布式定时任务调度框架&#xff08;文末有源码&#xff09; 前言1、Quartz1.1 数据库1.2 maven依赖1.3 代码实现1.3.1 创建一个job1.3.1 为job设置trigger 1.4 配置文件1.5 启动、测试1.1 单机1.2 集群 2、ElasticJob2.1 下载zk2.2 新建三个类型的作业2.3 配置文件2.4 启动项目…

基于Java微信小程序的水果销售系统详细设计和实现(源码+lw+部署文档+讲解等)

详细视频演示 请联系我获取更详细的演示视频 项目运行截图 技术框架 后端采用SpringBoot框架 Spring Boot 是一个用于快速开发基于 Spring 框架的应用程序的开源框架。它采用约定大于配置的理念&#xff0c;提供了一套默认的配置&#xff0c;让开发者可以更专注于业务逻辑而不…

创客项目秀 | 基于使用 XIAO BLE Sense 和 Edge Impulse 的宠物活动跟踪器

今天为大家带来的是来自美国的创作者米顿-达斯的作品:宠物活动跟踪器.这个装置主要是为宠物主人提供关于宠物日常活动量的详尽数据&#xff0c;还能够根据宠物的独特需求&#xff0c;提供个性化的健康建议和活动指导。 项目背景 为了全面促进宠物的健康与活力&#xff0c;采用…

Python 数值计算与数值分析基础

Python 数值计算与数值分析基础 示例演示 当涉及到Python数值计算和数值分析时&#xff0c;下面是20个示例&#xff0c;涵盖了一些常见的用法&#xff1a; 1.数值积分&#xff1a; 在 Python 中&#xff0c;你可以使用 scipy.integrate 模块中的 quad 函数来进行数值积分 …

【Linux驱动开发】通过ioremap虚拟内存映射的寄存器操作驱动、C应用函数库开发 devmem命令测试(正点原子STM32MP135文档BUG)

【Linux驱动开发】通过ioremap虚拟内存映射的寄存器操作驱动、C应用函数库开发 devmem命令测试&#xff08;正点原子STM32MP135文档BUG&#xff09; 【Linux驱动开发】通过ioremap虚拟内存映射的寄存器操作驱动 devmem命令测试 gitee库&#xff1a; https://gitee.com/Mike_Zho…

记一次Netty模拟压测应用开发

背景 最近需要开发一个上游端模拟数据推送&#xff0c;测试高流量下下游的业务功能处理速度&#xff0c;大致架构如下 准备工作 构造消息体&#xff0c;由于是模拟大量数据推送并没有业务逻辑&#xff0c;所以我们使用池化的directBuffer增加推送消息以及减少创建和消费buf…

13.1 Linux_网络编程_TCP/UDP

字节序 1、概述 什么是字节序&#xff1a; 字节序就是字节的存储顺序&#xff0c;分为大端字节序和小端字节序。 大端字节序&#xff1a;低地址存高位&#xff08;网络&#xff09;小端字节序&#xff1a;低地址存低位&#xff08;主机&#xff09; 检验主机字节序模式&…

Java @RequestPart注解:同时实现文件上传与JSON对象传参

RequestPart注解&#xff1a;用于处理multipart/form-data请求的一部分&#xff0c;通常用于文件上传或者处理表单中的字段。 java后端举例&#xff1a; PostMapping("/fileTest")public AjaxResult fileTest(RequestPart("file") MultipartFile file,Req…

【时间之外】IT人求职和创业应知【10】

认知决定你的赚钱能力。以下是今天可能影响你求职和创业的热点新闻: 今日关键字:SFISF【互换便利】 1. 央行推出股票回购增持再贷款,科技股全线爆发 新闻概要: 2024年10月18日,央行等三部门联合发布《关于设立股票回购增持再贷款有关事宜的通知》,同时表示年底有进一步…

基于GeoScene Pro的开源数据治理与二维制图规范化处理智能工具箱

内容导读 本文描述的是一个基于GeoScene Pro4.0/ArcGIS3.1 Pro平台的开源数据治理与二维制图规范化处理智能工具箱(免费试用&#xff0c;文末有获取方式)&#xff0c;旨在解决GIS应用中数据转换、检查、治理和制图数据规范化处理方面的问题。 工具箱结合了Geoscene/ArcGIS Pr…