java从键盘依次输入6本图书信息(以顺序表存放),分别编写按书号、书名及价格等信息的查找方法,实现图书信息的查找。的main方法
时间: 2024-02-11 08:05:31 浏览: 76
基于Java的图书信息查询系统
好的,这是您的问题:java从键盘依次输入6本图书信息(以顺序表存放),分别编写按书号、书名及价格等信息的查找方法,实现图书信息的查找。的main方法
以下是一个可能的解决方案:
```java
import java.util.Scanner;
public class Book {
private int bookNo;
private String bookName;
private double price;
public Book(int bookNo, String bookName, double price) {
this.bookNo = bookNo;
this.bookName = bookName;
this.price = price;
}
public int getBookNo() {
return bookNo;
}
public String getBookName() {
return bookName;
}
public double getPrice() {
return price;
}
public static void main(String[] args) {
// 创建一个包含 6 个 Book 对象的顺序表
Book[] books = new Book[6];
Scanner scanner = new Scanner(System.in);
// 从键盘读入 6 本书的信息并存入顺序表
for (int i = 0; i < books.length; i++) {
System.out.println("请输入第 " + (i + 1) + " 本书的书号、书名和价格(用空格分隔):");
int bookNo = scanner.nextInt();
String bookName = scanner.next();
double price = scanner.nextDouble();
books[i] = new Book(bookNo, bookName, price);
}
// 按书号查找
System.out.println("请输入要查找的书的书号:");
int searchBookNo = scanner.nextInt();
int bookIndex = searchByBookNo(books, searchBookNo);
if (bookIndex != -1) {
System.out.println("找到了,这本书的书名是 " + books[bookIndex].getBookName() + ",价格是 " + books[bookIndex].getPrice());
} else {
System.out.println("没有找到这本书!");
}
// 按书名查找
System.out.println("请输入要查找的书的书名:");
String searchBookName = scanner.next();
bookIndex = searchByBookName(books, searchBookName);
if (bookIndex != -1) {
System.out.println("找到了,这本书的书号是 " + books[bookIndex].getBookNo() + ",价格是 " + books[bookIndex].getPrice());
} else {
System.out.println("没有找到这本书!");
}
// 按价格查找
System.out.println("请输入要查找的书的价格:");
double searchPrice = scanner.nextDouble();
bookIndex = searchByPrice(books, searchPrice);
if (bookIndex != -1) {
System.out.println("找到了,这本书的书号是 " + books[bookIndex].getBookNo() + ",书名是 " + books[bookIndex].getBookName());
} else {
System.out.println("没有找到这本书!");
}
}
/**
* 按书号查找
*
* @param books 图书顺序表
* @param searchBookNo 要查找的书号
* @return 找到的书在顺序表中的下标,如果没找到返回 -1
*/
public static int searchByBookNo(Book[] books, int searchBookNo) {
for (int i = 0; i < books.length; i++) {
if (books[i].getBookNo() == searchBookNo) {
return i;
}
}
return -1;
}
/**
* 按书名查找
*
* @param books 图书顺序表
* @param searchBookName 要查找的书名
* @return 找到的书在顺序表中的下标,如果没找到返回 -1
*/
public static int searchByBookName(Book[] books, String searchBookName) {
for (int i = 0; i < books.length; i++) {
if (books[i].getBookName().equals(searchBookName)) {
return i;
}
}
return -1;
}
/**
* 按价格查找
*
* @param books 图书顺序表
* @param searchPrice 要查找的价格
* @return 找到的书在顺序表中的下标,如果没找到返回 -1
*/
public static int searchByPrice(Book[] books, double searchPrice) {
for (int i = 0; i < books.length; i++) {
if (books[i].getPrice() == searchPrice) {
return i;
}
}
return -1;
}
}
```
这个程序创建了一个包含 6 个 Book 对象的顺序表,从键盘读入这些书的信息,然后分别实现了按书号、书名和价格查找的方法,并在 main 方法中调用这些方法进行测试。
阅读全文