I have the user enter a string e.g. subject of book using a scanner then a for loop, to print out all the books with the same subject to what the user entered.
But I'm having a problem in that it will only print out the first occurrence.
For example if the user enters IT1 if will only print out Java for Beginners, whereas it should print Java for Beginners and OO Programming due to they are both attached to IT1.
Heres my code
Book[] b = new Book[2];
b[0] = new Book("Java for Beginners");
b[1] = new Book("OO Programming");
Subject[] s = new Subject[3];
s[0] = new Subject("IT1", "Java");
s[1] = new Subject("IT2", "Software Design");
s[2] = new Subject("IT3", "UML");
BookSub[] bk = new BookSub[2];
bk[0] = new BookSub(b[0], s[0], s[1]);
bk[1] = new BookSub(b[1], s[0], s[1]);
System.out.println("Enter the Book Subject: ");
search = scan.next();
int index = 1;
for (int i = 0; i < bk.length; i++) {
if (search.equalsIgnoreCase(bk[i].getSubject… {
index = i;
System.out.print(s[i].getName()+" ");
}
Book Class
private String name;
public Book(String n) {
this.name = n;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
Subject Class
public Subject (String sc, String sd){
subjectcode = sc;
subjectdesc =sd;
}
public String getSubjectcode() {
return subjectcode;
}
public void setSubjectcode(String subjectc) {
this.subjectcode = subjectcode;
}
public String getSubjectdesc() {
return subjectdesc;
}
public void setSubjectdesc(String subjectdesc) {
this.subjectdesc = subjectdesc;
}
@Override
public String toString() {
return subjectcode +" "+ subjectdesc;
}
}
BookSub Class
private Book book;
private Subject subject;
private Subject subject1;
public BookSub (Book b, Subject s, Subject s1){
book = b;
subject = s;
subject = s1;
}
public Subject getSubject() {
return module;
}
public Subject getsubject1() {
return subject1;
}
public void setSubject(Subject subject1) {
this.subject1 = subject1;
}
public void setSubject(Subject subject) {
this.subject = subject;
}
public Book getBook() {
return this.book;
}
public void setBook(Book book) {
this.book = book;
}
}