-
Notifications
You must be signed in to change notification settings - Fork 0
/
Movie.java
169 lines (147 loc) · 3.81 KB
/
Movie.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
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
import java.io.*;
/**
* @author Agnes
* @version 1.0
* 2022-11-08
*/
public class Movie {
// public enum showStatus {COMINGSOON, PREVIEW, SHOWING, ENDSHOW};
protected String movieTitle;
protected String Synopsis;
protected String Director;
protected String Casts;
protected double Duration;
// private showStatus Status;
protected String Status;
protected String Type;
protected double totalSales;
protected double avgRating;
protected String Reviews;
protected String Ratings;
public Movie(String movieTitle, String Synopsis, String Director, String Casts,
double Duration, String Status, String Type, double totalSales, double avgRating, String Reviews,
String Ratings) {
this.movieTitle = movieTitle;
this.Synopsis = Synopsis;
this.Director = Director;
this.Casts = Casts;
this.Duration = Duration;
this.Status = Status;
this.Type = Type;
this.totalSales = totalSales;
this.avgRating = avgRating;
this.Reviews = Reviews;
this.Ratings = Ratings;
}
/**
* @return String
*/
public String getMovieTitle() {
return movieTitle;
}
/**
* @return String
*/
public String getSynopsis() {
return Synopsis;
}
/**
* @return String
*/
public String getDirector() {
return Director;
}
/**
* @return String
*/
public String getCasts() {
return Casts;
}
/**
* @return String
*/
public String getStatus() {
return Status;
}
/**
* @return String
*/
public String getType() {
return Type;
}
/**
* @return double
*/
public double getDuration() {
return Duration;
}
/**
* @return double
*/
public double gettotalSales() {
return totalSales;
}
/**
* @return String
*/
public String getReviews() {
return Reviews;
}
/**
* @return String
*/
public String getRatings() {
return Ratings;
}
/**
* @return double
*/
public double getavgRating() {
avgRating = calculateAvgRating(Ratings);
return avgRating;
}
/**
* @param numberList
* @return double
*/
public double calculateAvgRating(String numberList) {
// System.out.println(numberList);
int n = numberList.length();
// System.out.println("in cal, n: " + n);
if (n <= 1) {
return -1;
}
int[] nums = new int[n];
for (int i = 0; i < n; i++) {
nums[i] = Character.getNumericValue(numberList.charAt(i));
}
int sum = 0;
for (int i = 0; i < n; i++) {
sum += nums[i];
}
return Math.round((sum / n) * 10.0) / 10.0;
}
/**
* @throws IOException
*/
public void Create() throws IOException {
FileWriter fstream = new FileWriter("MovieList.txt", true);
BufferedWriter out = new BufferedWriter(fstream);
String append = movieTitle + "|" + Synopsis + "|" + Director + "|" + Casts + "|" + Status + "|" +
Type + "|" + Duration + "|" + totalSales + "|" + avgRating + "|" + Reviews + "|" + Ratings;
out.write(append);
out.newLine();
// close buffer writer
out.close();
System.out.println("Added new movie");
}
public void display() {
System.out.println(movieTitle + " " + Status + "\n"
+ "Running Time: " + Duration + "\n"
+ "Type: " + Type + "\n"
+ "Synopsis: " + Synopsis + "\n"
+ "Main Cast: " + Casts + "\n"
+ "Reviews: " + Reviews + "\n"
+ "Ratings: " + Ratings + "\n");
}
}