Compare commits
2 Commits
Author | SHA1 | Date |
---|---|---|
|
c3a8747cda | |
|
f7f0a26361 |
|
@ -1,26 +1,23 @@
|
|||
import java.util.ArrayList;
|
||||
|
||||
/**
|
||||
* Classe Cinema che va a rappresentare un cinema
|
||||
*
|
||||
* @autor Ciausu Angelo
|
||||
* @version 1.1.7
|
||||
* */
|
||||
|
||||
* @version 2.0.0
|
||||
*/
|
||||
public class Cinema {
|
||||
|
||||
private String nome;
|
||||
private int filmMax;
|
||||
private Film[] film;
|
||||
private ArrayList<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;
|
||||
}
|
||||
this.film = new ArrayList<>(filmMax);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Aggiunge un film all'array di film.
|
||||
*
|
||||
|
@ -30,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] == 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");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -51,12 +50,12 @@ public class Cinema {
|
|||
*
|
||||
* @param Posti il numero di posti da prenotare
|
||||
* @param film il film per cui prenotare i posti
|
||||
* @return `true se i posti sono stati prenotati con successo, `false` altrimenti
|
||||
* @return `true` se i posti sono stati prenotati con successo, `false` altrimenti
|
||||
*/
|
||||
public boolean prenotaPosti(int Posti, Film film) {
|
||||
for (int i = 0; i < this.film.length; i++) {
|
||||
if (this.film[i] != null && this.film[i].equals(film)) {
|
||||
return this.film[i].vendiBiglietti(Posti);
|
||||
for (Film f : this.film) {
|
||||
if (f.equals(film)) {
|
||||
return f.vendiBiglietti(Posti);
|
||||
}
|
||||
}
|
||||
return false;
|
||||
|
@ -71,12 +70,13 @@ public class Cinema {
|
|||
* @return una copia del film con la durata maggiore
|
||||
*/
|
||||
public Film filmPiùLungo() {
|
||||
Film filmPiuLungo = this.film[0];
|
||||
for (int i = 0; i < this.film.length; i++) {
|
||||
if (this.film[i] != null) {
|
||||
if (this.film[i].getDurata() > filmPiuLungo.getDurata()) {
|
||||
filmPiuLungo = this.film[i];
|
||||
}
|
||||
if (this.film.isEmpty()) {
|
||||
return null;
|
||||
}
|
||||
Film filmPiuLungo = this.film.get(0);
|
||||
for (Film f : this.film) {
|
||||
if (f.getDurata() > filmPiuLungo.getDurata()) {
|
||||
filmPiuLungo = f;
|
||||
}
|
||||
}
|
||||
return new Film(filmPiuLungo.getTitolo(), filmPiuLungo.getDurata(), filmPiuLungo.getSala(), filmPiuLungo.getPostiDisponibili());
|
||||
|
@ -91,10 +91,10 @@ public class Cinema {
|
|||
* @param film il film per cui calcolare la percentuale di posti occupati
|
||||
*/
|
||||
public void percentualePostiOccupati(Film film) {
|
||||
for (int i = 0; i < this.film.length; i++) {
|
||||
if (this.film[i] != null && this.film[i].equals(film)) {
|
||||
int postiTotali = this.film[i].getPostiTotali();
|
||||
int postiDisponibili = this.film[i].getPostiDisponibili();
|
||||
for (Film f : this.film) {
|
||||
if (f.equals(film)) {
|
||||
int postiTotali = f.getPostiTotali();
|
||||
int postiDisponibili = f.getPostiDisponibili();
|
||||
int postiOccupati = postiTotali - postiDisponibili;
|
||||
double percentuale = (double) postiOccupati / postiTotali * 100;
|
||||
System.out.println("Percentuale posti occupati: " + percentuale + "%");
|
||||
|
@ -104,22 +104,17 @@ public class Cinema {
|
|||
System.out.println("Film non trovato");
|
||||
}
|
||||
|
||||
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;
|
||||
}
|
||||
}
|
||||
System.out.println("Film non trovato");
|
||||
}
|
||||
|
||||
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].getPostiDisponibili());
|
||||
}
|
||||
public void rimuoviFilm(Film film) {
|
||||
if (this.film.remove(film)) {
|
||||
System.out.println("Film rimosso");
|
||||
} else {
|
||||
System.out.println("Film non trovato");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
public void stampaProgrammazione() {
|
||||
for (Film f : this.film) {
|
||||
System.out.println(f.toString());
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue