Есть задача создать некий каталог книг (с набором необходимых полей) и отсортировать книги по заданному полю. Причем, необходимо использовать, геттеры, сеттеры и выделить массив книг в отдельный класс. Программу вроде написал, но последнее условие никак не дается. Уперся, ну прямо как баран в новые ворота (хотя они для меня действительно новые ). Я бы может вопрос и не задавал, но уже 2 недели прошло с момента начала решения, а у меня ступор - и задачу решить не могу и дальше учить новые главы не начинаю... Что посоветуете, уважаемые? "Забить" и остановиться на данном этапе на существующем решении с мыслями, что "все придет позже" или продолжать решать (потенциально можно и год еще решать...) и не изучать новую теорию пока не решу задачу по старой. К слову, соответствующие главы книг и у Васильева, и у Шилдта и Хорстмана перечитал опять (а некоторые и по несколько раз). Читаю - все понятно, как только доходит до этой задачи - ступор! Ну что еще сказать - ступор, он и есть ступор...
Первый листинг:
| Код | public class Book {
private int id; private String author; private String book_name; private int year; private int pages; private double price;
public void setId(int id) { this.id = id; }
public void setAuthor(String author) { this.author = author; } public String getAuthor() { return author; }
public void setBook_name(String book_name) { this.book_name = book_name; }
public void setYear(int year) { this.year = year; }
public void setPages(int pages) { this.pages = pages; }
public void setPrice(double price) { this.price = price; }
public String toString() { return "Книга [id: " + id + ", Автор: " + author + ", Название: " + book_name + ", Год издания: " + year + ", Страниц: " + pages + ", Цена, руб: " + price + "]"; } }
|
Второй листинг:
| Код | public class Main { public static void main(String[] args) { Book book_01 = new Book(); Book book_02 = new Book(); Book book_03 = new Book(); Book book_04 = new Book();
book_01.setId(01); book_01.setAuthor("Schildt"); book_01.setBook_name("Java. The complete reference"); book_01.setYear(2013); book_01.setPages(1104); book_01.setPrice(290000.0);
book_02.setId(02); book_02.setAuthor("Horstman"); book_02.setBook_name("Java"); book_02.setYear(2009); book_02.setPages(1050); book_02.setPrice(350000.0);
book_03.setId(03); book_03.setAuthor("Eckel"); book_03.setBook_name("Thinking in Java"); book_03.setYear(2009); book_03.setPages(640); book_03.setPrice(150000.0);
book_04.setId(04); book_04.setAuthor("Vasiljev"); book_04.setBook_name("Learning Java"); book_04.setYear(2010); book_04.setPages(351); book_04.setPrice(75000.0);
Book[] list = new Book[4];
list[0] = book_01; list[1] = book_02; list[2] = book_03; list[3] = book_04;
for (int i = 0; i < list.length; i++) { System.out.println(list[i].toString()); }
// Сортировка по авторам for (int j = 0; j < list.length; j++) { for (int i = j + 1; i < list.length; i++) { if (list[i].getAuthor().compareTo(list[j].getAuthor()) < 0) { String t = list[j].getAuthor(); list[j].setAuthor(list[i].getAuthor()); list[i].setAuthor(t); } } System.out.println("Сортировка по авторам: " + list[j].getAuthor()); }
} }
|
|