简单的Java代码仿照超市购物的例子编写一个学生借书的程序。提示: 思考需要定义的类,例如:本程序需要用到学生、借书卡、书等对象,最后实现借书的过程,如果有指定的书,则输出“***借到了***书”,否则输出“****没有借到****书”。
时间: 2023-11-24 20:07:56 浏览: 46
这个Java程序需要定义三个类:学生类、借记卡类和图书馆类。其中,学生类包含学生的姓名和学号等信息;借记卡类包含卡号、学生、已借阅的图书和已借阅的图书数量等信息;图书馆类包含图书馆中所有的书籍信息。下面是一个简单的Java代码示例:
```
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
class Student {
private String name;
private String id;
public Student(String name, String id) {
this.name = name;
this.id = id;
}
public String getName() {
return name;
}
public String getId() {
return id;
}
}
class Book {
private String name;
public Book(String name) {
this.name = name;
}
public String getName() {
return name;
}
}
class Library {
private List<Book> books;
public Library() {
books = new ArrayList<>();
}
public void addBook(Book book) {
books.add(book);
}
public boolean containsBook(Book book) {
return books.contains(book);
}
}
class DebitCard {
private int cardID;
private Student stu;
private List<Book> books;
private int bookNum;
public DebitCard(Student stu) {
Random random = new Random();
this.cardID = random.nextInt(900) + 100;
this.stu = stu;
this.books = new ArrayList<>();
}
public void borrowBook(Book book, Library library) throws BookNotExistException {
if (library.containsBook(book)) {
books.add(book);
bookNum = books.size();
System.out.println(stu.getName() + "借到了" + book.getName());
} else {
throw new BookNotExistException("没有借到" + book.getName());
}
}
@Override
public String toString() {
return "DebitCard{" + "借记卡号:" + cardID + ", 已借阅图书:" + books + ", 已借阅图书数量:" + bookNum + '}';
}
}
class BookNotExistException extends Exception {
public BookNotExistException(String message) {
super(message);
}
}
public class Main {
public static void main(String[] args) {
Student student = new Student("张三", "001");
Book book1 = new Book("Java编程思想");
Book book2 = new Book("Java核心技术");
Library library = new Library();
library.addBook(book1);
library.addBook(book2);
DebitCard debitCard = new DebitCard(student);
try {
debitCard.borrowBook(book1, library);
debitCard.borrowBook(book2, library);
debitCard.borrowBook(new Book("C++ Primer"), library);
} catch (BookNotExistException e) {
System.out.println(e.getMessage());
}
System.out.println(debitCard);
}
}
```
在这个程序中,我们首先定义了三个类:学生类、图书类和借记卡类。然后我们创建了一个图书馆对象,并向其中添加了两本书。接着,我们创建了一个学生对象和一个借记卡对象,并将学生对象传递给借记卡对象的构造方法中。最后,我们调用借记卡对象的borrowBook方法来借阅图书,并捕获了可能抛出的异常。如果借阅成功,则输出“***借到了***书”,否则输出“****没有借到****书”。最后,我们输出了借记卡对象的信息。