Форум программистов, компьютерный форум, киберфорум
Java для начинающих
Войти
Регистрация
Восстановить пароль
 
1 / 1 / 0
Регистрация: 04.11.2019
Сообщений: 34
1

Генератор студентов

17.12.2019, 18:43. Просмотров 375. Ответов 4
Метки нет (Все метки)

Как преобразовать данный ниже код чтобы генерировать студентов с массивом предметов и оценок за предмет
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
public class Student {
    private int groupId;
    private String name;
    private String secondName;
    private String surname;
    private String institute;
    private String department;
    private String subject;
    private Integer marks;
 
 
    public int getGroupId() {
        return groupId;
    }
 
    public void setGroupId(int groupId) {
        this.groupId = groupId;
    }
 
    public String getName() {
        return name;
    }
 
    public void setName(String name) {
        this.name = name;
    }
 
    public String getSecondName() {
        return secondName;
    }
 
    public void setSecondName(String secondName) {
        this.secondName = secondName;
    }
 
    public String getSurname() {
        return surname;
    }
 
    public void setSurname(String surname) {
        this.surname = surname;
    }
 
    public String getInstitute() {
        return institute;
    }
 
    public void setInstitute(String institute) {
        this.institute = institute;
    }
 
    public String getDepartment() {
        return department;
    }
 
    public void setDepartment(String department) {
        this.department = department;
    }
 
    public String getSubject() {
        return subject;
    }
 
    public void setSubject(String subject) {
        this.subject = subject;
    }
 
    public Integer getMarks() {
        return marks;
    }
 
    public void setMarks(Integer marks) {
        this.marks = marks;
    }
 
    @Override
    public String toString() {
        return "Student{" +
                "groupId=" + groupId +
                ", name='" + name + '\'' +
                ", secondName='" + secondName + '\'' +
                ", surname='" + surname + '\'' +
                ", institute='" + institute + '\'' +
                ", department='" + department + '\'' +
                ", subject='" + subject + '\'' +
                ", marks=" + marks +
                '}';
    }
}
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
public class GeneratorOfStudents {
    private String[] firstName = {"Александр", "Максим", "Иван", "Артём", "Никита", "Дмитрий", "Егор", "Даниил",
            "Михаил", "Андрей", "Алексей", "Илья", "Кирилл", "Сергей", "Владислав", "Роман", "Владимир", "Тимофей",
            "Матвей", "Георгий", "Николай", "Павел", "Арсений", "Денис", "Степан", "Фёдор", "Данила", "Антон",
            "Константин", "Глеб", "Ярослав", "Григорий", "Игорь", "Евгений", "Тимур", "Руслан", "Пётр", "Олег",
            "Вадим", "Василий", "Вячеслав", "Виктор", "Юрий", "Артемий", "Леонид", "Давид", "Марк", "Лев", "Семён",
            "Артур"};
    private String[] surname = {"Иванов", "Васильев", "Петров",
            "Смирнов", "Михайлов", "Фёдоров", "Соколов", "Яковлев", "Попов", "Андреев", "Алексеев", "Александров",
            "Лебедев", "Григорьев", "Степанов", "Семёнов", "Павлов", "Богданов", "Николаев", "Дмитриев", "Егоров",
            "Волков", "Кузнецов", "Никитин", "Соловьёв", "Тимофеев", "Орлов", "Афанасьев", "Филиппов", "Сергеев",
            "Захаров", "Матвеев", "Виноградов", "Кузьмин", "Максимов", "Козлов", "Ильин", "Герасимов", "Марков",
            "Новиков", "Морозов"};
    private String[] secondName = {"Александрович", "Адамович", ",Анатольевич", "Аркадьевич", "Алексеевич",
            "Андреевич", "Артемович", "Альбертович", "Антонович", "Богданович", "Богуславович", "Борисович",
            "Вадимович", "Васильевич", "Владимирович", "Валентинович", "Вениаминович", "Вячеславович", "Валерьевич",
            "Викторович", "Геннадиевич", "Георгиевич", "Геннадьевич", "Григорьевич", "Давидович", "Денисович",
            "Данилович", "Дмитриевич", "Евгеньевич", "Егорович", "Ефимович", "Иванович", "Ильич", "Игоревич",
            "Иосифович", "Кириллович", "Константинович", "Леонидович", "Львович", "Макарович", "Максович",
            "Миронович", "Максимович", "Матвеевич", "Михайлович", "Натанович", "Наумович", "Николаевич", "Олегович",
            "Оскарович", "Павлович", "Петрович", "Платонович", "Робертович", "Ростиславович", "Рудольфович",
            "Романович", "Рубенович", "Русланович", "Святославович", "Сергеевич", "Степанович", "Семенович",
            "Станиславович", "Тарасович", "Тимофеевич", "Тимурович", "Федорович", "Феликсович", "Филиппович",
            "Харитонович", "Эдуардович", "Эмануилович", "Эльдарович", "Юрьевич", "Юхимович", "Яковлевич",
            "Ярославович"};
    private String[] institutes = {"Институт информационно-диагностических систем",
            "Аэрокосмический институт", "Институт аэрокосмических систем управления",
            "Институт экологической безопасности", "Институт экономики и менеджмента",
            "Юридический институт", "Институт доуниверситетской подготовки",
            "Гуманитарный Институт", "Институт ICAO", "Институт заочного и дистанционного обучения",
            "Институт новейших технологий", "Институт последипломного обучения",
            "Институт землеустройства и информационных технологий", "Институт международных отношений",
            "Житомирский военный институт им.С.П.Королева", "Институт аэронавигации", "Институт аэропортов"};
    private String[] departments = {"Факультет летательных аппаратов", "Факультет лингвистики",
            "Факультет психологии и социологии", "Факультет авиационных транспортных технологий",
            "Факультет экономики и предпринимательства", "Факультет менеджмента и логистики",
            "Факультет электроники", "Факультет аэрокосмических систем управления",
            "Факультет информационных технологий", "Факультет телекоммуникаций и защиты информации",
            "Факультет компьютерных наук", "Факультет компьютерных систем",
            "Факультет международных экономических отношений", "Факультет международной информации и права",
            "Факультет аэропортов", "Факультет архитектуры и дизайна", "Факультет экологической безопасности"};
    private String[] subject = {"Математика", "Украинский язык и литература", "История Украины", "Испанский язык",
        "Немецкий язык", "Английский язы", "Биология", "География",  "Химия", "Физика"};
 
 
 
    public String generateName() {
        String name = firstName[(int) (Math.random() * firstName.length)];
        return name;
    }
 
    public String generateSurname (){
        String name = surname[(int) (Math.random()*surname.length)];
        return name;
    }
 
    public String generateSecondName(){
        String name = secondName[(int) (Math.random()*secondName.length)];
        return name;
    }
 
    public String generateInstitute(){
        String institute = institutes[(int) (Math.random() * institutes.length)];
        return institute;
    }
 
    public String generateDepartments() {
        String department = departments[(int) (Math.random() * departments.length)];
        return department;
    }
 
    public int generateGroupId() {
        int groupId= (int) (Math.random() * 100) +1;
        return groupId;
    }
 
    public String generateSubject (){
        String subjectName = subject[(int) (Math.random()*subject.length)];
        return subjectName;
    }
 
    public int generateMark (){
        int marks = (int) (Math.random()*9)+1;
        return marks;
    }
}
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
public class UniversityOperations extends GeneratorOfStudents {
    public void setStudents (ArrayList<Student> students, int numberOfStudents){
        for (int i = 0; i < numberOfStudents ; i++) {
            Student student = new Student();
            student.setName(generateName());
            student.setSecondName(generateSecondName());
            student.setSurname(generateSurname());
            student.setGroupId(generateGroupId());
            student.setDepartment(generateDepartments());
            student.setInstitute(generateInstitute());
            for (int j = 0; j < 10; j++) {
 
                student.setSubject(generateSubject());
                student.setMarks(generateMark());
            }
            students.add(i,  student);
        }
    }
 
    public void showData(ArrayList<Student> students) {
        for (int i=0; i<students.size(); i++) {
            Student obj1 = new Student();
            obj1 = students.get(i);
            System.out.println(obj1.toString());
        }
    }
}
Java
1
2
3
4
5
6
7
8
public class TestUniversity {
    public static void main(String[] args) {
        UniversityOperations universityOperations = new UniversityOperations();
        ArrayList<Student> students = new ArrayList<>();
        universityOperations.setStudents(students, 30);
        universityOperations.showData(students);
    }
}
результат
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Student{groupId=48, name='Дмитрий', secondName='Платонович', surname='Орлов', institute='Аэрокосмический институт', department='Факультет аэропортов', subject='Биология', marks=2}
Student{groupId=21, name='Егор', secondName='Наумович', surname='Алексеев', institute='Институт доуниверситетской подготовки', department='Факультет аэрокосмических систем управления', subject='Математика', marks=6}
Student{groupId=61, name='Тимофей', secondName='Ефимович', surname='Марков', institute='Институт аэрокосмических систем управления', department='Факультет экономики и предпринимательства', subject='История Украины', marks=6}
Student{groupId=7, name='Фёдор', secondName='Игоревич', surname='Захаров', institute='Институт доуниверситетской подготовки', department='Факультет авиационных транспортных технологий', subject='Химия', marks=4}
Student{groupId=32, name='Антон', secondName='Тимурович', surname='Семёнов', institute='Институт аэропортов', department='Факультет экономики и предпринимательства', subject='Физика', marks=5}
Student{groupId=10, name='Артемий', secondName='Константинович', surname='Марков', institute='Институт последипломного обучения', department='Факультет аэропортов', subject='Математика', marks=4}
Student{groupId=20, name='Кирилл', secondName='Викторович', surname='Яковлев', institute='Институт информационно-диагностических систем', department='Факультет международной информации и права', subject='Украинский язык и литература', marks=9}
Student{groupId=24, name='Леонид', secondName='Сергеевич', surname='Алексеев', institute='Институт аэронавигации', department='Факультет архитектуры и дизайна', subject='Биология', marks=8}
Student{groupId=76, name='Леонид', secondName='Робертович', surname='Дмитриев', institute='Гуманитарный Институт', department='Факультет лингвистики', subject='Украинский язык и литература', marks=7}
Student{groupId=73, name='Даниил', secondName='Филиппович', surname='Степанов', institute='Институт информационно-диагностических систем', department='Факультет менеджмента и логистики', subject='Химия', marks=9}
Student{groupId=78, name='Александр', secondName='Адамович', surname='Герасимов', institute='Институт международных отношений', department='Факультет лингвистики', subject='Физика', marks=4}
Student{groupId=12, name='Глеб', secondName='Романович', surname='Александров', institute='Житомирский военный институт им.С.П.Королева', department='Факультет электроники', subject='Испанский язык', marks=8}
Student{groupId=94, name='Виктор', secondName='Феликсович', surname='Михайлов', institute='Институт аэронавигации', department='Факультет электроники', subject='Математика', marks=7}
Student{groupId=92, name='Артур', secondName='Сергеевич', surname='Матвеев', institute='Институт аэронавигации', department='Факультет компьютерных наук', subject='Английский язы', marks=2}
Student{groupId=56, name='Руслан', secondName='Игоревич', surname='Андреев', institute='Институт аэронавигации', department='Факультет электроники', subject='Немецкий язык', marks=9}
Student{groupId=18, name='Семён', secondName='Сергеевич', surname='Соколов', institute='Институт информационно-диагностических систем', department='Факультет лингвистики', subject='Испанский язык', marks=9}
Student{groupId=71, name='Артемий', secondName='Рубенович', surname='Виноградов', institute='Институт информационно-диагностических систем', department='Факультет международных экономических отношений', subject='Физика', marks=3}
Student{groupId=63, name='Леонид', secondName='Ильич', surname='Иванов', institute='Институт международных отношений', department='Факультет аэропортов', subject='Украинский язык и литература', marks=8}
Student{groupId=91, name='Сергей', secondName='Вячеславович', surname='Захаров', institute='Гуманитарный Институт', department='Факультет летательных аппаратов', subject='Химия', marks=7}
Student{groupId=70, name='Владимир', secondName='Рудольфович', surname='Григорьев', institute='Институт аэропортов', department='Факультет авиационных транспортных технологий', subject='География', marks=3}
Student{groupId=75, name='Руслан', secondName='Аркадьевич', surname='Захаров', institute='Юридический институт', department='Факультет авиационных транспортных технологий', subject='Химия', marks=5}
Student{groupId=76, name='Сергей', secondName='Кириллович', surname='Морозов', institute='Гуманитарный Институт', department='Факультет архитектуры и дизайна', subject='Испанский язык', marks=8}
Student{groupId=79, name='Давид', secondName='Егорович', surname='Волков', institute='Юридический институт', department='Факультет лингвистики', subject='Математика', marks=8}
Student{groupId=75, name='Руслан', secondName='Максович', surname='Богданов', institute='Институт заочного и дистанционного обучения', department='Факультет психологии и социологии', subject='Химия', marks=4}
Student{groupId=81, name='Никита', secondName='Кириллович', surname='Дмитриев', institute='Институт доуниверситетской подготовки', department='Факультет аэрокосмических систем управления', subject='Физика', marks=2}
Student{groupId=90, name='Ярослав', secondName='Платонович', surname='Новиков', institute='Аэрокосмический институт', department='Факультет электроники', subject='Химия', marks=7}
Student{groupId=23, name='Антон', secondName='Яковлевич', surname='Кузнецов', institute='Институт экономики и менеджмента', department='Факультет аэропортов', subject='Биология', marks=1}
Student{groupId=93, name='Марк', secondName='Семенович', surname='Васильев', institute='Аэрокосмический институт', department='Факультет летательных аппаратов', subject='Испанский язык', marks=6}
Student{groupId=42, name='Кирилл', secondName='Леонидович', surname='Максимов', institute='Институт международных отношений', department='Факультет международной информации и права', subject='Английский язы', marks=4}
Student{groupId=54, name='Артём', secondName='Николаевич', surname='Фёдоров', institute='Институт ICAO', department='Факультет психологии и социологии', subject='История Украины', marks=2}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.12.2019, 18:43
Ответы с готовыми решениями:

Как подсчитать средний возраст студентов и количество студентов с задолженностями записать в файл и вывести на экран
Предусмотреть ввод информации с клавиатуры с помощью потоков ввода, вывод информации в файл,...

В файле, содержащем фамилии студентов и их оценки, записать большими буквами фамилии тех студентов, которые имеют средний балл более "4".
В файле, содержащем фамилии студентов и их оценки, записать большими буквами фамилии тех студентов,...

Из списка студентов группы вывести фамилии двух самых старших студентов.
Здравствуйте. Задача поставлена следующим образом: из списка студентов группы, где приведены...

При выборе группы студентов из ComboBox показать список студентов в Stringgrid
Есть combobox, где содержатся группы студентов и stringgrid, где содержатся все их фамилии, даты...

4
26 / 20 / 9
Регистрация: 11.10.2019
Сообщений: 103
17.12.2019, 19:04 2
dmazur, измени класс Student таким образом, чтобы он мог хранить массив предметов и оценок, например на основе Map. Ну и в генераторе в цикле заполни эту мапу.
0
1 / 1 / 0
Регистрация: 04.11.2019
Сообщений: 34
17.12.2019, 20:11  [ТС] 3
думал и пробовал, но что-то не складывается у меня этот пазл, как он должен быть реализован

Добавлено через 1 час 4 минуты
разобрался, спасибо за помощь и внимание
0
178 / 294 / 55
Регистрация: 26.02.2018
Сообщений: 657
Записей в блоге: 2
18.12.2019, 14:03 4
dmazur,
Как вариант см. сюда
0
1821 / 1437 / 358
Регистрация: 17.02.2014
Сообщений: 7,351
18.12.2019, 14:22 5
dmazur, гля, что нашлось в кладовой
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
package helper;
 
import java.util.*;
 
public class Helper {
 
    public static void main(String[] args) {
        Student student1 = new Student("Паносенко");
        student1.setRecordBook("Математика", "Украинский язык и литература", "История ЭВМ Украины");
        student1.printRecordBook();
        student1.addSubjectToRecordBook("Физика");
        Subject curSub = student1.getSubjectByName("Математика");
        if (curSub.getName().length() != 0) {
            curSub.addMark(7);
        }
        student1.printRecordBook();
    }
}
 
class Student {
    private String name;
    private Set<Subject> recordBook = new TreeSet<>(Comparator.comparing(Subject::getName));
 
    public Student(String name) {
        this.name = name;
    }
 
    public void setRecordBook(String... subjectsName) {
        for (String subName : subjectsName)
            recordBook.add(new Subject(subName));
    }
 
    public void addSubjectToRecordBook(String newSubjectsName) {
            recordBook.add(new Subject(newSubjectsName));
    }
 
    public Subject getSubjectByName(String subjectsName) {
        Subject ret = new Subject();
        for (Subject ttSub : recordBook)
            if (ttSub.getName().equals(subjectsName))
                ret = ttSub;
        return ret;
    }
 
    public void printRecordBook(){
        System.out.println("Студент \"" + name + '\"');
        for (Subject recSub : recordBook)
            System.out.println(recSub);
        System.out.println("================");
    }
}
 
class Subject {
    private String name;
    List<Integer> marks;
 
    public Subject(String name) {
        this.name = name;
        marks = new ArrayList<>(Arrays.asList(2, 3, 5, 3, 5, 4, 5));
    }
 
    public Subject() {
        this.name = "";
        marks = new ArrayList<>(0);
    }
 
    public void addMark(int mark) {marks.add(mark);}
 
    public void resetMark(int mark, int numSes) {
        if (numSes < marks.size())
            marks.add(numSes, mark);
    }
 
    public String getName() {
        return name;
    }
 
    public double getAverage() {
        IntSummaryStatistics stat = marks.stream().mapToInt(Integer::new).summaryStatistics();
        return stat.getAverage();
    }
 
    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        Subject subject = (Subject) o;
        return name.equals(subject.name) && marks.equals(subject.marks);
    }
 
    @Override
    public int hashCode() {
        return name.hashCode() + marks.hashCode();
    }
 
    @Override
    public String toString() {
        StringBuilder stringBuilder = new StringBuilder();
        stringBuilder.append(name).append(" -> |");
        for (Integer mark : marks)
            stringBuilder.append(mark).append(" | ");
        return stringBuilder.toString();
    }
}
резулт:
Кликните здесь для просмотра всего текста

Студент "Паносенко"
История ЭВМ Украины -> |2 | 3 | 5 | 3 | 5 | 4 | 5 |
Математика -> |2 | 3 | 5 | 3 | 5 | 4 | 5 |
Украинский язык и литература -> |2 | 3 | 5 | 3 | 5 | 4 | 5 |
================
Студент "Паносенко"
История ЭВМ Украины -> |2 | 3 | 5 | 3 | 5 | 4 | 5 |
Математика -> |2 | 3 | 5 | 3 | 5 | 4 | 5 | 7 |
Украинский язык и литература -> |2 | 3 | 5 | 3 | 5 | 4 | 5 |
Физика -> |2 | 3 | 5 | 3 | 5 | 4 | 5 |
================
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.12.2019, 14:22

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Из списка студентов группы, вывести студентов, родившихся под заданным знаком Зодиака
Из списка студентов группы, где приведены фамилии и даты рождения, вывести студентов,родившихся под...

Массив студентов первого курса. Вывести процент студентов, сдавших все экзамены на 4, 5
Добрый вечер. Задание следующее: В массиве содержится информация о сдаче зимней сессии...

Вывести список студентов в выходной текстовый файл в порядке убывания оценок студентов
Во входном текстовом файле находится информация о студентах: фамилия, имя и оценка - целое число...

Распечатать анкетные данные студентов интересующей вас группы. Фамилии студентов начинаются с букв I, F и G
!!!!!

LINQ запрос: вывести имена студентов (без повторов) и количество студентов с таким именем
Помогите составить следующий LINQ запрос Вывести имена студентов (без повторов) и количество...

Из списка студентов группы напечатать фамилии студентов-отличников
Из списка студентов группы, где приведены сведения: фамилия, оценки по трем предметам, напечатать...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.