В листинге 2 представлена программа на Java, в которой определен класс Student. Класс Student содержит следующую информацию о студенте: фамилия, имя и оценки за экзамены по пяти предметах. Метод input() вводит информацию о студенте с клавиатуры. Метод sr_ball() рассчитывает рейтинг студента (средний балл по оценкам). Метод output() выводит информацию о студенте на экран. В классе также имеются: конструктор без параметров, конструктор с параметрами и методы доступа к полю fam (фамилия).
В методе main() создается массив объектов класса Student и выполняется его обработка: сортировка студентов по фамилии в алфавитном порядке, поиск студентов с минимальным рейтингом и поиск рейтинга студента по фамилии.
В методе main() также создаются одиночные объекты класса Student с использованием конструктора без параметров и конструктора с параметрами и выводится на экран содержимое их полей.
Программа включает два файла, которые входят в пакет javaapplication:
- Student.java – файл с описанием класса Student;
- JavaApplication.java – файл с методом main() .
Для создания программы использовалась среда разработки NetBeans IDE 8.0. На рисунке 3 показан состав проекта программы.
Рисунок 3 – Состав проекта программы
Создание проекта в NetBeans: Файл -> Создать проект -> Java -> Приложение Java.
Добавление класса в проект: Файл -> Создать файл-> Java -> Класс Java.
Компиляция, сборка и выполнение проекта: Выполнить -> Запустить проект.
На рисунке 4 показан результат выполнения программы.
Листинг 2
// Student.java
package javaapplication;
import java.util.*;
class Student implements Comparable <Student>
{ private String fam;
private String name;
private int []oc;
public Student(String fam, String name, int []oc)
{ this.oc = new int [5];
System.arraycopy(oc, 0, this.oc, 0, 5);
this.fam = fam;
this.name = name;
}
public Student()
{ this.fam = "nofam";
this.name= "noname";
this.oc = new int [5];
};
public String getfam(){ return fam;}
public void setfam(String fam1){fam = fam1;}
public void input()
{ Scanner in = new Scanner(System.in);
System.out.print("Фамилия: "); fam = in.nextLine();
System.out.print("Имя: "); name = in.nextLine();
System.out.print("Оценки за 5 экзаменов: ");
for (int i=0;i<5;i++)
oc[i]= in.nextInt();
}
public void output()
{ String str = String.format("%-10s%-10s %.2f", fam, name, sr_ball());
System.out.println(str);
// System.out.printf("%-10s%-10s %.2f\n", fam, name, sr_ball());
}
public float sr_ball()
{ float ball = 0;
for (int i=0;i<5;i++)
ball = ball + oc[i];
ball = ball/5;
return ball;
}
@Override
public int compareTo(Student obj)
{ return fam.compareTo(obj.getfam());
}
}
// JavaApplication.java
package javaapplication;
import java.util.*;
public class JavaApplication {
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();
in = new Scanner(System.in);
System.out.print("Укажите фамилию студента: ");
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.