Java图书馆管理系统

创建一个基于命令行的简单图书馆管理系统。它可以实现图书的基本功能,如增删查改、用户管理、账户登录等。

一、创建图书实体类

定义一个图书的实体类,包括编号,书名,作者,以及库存等字段。

publicclassBook{
privateStringid;
privateStringtitle;
privateStringauthor;
privateintstock;

publicBook(Stringid,Stringtitle,Stringauthor,intstock){
this.id=id;
this.title=title;
this.author=author;
this.stock=stock;
}

//gettersandsetters
}

二、创建图书管理类

创建一个用于管理图书的类,包含添加、删除、更新和搜索等操作方法。

importjava.util.ArrayList;

publicclassBookManager{
privateArrayList<Book>books;

publicBookManager(){
books=newArrayList<>();
}

publicvoidaddBook(Bookbook){
books.add(book);
}

publicvoiddeleteBook(Stringid){
for(Bookbook:books){
if(book.getId().equals(id)){
books.remove(book);
break;
}
}
}

publicvoidupdateBook(BooknewBook){
for(Bookbook:books){
if(book.getId().equals(newBook.getId())){
books.remove(book);
books.add(newBook);
break;
}
}
}

publicBookfindBook(Stringid){
for(Bookbook:books){
if(book.getId().equals(id)){
returnbook;
}
}
returnnull;
}
}

三、创建用户和用户管理类

创建一个用户的实体类,包括用户名和密码等字段。

publicclassUser{
privateStringusername;
privateStringpassword;

publicUser(Stringusername,Stringpassword){
this.username=username;
this.password=password;
}

//gettersandsetters
}

用于管理用户账号的类,包含添加、删除、查找和验证账号的方法。

importjava.util.ArrayList;

publicclassUserManager{
privateArrayList<User>users;

publicUserManager(){
users=newArrayList<>();
}

publicvoidaddUser(Useruser){
users.add(user);
}

publicvoiddeleteUser(Stringusername){
for(Useruser:users){
if(user.getUsername().equals(username)){
users.remove(user);
break;
}
}
}

publicUserfindUser(Stringusername){
for(Useruser:users){
if(user.getUsername().equals(username)){
returnuser;
}
}
returnnull;
}

publicbooleanvalidateUser(Stringusername,Stringpassword){
for(Useruser:users){
if(user.getUsername().equals(username)&&user.getPassword().equals(password)){
returntrue;
}
}
returnfalse;
}
}

四、应用主类和功能选择

创建一个主类,用于实现添加、删除、更新和搜索图书的操作,以及用户的登录和注册。

importjava.util.Scanner;

publicclassLibraryApp{
privatestaticBookManagerbookManager=newBookManager();
privatestaticUserManageruserManager=newUserManager();
privatestaticScannerscanner=newScanner(System.in);

publicstaticvoidmain(String[]args){
outerloop:
while(true){
System.out.println("1.登录2.注册3.退出");
intchoice=scanner.nextInt();
switch(choice){
case1:
if(login()){
bookOperation();
}
break;
case2:
register();
break;
case3:
breakouterloop;
default:
System.out.println("请输入正确的选项!");
}
}
}

//login,registerandbookOperationmethodsaredefinedhere...
}

五、用户登录和注册方法

登录和注册的方法定义为下:

publicstaticbooleanlogin(){
System.out.println("请输入用户名:");
Stringusername=scanner.next();
System.out.println("请输入密码:");
Stringpassword=scanner.next();
if(userManager.validateUser(username,password)){
System.out.println("登录成功!");
returntrue;
}else{
System.out.println("用户名或密码错误!");
returnfalse;
}
}

publicstaticvoidregister(){
System.out.println("请输入用户名:");
Stringusername=scanner.next();
System.out.println("请输入密码:");
Stringpassword=scanner.next();
Useruser=newUser(username,password);
userManager.addUser(user);
System.out.println("注册成功!");
}

六、图书的管理操作

最后定义一个用于操作图书的方法,包括添加、删除、更新和搜索图书。

publicstaticvoidbookOperation(){
while(true){
System.out.println("1.添加图书2.删除图书3.更新图书4.查找图书5.退出");
intchoice=scanner.nextInt();
switch(choice){
case1:
addBook();
break;
case2:
deleteBook();
break;
case3:
updateBook();
break;
case4:
findBook();
break;
case5:
return;
default:
System.out.println("请输入正确的选项!");
}
}
}

原创文章,作者:小蓝,如若转载,请注明出处:https://www.beidandianzhu.com/g/1026.html

(0)
小蓝的头像小蓝
上一篇 2024-12-17 14:06:46
下一篇 2024-12-17

相关推荐

  • Python服务器崩溃重启

    Python服务器崩溃重启是指当运行的Python服务器出现异常导致崩溃时,通过自动重启服务器来保证服务的可用性和稳定性的一种解决方案。本文将从多个方面对Python服务器崩溃重启…

    程序猿 2024-12-20
  • Python中另一个窗口的使用

    Python中的另一个窗口通常指的是图形用户界面(GUI)。GUI允许用户通过可视化的方式与程序交互,提供了更友好和直观的用户体验。本文将从多个方面介绍如何在Python中使用另一…

    程序猿 2024-12-17
  • Java字符转数字用法介绍

    在Java中,字符转数字通常通过Integer.parseInt(),Integer.valueOf或者利用Character.getNumericValue()完成。下面我们将详…

  • 自定义Python日志log类

    自定义Python日志log类是一种对Python内置的日志模块进行封装和扩展的方法,通过它我们可以更方便地记录程序运行时的信息,包括错误日志、调试信息、警告信息等。本文将从多个方…

    程序猿 2024-12-17
  • 如何将Java List转化为Array

    Java中的List转Array主要使用List接口的toArray()方法。该方法返回一个数组,该数组包含列表中所有元素的列表顺序。 一、使用List的toArray(T[] a…

    程序猿 2024-12-17
  • 用Python批量去除文件名字符的方法

    在许多情况下,我们需要对文件名进行处理,去除其中的特殊字符或将其替换为指定的字符。Python 提供了很多种方法来实现这个目标。本文将介绍多种方法,帮助你快速批量去除文件名字符。 …

    程序猿 2024-12-22
  • Python字符在字符串中的个数

    字符在字符串中的个数是一个常见的问题,特别是在文本处理和数据分析的任务中。Python提供了多种方式来实现字符在字符串中的计数,本文将从多个方面进行详细阐述。 一、使用count(…

    程序猿 2024-12-27
  • Python进程进阶

    本文将从多个方面对Python进程进阶进行详细的阐述,包括进程的基本概念、进程创建与管理、进程间通信以及多进程并发编程等。 一、进程的基本概念 进程是操作系统中的一个概念,它是指一…

    程序猿 2024-12-22
  • Python进阶教程之内建属性

    本文将围绕Python进阶教程中的内建属性展开讲解,并从多个方面对其进行详细阐述。 一、__name__属性 1、作用: __name__属性是Python中的一个内建属性,用来指…

  • 用Python控制无人机

    无人机技术的快速发展使得它在各个领域得到了广泛应用。而Python作为一种简洁易懂、灵活多样的编程语言,也成为了控制无人机的重要工具之一。本文将从多个方面探讨如何用Python来控…

    程序猿 2024-12-21

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

分享本页
返回顶部