From 60032f8b3c8a5e13c4932c60e0e18a460bb0d99b Mon Sep 17 00:00:00 2001 From: Mr SL1D3R <76396365+Mr-sl1d3r@users.noreply.github.com> Date: Tue, 4 Mar 2025 08:57:05 +0100 Subject: [PATCH] Aggiunta classe Cinema --- src/Cinema.java | 96 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 96 insertions(+) diff --git a/src/Cinema.java b/src/Cinema.java index e5dee22..48d9c49 100644 --- a/src/Cinema.java +++ b/src/Cinema.java @@ -1,2 +1,98 @@ public class Cinema { + + private String nome; + private int filmMax; + private Film[] 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; + } + } + + + /* + * Aggiungo un film all'array + * Vado a controllare se l'array è vuoto e se il film è diverso da null + * Se l'array è vuoto e il film è diverso da null vado ad aggiungere il film + * Vado a controllare che il film non sia già presente nell'array + */ + 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] == f) { + System.out.println("Film già presente"); + break; + } + } + } + + /* + * Preno i posti per un film, vado a controllare se il film è presente nell'array + * Se il film è presente vado a controllare se ci sono abbastanza posti + * Se ci sono abbastanza posti vado a decrementare i posti + * Altrimenti stampo un messaggio di errore + * + * @param Posti + * @param film + * */ + public void prenotaPosti(int Posti, Film film){ + for (int i = 0; i < this.film.length; i++) { + if (this.film[i] == film) { + if (this.film[i].getPosti() >= Posti) { + this.film[i].setPosti(this.film[i].getPosti() - Posti); + } else { + System.out.println("Posti non disponibili"); + } + }else { + System.out.println("Film non trovato"); + } + } + } + + /* + * Vado a controllare tutti i film presenti nell'array e vado a stampare il film più lungo + * Vado a controllare se il film attuale è maggiore del film precedente + * */ + public void filmPiùLungo() { + Film film = this.film[0]; + for (int i = 0; i < this.film.length; i++) { + if (this.film[i] != null) { + if (this.film[i].getDurata() > film.getDurata()) { + film = this.film[i]; + } + } + } + System.out.println("Il film più lungo è: " + film.getTitolo()); + } + + public void percentualePostiOccupati(Film film){ + for (int i = 0; i < this.film.length; i++) { + if (this.film[i] == film) { + System.out.println("Percentuale posti occupati: " + (film.getPosti() * 100) / film.getPosti()); + } + } + } + + public void rimuoviFilm(Film film){ + for (int i = 0; i < this.film.length; i++) { + if (this.film[i] == film) { + this.film[i] = null; + } + } + } + + public void stampaProgrammazione(){ + for (int i = 0; i < this.film.length; i++) { + if (this.film[i] != null) { + System.out.println("Titolo: " + this.film[i].getTitolo() + " Durata: " + this.film[i].getDurata() + " Sala: " + this.film[i].getSala() + " Posti: " + this.film[i].getPosti()); + } + } + } + }