Перечисления в С++, Java и C# (Лабораторная работа № 8), страница 3

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

Добавление класса в проект: Файл -> Создать файл-> Java -> Класс Java.

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

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

Листинг  2

// Student.java

package javaapplication;

import java.util.*;

enum Type

    {   OCH,

        ZAOCH,

        VECH

    }

class Student implements Comparable <Student>

 { private String fam;

   private String name;

   private  int []oc;

   private Type typeob;

   private Calendar date;

   public Student(String fam, String name, int []oc, Type typeob, Calendar date)

   {   this.oc = new int [5];

       System.arraycopy(oc, 0, this.oc, 0, 5);

       this.fam = fam;

       this.name = name;

       this.date = date;

       this.typeob = typeob;

   }

   public String getfam(){ return fam;}

   public Calendar getdate() { return date; }

   public Type gettypeob() { return typeob; }

   public void output()

    { String str = String.format("%-10s%-10s%-10.2f%-12s%td.%tm.%tY",

            fam, name, sr_ball(),typeob,date,date,date);

      System.out.println(str);

    }

   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 date.compareTo(obj.getdate());

    }     

 }

// JavaApplication.java

package javaapplication;

import java.util.*;

public class JavaApplication {

  public static void main(String[] args) {

    Scanner in;

    int[] oc1  = new int [] {56, 67, 45, 34, 50};

    int[] oc2  = new int [] {80, 67, 75, 80, 50};

    int[] oc3  = new int [] {56, 67, 45, 34, 50};

      Calendar dt1 = Calendar.getInstance();

        dt1.set(1991, Calendar.JUNE, 1);

      Calendar dt2 = Calendar.getInstance();

        dt2.set(1990, Calendar.JANUARY, 15);

      Calendar dt3 = Calendar.getInstance();

        dt3.set(1991, Calendar.DECEMBER, 25);

     Student[] st = new Student[3];

     st[0] = new Student ("Сидоров","Петр", oc1, Type.OCH, dt1);

     st[1] = new Student ("Петров","Петр", oc2, Type.ZAOCH, dt2);

     st[2] = new Student ("Иванов","Иван", oc3, Type.ZAOCH, dt3);

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

    System.out.printf("%-10s%-10s%-10s%-12s%-12s\n","Фамилия","Имя",

                      "Рейтинг","Форма обуч.","Дата рождения");

    Arrays.sort(st);

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

       st[i].output();

    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].sr_ball());

           fl = 1;

        }

    }

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

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

    System.out.printf("%-10s%-10s%-10s%-12s%-12s\n","Фамилия","Имя",

                      "Рейтинг","Форма обуч.","Дата рождения");

    float min = st[0].sr_ball();

      for (Student st1 : st) {

          if (st1.sr_ball() < min) {

              min = st1.sr_ball();