Salvattaggio delle risposte e dei codici primari di test
This commit is contained in:
parent
44d7fb4598
commit
927e2181af
|
@ -27,7 +27,7 @@ Perché il main stampa 16 volte "Film non trovato"? Quale è l'errore? Individua
|
|||
- [x] fatto, ho aggiunto postiTotali e postiDisponibili.
|
||||
|
||||
- setPosti mette il massimo dei posti disponibili.
|
||||
- [ ] Ho dei dubbi... ma solo perchè sono stanco e non capisco bene.
|
||||
- [x] Risolto. Andando a mettere due variabili ovvero postiRimasti & postiTotali.
|
||||
|
||||
- Poi serve un vendiBiglietti (int num) che deve fare dei controlli per vedere se ce ne sono disponibili e restituire true o false a seconda che l'operazione sia possibile (e allora cambia il numero di posti ) o no (e allora non modifica nulla).
|
||||
- [x] fatto, ho aggiunto il metodo vendiBiglietti(int num) che restituisce true se la vendita è andata a buon fine, altrimenti restituisce false.
|
||||
|
@ -47,12 +47,13 @@ Perché il main stampa 16 volte "Film non trovato"? Quale è l'errore? Individua
|
|||
|
||||
|
||||
- prenotaPosti: if (this.film[i] == film) { (vedi sopra) Poi usa vendiBiglietti di Film per cambiare il numero di posti, così eviti possibili errori. Deve restituire true o false, non void. Non deve stampare nulla a video (documentare cosa fa). A video deve stampare il main in base all'esito.
|
||||
|
||||
- [x] fatto, ho sistemato il metodo prenotaPosti, ora restituisce un booleano, e non stampa nulla a video, ma restituisce un booleano, in base all'esito dell'operazione.
|
||||
|
||||
- filmPiuLungo deve restituire (una copia, se vuoi fare le cose fatte bene) del film, il main poi chiama il metodo toString del film restituito
|
||||
|
||||
- [x] fatto, ho sistemato il metodo filmPiuLungo, ora restituisce una copia del film più lungo.
|
||||
|
||||
- percentualePostiOccupati così come è non ha senso. pensaci meglio
|
||||
- [x] fatto, ho sistemato il metodo percentualePostiOccupati, ora calcola la percentuale di posti occupati in base al numero di posti totali e posti disponibili.
|
||||
|
||||
|
||||
- rimuoviFilm ha il solito problema
|
|
@ -1,3 +1,10 @@
|
|||
/**
|
||||
* Classe Cinema che va a rappresentare un cinema
|
||||
*
|
||||
* @autor Ciausu Angelo
|
||||
* @version 1.1.5
|
||||
* */
|
||||
|
||||
public class Cinema {
|
||||
|
||||
private String nome;
|
||||
|
@ -14,11 +21,13 @@ public class Cinema {
|
|||
}
|
||||
|
||||
|
||||
/*
|
||||
* 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
|
||||
/**
|
||||
* Aggiunge un film all'array di film.
|
||||
*
|
||||
* Questo metodo cerca un posto libero nell'array di film e aggiunge il film
|
||||
* se non è già presente.
|
||||
*
|
||||
* @param f il film da aggiungere
|
||||
*/
|
||||
public void aggiungiFilm(Film f) {
|
||||
for (int i = 0; i < film.length; i++) {
|
||||
|
@ -32,51 +41,67 @@ public class Cinema {
|
|||
}
|
||||
}
|
||||
|
||||
/*
|
||||
* 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){
|
||||
/**
|
||||
* Prenota il numero specificato di posti per un determinato film.
|
||||
*
|
||||
* Questo metodo cerca dentro l'array di film per trovare il film specificato.
|
||||
* Se il film viene trovato, tenta di prenotare il numero specificato di posti utilizzando
|
||||
* il metodo vendiBiglietti della classe Film. Il metodo restituisce true se
|
||||
* la prenotazione ha successo, altrimenti restituisce false.
|
||||
*
|
||||
* @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
|
||||
*/
|
||||
public boolean 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");
|
||||
if (this.film[i] != null && this.film[i].equals(film)) {
|
||||
return this.film[i].vendiBiglietti(Posti);
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/*
|
||||
* 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];
|
||||
/**
|
||||
* Restituisce una copia del film con la durata maggiore.
|
||||
*
|
||||
* Questo metodo itera attraverso l'array di film per trovare il film con la durata maggiore.
|
||||
* Se il film viene trovato, restituisce una nuova istanza del film con gli stessi attributi.
|
||||
*
|
||||
* @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() > film.getDurata()) {
|
||||
film = this.film[i];
|
||||
if (this.film[i].getDurata() > filmPiuLungo.getDurata()) {
|
||||
filmPiuLungo = this.film[i];
|
||||
}
|
||||
}
|
||||
}
|
||||
System.out.println("Il film più lungo è: " + film.getTitolo());
|
||||
return new Film(filmPiuLungo.getTitolo(), filmPiuLungo.getDurata(), filmPiuLungo.getSala(), filmPiuLungo.getPostiDisponibili());
|
||||
}
|
||||
|
||||
public void percentualePostiOccupati(Film film){
|
||||
/**
|
||||
* Calcola e stampa la percentuale di posti occupati per un determinato film.
|
||||
*
|
||||
* Questo metodo cerca il film specificato nell'array di film e calcola la percentuale
|
||||
* di posti occupati rispetto al totale dei posti disponibili.
|
||||
*
|
||||
* @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] == film) {
|
||||
System.out.println("Percentuale posti occupati: " + (film.getPosti() * 100) / film.getPosti());
|
||||
if (this.film[i] != null && this.film[i].equals(film)) {
|
||||
int postiTotali = this.film[i].getPostiTotali();
|
||||
int postiDisponibili = this.film[i].getPostiDisponibili();
|
||||
int postiOccupati = postiTotali - postiDisponibili;
|
||||
double percentuale = (double) postiOccupati / postiTotali * 100;
|
||||
System.out.println("Percentuale posti occupati: " + percentuale + "%");
|
||||
return;
|
||||
}
|
||||
}
|
||||
System.out.println("Film non trovato");
|
||||
}
|
||||
|
||||
public void rimuoviFilm(Film film){
|
||||
|
|
Loading…
Reference in New Issue