-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathgit_cinema.java
More file actions
115 lines (93 loc) · 3.5 KB
/
git_cinema.java
File metadata and controls
115 lines (93 loc) · 3.5 KB
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
105
106
107
108
109
110
111
112
113
114
115
public class Cinema {
private String title;
private String genre;
private double duration;
public Cinema(String title, String genre, double duration) {
this.title = title;
this.genre = genre;
this.duration = duration;
}
public String getTitle() {
return title;
}
public String getGenre() {
return genre;
}
public double getDuration() {
return duration;
}
}
import java.util.List;
public class Viewer {
private String username;
private int age;
private List<Cinema> viewedMovies;
public Viewer(String username, int age, List<Cinema> viewedMovies) {
this.username = username;
this.age = age;
this.viewedMovies = viewedMovies;
}
public String getUsername() {
return username;
}
public int getAge() {
return age;
}
public int getNumberOfViewedMovies() {
return viewedMovies.size();
}
public List<Cinema> getViewedMovies() {
return viewedMovies;
}
}
import java.util.List;
public class ViewerStatistics {
public double averageAge(List<Viewer> viewers) {
int sum = 0;
for (Viewer viewer : viewers) {
sum += viewer.getAge();
}
return (double) sum / viewers.size();
}
public double averageNumberOfViewedMovies(List<Viewer> viewers) {
int sum = 0;
for (Viewer viewer : viewers) {
sum += viewer.getNumberOfViewedMovies();
}
return (double) sum / viewers.size();
}
}
import java.util.ArrayList;
import java.util.List;
public class CinemaApplicationRun {
public static void main(String[] args) {
// создаем список пользователей
List<Viewer> viewers = new ArrayList<>();
viewers.add(new Viewer("user1", 25, createMoviesList()));
viewers.add(new Viewer("user2", 30, createMoviesList()));
viewers.add(new Viewer("user3", 20, createMoviesList()));
viewers.add(new Viewer("user4", 27, createMoviesList()));
viewers.add(new Viewer("user5", 23, createMoviesList()));
// считаем средний возраст пользователей
ViewerStatistics viewerStatistics = new ViewerStatistics();
double averageAge = viewerStatistics.averageAge(viewers);
// выводим результат на экран
System.out.printf("Средний возраст пользователей: %.1f\n", averageAge);
// выводим список просмотренных фильмов для каждого пользователя
for (Viewer viewer : viewers) {
System.out.println(viewer.getName() + " просмотрел следующие фильмы:");
for (Cinema movie : viewer.getMoviesList()) {
System.out.println("- " + movie.getTitle() + ", жанр: " + movie.getGenre() + ", продолжительность: " + movie.getDuration() + " часов");
}
System.out.println();
}
}
// создаем список фильмов для каждого пользователя
private static List<Cinema> createMoviesList() {
List<Cinema> moviesList = new ArrayList<>();
moviesList.add(new Cinema("Фильм 1", "драма", 2));
moviesList.add(new Cinema("Фильм 2", "комедия", 1.5));
moviesList.add(new Cinema("Фильм 3", "фантастика", 2.5));
return moviesList;
}
}