Посчитать количество лабораторных занятий в группе
Суть задания такова: создать перечисляемый тип данных, который содержит информацию о виде университетского занятия ( «лекция», «лабораторная работа», «практика»). Создать класс «Учебный предмет», который содержит следующие поля: Название предмета, вид занятия, Название группы. Создать 5 объектов данного класса и поместить их в массив. Вывести Количество лабораторных занять для группы ЛА-71.
Вот мой код:
public enum UniversityClasses {
// LECTION - лекция, LAB - лабораторное занятие, PRACTISE - практическое занятие
LECTION, LAB, PRACTISE
}
public class Subject {
private String subjectName;
private UniversityClasses universityClasses;
private String groupName;
public Subject(String subjectName, UniversityClasses universityClasses, String groupName) {
this.subjectName = subjectName;
this.universityClasses = universityClasses;
this.groupName = groupName;
}
public UniversityClasses getUniversityClasses() {
return universityClasses;
}
public void printInfo() {
System.out.println("Subject name: " + subjectName);
System.out.println("Kind of classes : " + universityClasses);
System.out.println("Group name : " + groupName);
System.out.println("\n");
}
}
public class University {
public static void main(String[] args) {
Subject firstSubject = new Subject("Math", UniversityClasses.LECTION, "LA-71");
Subject secondSubject = new Subject("Physics", UniversityClasses.LAB, "LA-71");
Subject thirdSubject = new Subject("Chemistry", UniversityClasses.LAB, "LA-71");
Subject fouthSubject = new Subject("Programming", UniversityClasses.LECTION, "LA-71");
Subject fifthSubject = new Subject("Physical culture", UniversityClasses.PRACTISE, "LA-71");
Subject[] subjects = {firstSubject, secondSubject, thirdSubject, fouthSubject, fifthSubject};
for (Subject subject : subjects) {
if (subject.getUniversityClasses() == UniversityClasses.LAB) {
subject.printInfo();
}
}
}
}
В итоге в аутпуте у меня выводит такую информацию:
Subject name: Physics
Kind of classes : LAB
Group name : LA-71
Subject name: Chemistry
Kind of classes : LAB
Group name : LA-71
Но возник вопрос: как количество лабораторных занятий вывести обычным числом? Буду благодарен всем Вашим ответам и пожеланиям.
Ответы (1 шт):
Автор решения: porosenok
→ Ссылка
public class University {
//переменная для количество лаб
static int countLab = 0;
public static void main(String[] args) {
Subject firstSubject = new Subject("Math", UniversityClasses.LECTION, "LA-71");
Subject secondSubject = new Subject("Physics", UniversityClasses.LAB, "LA-71");
Subject thirdSubject = new Subject("Chemistry", UniversityClasses.LAB, "LA-71");
Subject fouthSubject = new Subject("Programming", UniversityClasses.LECTION, "LA-71");
Subject fifthSubject = new Subject("Physical culture", UniversityClasses.PRACTISE, "LA-71");
Subject[] subjects = {firstSubject, secondSubject, thirdSubject, fouthSubject, fifthSubject};
for (Subject subject : subjects) {
if (subject.getUniversityClasses() == UniversityClasses.LAB) {
//если гетКласс == Класс.ЛАБ то увеличиваем счетчик
countLab++;
subject.printInfo();
}
}
//Вывод счетчика лаб
System.out.println("Колличество лаб = " + countLab);
}
}