Aggiunta classe Cinema

This commit is contained in:
Mr SL1D3R 2025-03-04 08:57:05 +01:00
parent 7b8f8d8f27
commit 60032f8b3c
1 changed files with 96 additions and 0 deletions

View File

@ -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());
}
}
}
}