Доброго времени суток, есть вот такое задание. Каждая строка таблицы содержит следующую информацию : ФИО выпускника, количество дипломов, название образовательного учреждения, год окончания. Ко всему этому, каждая строка должна быть представлена в виде объекта и нужно переопределить метод toString() для вывода объектов. И ещё кое-что: 1)определить выпускника с максимальным количеством дипломов. 2)определить выпускников заданного года. Это я вроде бы сделал. Но преподаватель требует, чтобы каждому диплому соответствовал разный вуз и выводилось это всё в строчку, например: Vasiliy 2 MGU 2005 MIFI 2012 т.е., сначала имя, потом количество дипломов, а потом учреждение и год окончания. Заранее огромное спасибо. Вот имеющийся код.
Код | package lol3.last;
import javax.swing.JOptionPane;
public class Student { private String surname; private int countdiplom; private String institute; private int year; public Student(String surname, int countdiplom, String institute, int year) { this.surname = surname; this.countdiplom = countdiplom; this.institute = institute; this.year = year; }
Student(String institute, int year) { throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates. } public String getSurname() { return surname; } public int getCountdiplom() { return countdiplom; } public String getInstitute() { return institute; } public int getYear() { return year; } @Override public String toString() { return "Фамилия: " + getSurname() + " " + "Количество дипломов: " + getCountdiplom() + " " + "Название ВУЗА: " + getInstitute() + " " + "Год выпуска: " + getYear() + " "; } }
|
Код | package lol3.last;
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import javax.swing.JOptionPane;
public class Lol3Last {
/** * @param args the command line arguments */ public static void main(String[] args) throws IOException { int n; n=Integer.parseInt(JOptionPane.showInputDialog("Задайте год")); ArrayList<Student> students = new ArrayList<Student>();
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); System.out.print("Вы хотите добавить нового студента (y-да|n-нет):");
while (!reader.readLine().equals("n")){ System.out.print("Введите ФИО:"); String surname = reader.readLine();
System.out.print("Введите количество дипломов:"); int countdiplom = Integer.parseInt(reader.readLine());
System.out.print("Введите названия образовательных учреждений:"); String institute = reader.readLine();
System.out.print("Введите год окончания:"); int year = Integer.parseInt(reader.readLine());
Student student = new Student(surname, countdiplom, institute, year); students.add(student); System.out.print("Вы хотите добавить нового студента (y-да|n-нет):"); } reader.close(); for (Student st : students) { System.out.println(st.toString()); } // Выводим выпускников 2011 System.out.println("Выпускник "+n+" года: "); for(int i = 0; i < students.size(); i++){ if(students.get(i).getYear() == n){ System.out.println(students.get(i).getSurname()); } } // Ищем студента с самым большим числом дипломов int max = students.get(0).getCountdiplom(); for(int i = 0; i < students.size(); i++){ if(students.get(i).getCountdiplom() > max){ max = students.get(i).getCountdiplom(); } } System.out.println(); // Выводим студентов с самым большим кол-вом дипломов System.out.println("Самое большое число дипломов: "); int search = max; for(int i = 0; i < students.size(); i++){ if(students.get(i).getCountdiplom() == search){ System.out.println(students.get(i).getSurname()); } } } }
|
|