Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2-й семестр / Лаб.работы / Мет.ук. к л.р.4.doc
Скачиваний:
64
Добавлен:
12.03.2016
Размер:
189.95 Кб
Скачать

Задание 2

Создать программу на языке Java, в которой:

  • определить класс на основе информации об объекте индивидуального варианта. Поля данных класса должны быть закрытыми (private), а методы класса открытыми (public). В классе должны быть конструктор с параметрами и конструктор без параметров, методы доступа к закрытым полям класса и методы ввода и вывода значений полей класса.

  • Создать массив объектов и обработку информации об объектах согласно индивидуальному варианту задания. Выполнить сортировку объектов по какому-либо полю.

Индивидуальные варианты взять из лабораторной работы №1.

Пример 2

В листинге 2 представлена программа, в которой определен класс Student. Поля данных класса являются закрытыми (private), а методы класса открытыми (public). В классе определены конструкторы, методы доступа к закрытым полям класса и методы ввода и вывода значений полей класса.

В программе формируется исходный список студентов, список студентов с минимальным рейтингом, а также осуществляется поиск информации о рейтинге студента по его фамилии. Исходный список студента сортируется по фамилии в алфавитном порядке.

Для создания программы использовалась среда разработки NetBeans IDE 8.0. На рисунке 3 показан состав проекта программы.

Рисунок 3 – Состав проекта программы

Создание проекта в NetBeans: Файл -> Создать проект -> Java -> Приложение Java.

Компиляция, сборка и выполнение проекта: Выполнить -> Запустить проект.

На рисунке 4 показан результат выполнения программы.

Листинг 2

// Student.java

package primer2;

import java.util.*;

class Student implements Comparable

{ private String fam;

private String name;

private int grade; //рейтинг

public Student(String fam, String name, int grade)

{ this.fam = fam;

this.name = name;

this.grade = grade;

}

public Student(){};

public String getfam(){ return fam;}

public String getname(){ return name;}

public int getgrade(){ return grade;}

public void input()

{ Scanner in = new Scanner(System.in);

System.out.print("Фамилия: "); fam = in.nextLine();

System.out.print("Имя: "); name = in.nextLine();

System.out.print("Рейтинг: "); grade = in.nextInt();

}

public void output()

{ System.out.printf("%-10s%-10s %d\n",fam,name,grade);

}

@Override

public int compareTo(Object obj)

{ Student tmp = (Student)obj;

return fam.compareTo(tmp.getfam());

}

}

// Primer2.java

package primer2;

import java.util.*;

class Primer2 {

public static void main(String[] args) {

Scanner in;

System.out.print("Введите кол-во студентов: ");

in = new Scanner(System.in);

int n = in.nextInt();

Student[] st = new Student[n];

for (int i = 0; i<st.length; i++)

{ st[i] = new Student();

st[i].input();

}

Arrays.sort(st);

System.out.println("Список студентов: ");

System.out.printf("%-10s%-10s%-10s\n","Фамилия","Имя","Рейтинг");

for (int i = 0; i<st.length; i++)

st[i].output();

int min = st[0].getgrade();

for(int i = 0; i<st.length; i++)

if (st[i].getgrade() < min)

min = st[i].getgrade();

in = new Scanner(System.in);

System.out.print("Укажите фамилию студента: ");

String fam = in.nextLine();

String f; int fl = 0;

for(int i = 0; i<st.length; i++)

{ f =st[i].getfam();

if (f.equals(fam))

{System.out.println("Рейтинг студента "+ fam+" - "+st[i].getgrade());

fl = 1;

}

}

if (fl == 0) System.out.println("Нет в списке студента "+fam);

System.out.println("Список студентов с минимальным рейтингом: ");

System.out.printf("%-10s%-10s%-10s\n","Фамилия","Имя","Рейтинг");

for(int i = 0; i<st.length; i++)

if (st[i].getgrade() == min)

st[i].output();

}

}

Рисунок 4 – Результат выполнения программы

Соседние файлы в папке Лаб.работы