首先需要一个实体类Book
package com.deyuan.day17.code1;
public class Book {
private String name;
private int price;
private String author;
private String type;
public Book() {
}
public Book(String name, int price, String author, String type) {
this.name = name;
this.price = price;
this.author = author;
this.type = type;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getPrice() {
return price;
}
public void setPrice(int price) {
this.price = price;
}
public String getAuthor() {
return author;
}
public void setAuthor(String author) {
this.author = author;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
}
然后在创建我们的测试类
package com.deyuan.day17.code1;
import com.deyuan.day17.code.Body;
import java.util.ArrayList;
import java.util.Scanner;
public class BookDemo {
public static void main(String[] args) {
ArrayList<Book> books=new ArrayList<>();
while(true) {
System.out.println("欢迎来到图书管理系统!");
System.out.println("1 添加图书");
System.out.println("2 查看所有图书");
System.out.println("3 按图书名修改图书");
System.out.println("4 按图书名删除图书");
System.out.println("请输入你的选择:");
Scanner scanner=new Scanner(System.in);
int i = scanner.nextInt();
switch (i) {
case 1:
// System.out.println("添加图书");
addBook(books);
break;
case 2:
// System.out.println("查看所有图书");
lookBook(books);
break;
case 3:
// System.out.println("按图书名修改图书");
updateBook(books);
break;
case 4:
// System.out.println("按图书名删除图书");
deleteBook(books);
break;
default:
System.out.println("谢谢使用");
System.exit(0);
break;
}
}
}
public static void addBook(ArrayList<Book> books){
//键盘录入图书需要的数据 .显示提示信息.提示要输入何种信息
Scanner sc7=new Scanner(System.in);
System.out.println("请输入你要添加的图书名字");
String name = sc7.next();
System.out.println("请输入你要添加图书的价格");
int price = sc7.nextInt();
System.out.println("请输入你要添加的图书作者");
String author = sc7.next();
System.out.println("请输入你要添加的图书类型");
String type = sc7.next();
//创建图书对象 把键盘录入的数据全部赋值给图书对象的成员变量
Book b =new Book();
b.setName(name);
b.setPrice(price);
b.setAuthor(author);
b.setType(type);
//把对象的值赋值给我们数组
books.add(b);
System.out.println("添加图书成功");
}
public static void lookBook(ArrayList<Book> books){
// 将集合中数据取出按照对应格式显示学生信息,价格补充元
System.out.println("书名\t\t价格\t\t作者\t\t类型");
for (int i = 0; i < books.size(); i++) {
Book bbbb = books.get(i);
System.out.println(bbbb.getName()+"\t"+bbbb.getPrice()+"元\t\t"+bbbb.getAuthor()+"\t\t"+bbbb.getType());
}
}
public static void deleteBook(ArrayList<Book> books){
//键盘录入要删除的图书编号 ,显示提示信息
Scanner sc6=new Scanner(System.in);
System.out.println("请输入你要删除的图书名");
String name = sc6.next();
if(books.size()==0){
System.out.println("没有任何数据,请核对信息");
return;
}
//键盘录入的书名和对象匹配
for (int i = 0; i < books.size(); i++) {
Book bb = books.get(i);
if(bb.getName().equals(name)){
books.remove(i);
break;
}
}
System.out.println("删除成功");
}
public static void updateBook(ArrayList<Book> books){
// 键盘录入要修改的图书名字
Scanner sc5=new Scanner(System.in);
System.out.println("请输入你要修改的图书名字");
String name = sc5.next();
//键盘录入要修改的图书信息
System.out.println("请输入修改后的图书新名字");
String name1 = sc5.next();
System.out.println("请输入修改后的图书新价格");
int price = sc5.nextInt();
System.out.println("请输入修改后的图书新作者");
String author = sc5.next();
System.out.println("请输入修改后的图书新类型");
String type = sc5.next();
//创建一个新的图书对象
Book oo=new Book();
oo.setName(name1);
oo.setPrice(price);
oo.setAuthor(author);
oo.setType(type);
//遍历集合对应的图书信息
for (int i = 0; i < books.size(); i++) {
Book p = books.get(i);
if(p.getName().equals(name)){
//对象名.set方法 就是更改元素 第一个值写索引号第二个值写对象名
books.set(i,oo);
}
}
//给出修改成功提示
System.out.println("修改成功");
}
}
我是用来键盘录入的方法写的后续还有升级
代码就这么多
代码放在一个包里就行