Public Student(int num_z,String name,

double ball, String hobby){

this.num_z=num_z; this.name=name;

this.ball=ball; this.hobby=hobby;

}

//возвращает строку описания объекта

//(экземпляра класса Student)

public String toString(){

return "Студент: "+num_z+", "+name+", "+ball+

", предпочитает "+hobby;

}

} //class

public class Group { //Сущность - Студенческая группа

//поля

private String name; //шифр группы

private Student [ ] studArr; // список студентов

private int num; //количество студентов в группе

// конструктор

public Group(String name, int numMax){

//с учетом numMax - максимально возможного

//числа студентов

this.name=name;

num=0; //пока список не заполнен

studArr = new Student[numMax]; //выделяется

//память под максимально возможное число

// студентов – реализация списка на основе

//массива фиксированной длины

}

//метод-сеттер – меняет шифр группы

public void setGroupName(String name) {

this.name=name;}

//методы-геттеры

// возвращает шифр группы:

public String getGroupName() {return name;}

// возвращает число студентов в группе:

public int getStudNum(){return num;}

// возвращает студента с заданным номером зачетки (id):

public Student getStud (int id){

Int i;

for (i=0; i<num; i++)

if (studArr[i].num_z == id) break;

if (i == num) return null; //студент с заданным id не найден

else return studArr[i]; //возвращаем ссылку на объект

}

//геттер − возвращает список студентов:

public Student [ ] getStudArr(){

Student [ ] A=new Student[num];

// получаем копию массива ссылок для

// реального, а не максимального числа

// студентов в группе

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

A[i]=studArr[i];

return A; //возвращаем ссылку на массив ссылок на объекты

}

// другие методы

// вывести список студентов

public void putStudArr(){

for (int i=0; i<num; i++)

System.out.println(studArr[i]); // используется метод

// toString() студента

}

//добавить студента в список группы:

public boolean addStud(Student stud){

//студента нельзя вставить, если

//уже вставлено максимально возможное

//количество студентов или

//его id уже упомянут в списке

if (num == studArr.length) return false;

for (int i=0; i<num; i++)

if (studArr[i].num_z == stud.num_z) return false;

studArr[num]=stud;

num=num+1;

Return true;

}

//удалить студента из списка группы:

public boolean delStud(int id){

Int i;

for (i=0; i<num; i++)

if (studArr[i].num_z == id) break;

if (i==num)

return false; //если студента с таким id нет

for (i=i+1; i<num; i++)

studArr[i-1]=studArr[i]; //удалить студента

studArr[i-1]=null;

// в массиве стало на 1 студента меньше

num=num-1;

Return true;

}

} //class Group

 

public class GroupStudentDemo{ // Взаимодействие студентов и групп

public static void main (String[ ] args){

//создаем группы

Group gr1=new Group ("ИВТБ-11д",25);

Group gr2=new Group ("ИВТБ-12д",25);

// добавляем студентов в первую группу

gr1.addStud(new Student (25534, "Журавлев",4.5,"баскетбол"));

gr1.addStud(new Student (25535, "Лебедев",4.3,"плавание"));

gr1.addStud(new Student (25536, "Орлов",5.0,"литература"));

gr1.addStud(new Student (25537, "Воробьев",3.5,"театр"));

gr1.addStud(new Student (25538, "Синицын",4.4,"плавание"));

// добавляем студентов во вторую группу

gr2.addStud(new Student (25539, "Иванов",4.5,"волейбол"));

gr2.addStud(new Student (25540, "Ветров",4.3,"плавание"));

gr2.addStud(new Student (25541, "Солнцев",5.0,"театр"));

gr2.addStud(new Student (25542, "Туманов",3.5,"театр"));

gr2.addStud(new Student (25543, “Петров",4.4,"скалолазание"));

//возвращаем и выводим студентов

int n=25534;

Student s1=gr1.getStud(n);

if (s1==null) System.out.println ("В группе "+gr1.getGroupName()+

" нет студента с номером зачетки "+n);








Дата добавления: 2016-01-18; просмотров: 574;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.014 сек.