在这种情况下,我有 3 个课程。方法类、Book类、AllBook类类。AllBooks 扩展了图书类。方法类是我的大多数方法所在的地方(duh)。我只有一个问题,即 addBook 方法。
代码:
方法类
public class methods {
// Variables
int bCount = 0;
int mCount = 0;
int lCount = 0;
int boCount = 0;
//Arrays
Book[] bArr = new Book[500];
Member[] mArr = new Member[250];
Librarian[] lArr = new Librarian[50];
MainMenu mm;
public void newBook() {
int cont2 = JOptionPane.YES_OPTION;
int cont = JOptionPane.YES_OPTION;
int choice = JOptionPane.YES_OPTION;
while (choice == JOptionPane.YES_OPTION) {
String ttl = mm.tiltleTF.getText();
String athr = mm.authorTF.getText();
String gnr = mm.genreTF.getText();
String lctn = mm.locationTF.getText();
String cndtn = mm.conditionTF.getText();
if (athr == null && gnr == null && lctn == null && cndtn == null) {
cont = JOptionPane.showConfirmDialog(null, "You have left out some fields are you sure you wish to continue?", "Information left out", JOptionPane.YES_NO_OPTION);
}
while (cont == JOptionPane.YES_OPTION) {
ttl = ttl.toUpperCase();
athr = athr.toUpperCase();
gnr = gnr.toUpperCase();
lctn = lctn.toUpperCase();
cndtn = cndtn.toUpperCase();
cont2 = JOptionPane.showConfirmDialog(null, "The book you wish to enter is:" + "\n Title:\t" + ttl + "\n Author:\t" + athr + "\n Genre:/t" + gnr + "\n Location: \n" + lctn + "\n Condition:\t" + cndtn, "Are you sure?", JOptionPane.YES_NO_OPTION);
while (cont2 == JOptionPane.YES_OPTION) {
bArr[bCount] = new AllBooks(bCount, ttl, athr, gnr, "IN", lctn, cndtn);
try {
PrintWriter pw = new PrintWriter(new FileWriter("books.txt", true));
pw.println(bArr[bCount].toString(0);
pw.close();
bCount++;
displayBooks();
choice = JOptionPane.showConfirmDialog(null, "Book added! Do you wish to enter another book?", "Enter another book?", JOptionPane.YES_NO_OPTION);
} catch (IOException ex) {
}
}
}
}
}
所有书籍
public class AllBooks extends Book {
private String genre;
private String status;
private String Location;
private String condition;
public AllBooks(int bookID, String title, String author, String genre, String status, String Location, String condition) {
super(bookID, title, author);
this.genre = genre;
this.status = status;
this.Location = Location;
this.condition = condition;
}
public String getGenre() {
return genre;
}
public void setGenre(String genre) {
this.genre = genre;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public String getLocation() {
return Location;
}
public void setLocation(String Location) {
this.Location = Location;
}
public String getCondition() {
return condition;
}
public void setCondition(String condition) {
this.condition = condition;
}
@Override
public String toString() {
String stg = "";
stg = stg + getBookID() + '\t' + getTitle() + addSpaces(getTitle(), 30) + getAuthor() + addSpaces(getAuthor(), 30) + genre + addSpaces(genre, 15) + status + addSpaces(status, 5) + Location + addSpaces(Location, 20) + condition;
return stg;
}
public String toString(int i) {
String stg = "";
stg += getBookID() + "#" + getTitle() + "#" + getAuthor() + "#" + getGenre() + "#" + getStatus() + "#" + getLocation() + "#" + getCondition() + "#";
return stg;
}
}
图书公开课图书{
private int bookID;
private String title;
private String author;
public Book() {
}
public Book(int bookID, String title, String author) {
this.bookID = bookID;
this.title = title;
this.author = author;
}
public int getBookID() {
return bookID;
}
public void setBookID(int bookID) {
this.bookID = bookID;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getAuthor() {
return author;
}
public void setAuthor(String author) {
this.author = author;
}
public String addSpaces(String s, int w) {
String spc = "";
for (int i = 1; i <= (w - s.length()); i++) {
spc = spc + " ";
}
return spc;
}
}
我遇到的问题是,在 newBook 方法中,当它使用 toString 写入文件时,它不是“链接(?)”或识别所有书籍类中的 toString(in i)方法。有什么问题?