java数据结构线性表实例

这是一个使用Java数据结构线性表实现的图书管理系统。通过Scanner获取用户输入,提供查看、添加、修改和删除图书的功能。用户交互界面简洁,根据输入选项执行相应操作。
摘要由CSDN通过智能技术生成

我的第一篇博客

java数据结构线性表实例

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

public class BookManageSystem {
public static void main(String[] args) {
Scanner sc =new Scanner(System.in);
SeqList lista =new SeqList();
ArrayList array=new ArrayList();
while(true){
System.out.println("-------欢迎来到图书管理系统-------\n" +
“1.查看\t” +
“2.添加\t” +
“3.修改\t” +
“4.删除\t” +
“5.退出”);
String choice =sc.nextLine();
switch (choice){
case"1":
query(array);
break;
case"2":
add(array);
break;
case “3”:
modify(array);
break;
case"4":
delete(array);
break;
case"5":
System.out.println(“再见”);
System.exit(0);
default:
System.out.println(“您的输入有误,请重新选择”);

        }
    }
}

private static void query(ArrayList<Book> array ) {
    if (array.size() == 0){
        System.out.println("未储存图书信息");
        return;
    }
    System.out.println("ISBN\t\t书名\t\t作者\t\t价格");
    for (int i=0;i<array.size();i++) {
        Book b = array.get(i);
        System.out.println(b.getISBN()+"\t\t"+b.getName()+
                "\t\t"+b.getAuther()+"\t\t"+b.getPrice());
    }
}

private static void add(ArrayList<Book> array){
    Scanner sc= new Scanner(System.in);
    String isbn;
    while(true){
        System.out.println("请输入ISBN");
        isbn =sc.nextLine();
        boolean flag=false;     //判断ISBN是否重复
        for (int i=0;i<array.size();i++){
            Book b=array.get(i);
            if (b.getISBN().equals(isbn)){
                System.out.println("该图书已存在,请重新输入");
                flag=true;
                break;
            }
        }
        if(!flag){
            break;
        }
    }
    System.out.println("输入书名");
    String name=sc.nextLine();
    System.out.println("输入作者");
    String auther=sc.nextLine();
    System.out.println("输入价格");
    float price=sc.nextFloat();

    Book b=new Book();
    b.setISBN(isbn);
    b.setName(name);
    b.setAuther(auther);
    b.setPrice(price);
    array.add(b);
    System.out.println("图书添加成功");

}



private static  void modify(ArrayList<Book> array){
    Scanner sc  = new Scanner(System.in);
    int index = -1;//查找标志
    System.out.println("请输入需要修正的图书编号:");
    String num = sc.nextLine();

    for(int i=0;i<array.size();i++){
        Book b = array.get(i);
        if(b.getISBN().equals(num)){
            index = i;
            break;
        }
    }
    if(index == -1){//未找到图书直接返回
        System.out.println("未找到相应学号所对应学生!");
        return;
    }else{
        System.out.println("请输入需要更改的图书:");
        String name = sc.nextLine();
        System.out.println("请输入需要更改的作者:");
        String auther = sc.nextLine();
        System.out.println("请输入需要更改的价格:");
        float price = sc.nextFloat();
        Book b  = array.get(index);
        b.setName(name);
        b.setAuther(auther);
        b.setPrice(price);
        System.out.println("图书信息更新成功!");
    }

}


private static void delete(ArrayList<Book> array){
    Scanner sc  = new Scanner(System.in);
    System.out.println("请输入需要删除的图书编号:");
    String num = sc.nextLine();
    for(int i=0;i<array.size();i++){
        Book b  = array.get(i);
        if(b.getISBN().equals(num)){
            System.out.println("请确认删除信息(Y/N):");
            System.out.println("编号\t\t名字\t\t作者\t\t价格");
            System.out.println(b.getISBN()+"\t"+b.getName()+"\t"+b.getAuther()+"\t"+b.getPrice());
            String confirm = sc.nextLine();
            //判断确认删除
            if(confirm.equals("y") || confirm.equals("Y")){
                if(array.remove(b)){
                    System.out.println("删除成功!");
                    return;
                }
            }else{
                System.out.println("已取消删除!");
                return;
            }
        }
    }
    System.out.println("未找到所对应图书编号,请确认图书信息是否有误!");
}

}

```javascript
package Book_Manage_System;

public class Book {
    private String ISBN="000";
    private String name="图书";
    private String auther="作者";
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值