return new Status(false,
"Попытка превысить максимально возможное число студентов: "+
Num);
for (int i=0; i<num; i++)
if (studArr[i].num_z==stud.num_z)
return new Status(false, "Студент с номером зачетки "+
stud.num_z+" уже есть в списке");
studArr[num]=stud;
num=num+1;
return new Status (true, "Cтудент успешно добавлен к списку");
}
Внесем изменения в метод main
public class GroupStudentDemo{ // Взаимодействие студентов и групп
public static void main (String[] args){
//создаем группу
Group gr1=new Group ("ИВТБ-11д",5);
//добавляем студентов и выводим сообщения
Status st=gr1.addStud(new Student (25534, "Журавлев", 4.5,
"баскетбол"));
if (!st.flag) System.out.println (st.msg);
st=gr1.addStud(new Student (25535, "Лебедев",4.3,"плавание"));
if (!st.flag) System.out.println (st.msg);
// пытаемся вставить студента с тем же номером зачетки
st=gr1.addStud(new Student (25535, "Орлов",5.0,"литература"));
if (!st.flag) System.out.println (st.msg);
st=gr1.addStud(new Student (25536, "Орлов",5.0,"литература"));
if (!st.flag) System.out.println (st.msg);
st=gr1.addStud(new Student (25537, "Воробьев",3.5,"театр"));
if (!st.flag) System.out.println (st.msg);
st=gr1.addStud(new Student (25538, "Синицын",4.4,"плавание"));
if (!st.flag) System.out.println (st.msg);
//пытаемся вставить лишнего студента
st=gr1.addStud(new Student (25538, "Акимов",4.3,"волейбол"));
if (!st.flag) System.out.println (st.msg);
//печатаем список группы
System.out.println("Список группы "+gr1.getGroupName()+":");
Gr1.putStudArr();
}
}
На языке Pascal было бы примерно так:
type student=record
nom_z:integer;
name:string;
ball:real;
hobby:string
End;
…
functiom addStud(var stud: Student, var msg: string) : boolean;
begin … end;
…
Цитата из интернета:
Плохой стиль программирования на Java – делать методы, которые должны менять через параметры, переданные по ссылке, много переменных простых типов и String (хотя это и возможно, если написать к ним оболочки или использовать готовые (DoubleHolder, LongHolder, IntHolder...) из org.omg.CORBA. Там соответствующие поля сделаны public, и их можно менять. Для изменения строк можно использовать класс StringBuffer.
Хороший стиль объектного программирования:
Вместо передачи примитивов в метод, а потом переписывания их в поля какого-то объекта, на самом деле лучше передавать САМ объект, чтобы с ним уже делать нужное внутри, а потом возвращать объект. Ява все-таки не процедурный, а ООП-язык, и работать с ним надо НЕ как с С/Pascal.
Дата добавления: 2016-01-18; просмотров: 626;