diff --git a/src/Cinema.java b/src/Cinema.java index 6b5a4c2..64deba6 100644 --- a/src/Cinema.java +++ b/src/Cinema.java @@ -1,16 +1,21 @@ +import java.util.ArrayList; + +/** + * Classe Cinema che va a rappresentare un cinema + * + * @autor Ciausu Angelo + * @version 2.0.0 + */ public class Cinema { private String nome; private int filmMax; - private Film[] film; + private ArrayList film; public Cinema(String nome, int filmMax) { this.nome = nome; this.filmMax = filmMax; - this.film = new Film[filmMax]; - for (int i = 0; i < film.length; i++) { - film[i] = null; - } + this.film = new ArrayList<>(filmMax); } /** @@ -22,15 +27,17 @@ public class Cinema { * @param f il film da aggiungere */ public void aggiungiFilm(Film f) { - for (int i = 0; i < film.length; i++) { - if (film[i] == null) { - film[i] = f; - break; - } else if (film[i].equals(f)) { + for (Film film : this.film) { + if (film.equals(f)) { System.out.println("Film già presente"); - break; + return; } } + if (this.film.size() < filmMax) { + this.film.add(f); + } else { + System.out.println("Capacità massima raggiunta"); + } } /** @@ -47,7 +54,7 @@ public class Cinema { */ public boolean prenotaPosti(int Posti, Film film) { for (Film f : this.film) { - if (f != null && f.equals(film)) { + if (f.equals(film)) { return f.vendiBiglietti(Posti); } } @@ -63,9 +70,12 @@ public class Cinema { * @return una copia del film con la durata maggiore */ public Film filmPiùLungo() { - Film filmPiuLungo = this.film[0]; + if (this.film.isEmpty()) { + return null; + } + Film filmPiuLungo = this.film.get(0); for (Film f : this.film) { - if (f != null && f.getDurata() > filmPiuLungo.getDurata()) { + if (f.getDurata() > filmPiuLungo.getDurata()) { filmPiuLungo = f; } } @@ -82,7 +92,7 @@ public class Cinema { */ public void percentualePostiOccupati(Film film) { for (Film f : this.film) { - if (f != null && f.equals(film)) { + if (f.equals(film)) { int postiTotali = f.getPostiTotali(); int postiDisponibili = f.getPostiDisponibili(); int postiOccupati = postiTotali - postiDisponibili; @@ -95,20 +105,16 @@ public class Cinema { } public void rimuoviFilm(Film film) { - for (int i = 0; i < this.film.length; i++) { - if (this.film[i] != null && this.film[i].equals(film)) { - this.film[i] = null; - return; - } + if (this.film.remove(film)) { + System.out.println("Film rimosso"); + } else { + System.out.println("Film non trovato"); } - System.out.println("Film non trovato"); } public void stampaProgrammazione() { for (Film f : this.film) { - if (f != null) { - System.out.println("Titolo: " + f.getTitolo() + " Durata: " + f.getDurata() + " Sala: " + f.getSala() + " Posti: " + f.getPostiDisponibili()); - } + System.out.println(f.toString()); } } } \ No newline at end of file