मुझे लगता है कि में फंस कर रहा हूँ मैं एक वस्तु बुक कि तीन चरजावा परिसर छंटाई
String title
int Year
String authorName
मिला मैं एक, दो या आरोही में चर के सभी तीन या अवरोही क्रम द्वारा पुस्तकों को सॉर्ट करना होगा, मैं कार्यान्वित टाइटल ऑर्डरिंग लेकिन मैं अटक गया हूं कि जब लोग एक से अधिक वैरिएबल ऑर्डर करने के लिए चुनते हैं तो क्या करना है।
बुक कक्षा::
import java.util.ArrayList;
public class Book{
String title;
String authorName;
int editionYear;
public Book(String title, String authorName, int editionYear){
this.title = title;
this.authorName = authorName;
this.editionYear = editionYear;
}
public String getBookInfo(){
ArrayList bookInfo = new ArrayList();
bookInfo.add(this.title);
bookInfo.add(this.authorName);
bookInfo.add(this.editionYear);
return bookInfo.toString();
}
}
BookSorter कक्षा:
import java.util.Arrays;
import java.util.Comparator;
public class BookSorter{
private String sortkey;
private String order;
Book[] Books;
public BookSorter(Book Book1, Book Book2, Book Book3, Book Book4){
this.Books = new Book[] {Book1, Book2, Book3, Book4};
}
public Book[] sortByTitle(boolean sortorder){
Comparator<Book> byTitle = new TitleComparator(sortorder);
Arrays.sort(Books, byTitle);
for(int i=0;i<4;i++) System.out.println(Books[i].title);
return Books;
}
}
TitleComparator:
import java.util.Comparator;
class TitleComparator implements Comparator<Book> {
boolean ascending;
public TitleComparator(boolean ascending){
this.ascending = ascending;
}
public int compare(Book Book1, Book Book2){
if(ascending == true){
if(Book1.title.compareToIgnoreCase(Book2.title) > 0) return 1;
else if(Book1.title.compareToIgnoreCase(Book2.title) < 0) return -1;
else return 0;
}else{
if(Book2.title.compareToIgnoreCase(Book1.title) < 0) return -1;
else if(Book2.title.compareToIgnoreCase(Book1.title) > 0) return 1;
else return 0;
}
}
}
मैं हालांकि मैं एक काम कर सकता था
यहाँ मेरी कोड के कुछ है थोड़ा मोर ई तुलनित्र पर लेकिन मैं वास्तव में ऐसी चीज को मॉडल करने के तरीके पर फंस गया हूं, अग्रिम धन्यवाद
क्या यह होमवर्क है? यदि ऐसा है तो कृपया इसे इस तरह टैग करें। – CoolBeans
यह कोई होमवर्क नहीं है, मैं मूल्यांकन के लिए अध्ययन कर रहा हूं; डी – bwagner
@ कूलबीन: कृपया [मेटा टैगिंग का सुझाव न दें] (http://meta.stackexchange.com/questions/10811/how-to-ask-and -answer-होमवर्क-प्रश्न)। –