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.
|
- [x] fatto, ho aggiunto postiTotali e postiDisponibili.
|
||||||
|
|
||||||
- setPosti mette il massimo dei posti disponibili.
|
- 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).
|
- 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.
|
- [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.
|
- 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
|
- 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
|
- 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
|
- 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 {
|
public class Cinema {
|
||||||
|
|
||||||
private String nome;
|
private String nome;
|
||||||
|
@ -14,11 +21,13 @@ public class Cinema {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/**
|
||||||
* Aggiungo un film all'array
|
* Aggiunge un film all'array di film.
|
||||||
* 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
|
* Questo metodo cerca un posto libero nell'array di film e aggiunge il film
|
||||||
* Vado a controllare che il film non sia già presente nell'array
|
* se non è già presente.
|
||||||
|
*
|
||||||
|
* @param f il film da aggiungere
|
||||||
*/
|
*/
|
||||||
public void aggiungiFilm(Film f) {
|
public void aggiungiFilm(Film f) {
|
||||||
for (int i = 0; i < film.length; i++) {
|
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
|
* Prenota il numero specificato di posti per un determinato film.
|
||||||
* Se il film è presente vado a controllare se ci sono abbastanza posti
|
*
|
||||||
* Se ci sono abbastanza posti vado a decrementare i posti
|
* Questo metodo cerca dentro l'array di film per trovare il film specificato.
|
||||||
* Altrimenti stampo un messaggio di errore
|
* 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
|
||||||
* @param Posti
|
* la prenotazione ha successo, altrimenti restituisce false.
|
||||||
* @param film
|
*
|
||||||
* */
|
* @param Posti il numero di posti da prenotare
|
||||||
public void prenotaPosti(int Posti, Film film){
|
* @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++) {
|
for (int i = 0; i < this.film.length; i++) {
|
||||||
if (this.film[i] == film) {
|
if (this.film[i] != null && this.film[i].equals(film)) {
|
||||||
if (this.film[i].getPosti() >= Posti) {
|
return this.film[i].vendiBiglietti(Posti);
|
||||||
this.film[i].setPosti(this.film[i].getPosti() - Posti);
|
|
||||||
} else {
|
|
||||||
System.out.println("Posti non disponibili");
|
|
||||||
}
|
|
||||||
}else {
|
|
||||||
System.out.println("Film non trovato");
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/**
|
||||||
* Vado a controllare tutti i film presenti nell'array e vado a stampare il film più lungo
|
* Restituisce una copia del film con la durata maggiore.
|
||||||
* Vado a controllare se il film attuale è maggiore del film precedente
|
*
|
||||||
* */
|
* Questo metodo itera attraverso l'array di film per trovare il film con la durata maggiore.
|
||||||
public void filmPiùLungo() {
|
* Se il film viene trovato, restituisce una nuova istanza del film con gli stessi attributi.
|
||||||
Film film = this.film[0];
|
*
|
||||||
|
* @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++) {
|
for (int i = 0; i < this.film.length; i++) {
|
||||||
if (this.film[i] != null) {
|
if (this.film[i] != null) {
|
||||||
if (this.film[i].getDurata() > film.getDurata()) {
|
if (this.film[i].getDurata() > filmPiuLungo.getDurata()) {
|
||||||
film = this.film[i];
|
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++) {
|
for (int i = 0; i < this.film.length; i++) {
|
||||||
if (this.film[i] == film) {
|
if (this.film[i] != null && this.film[i].equals(film)) {
|
||||||
System.out.println("Percentuale posti occupati: " + (film.getPosti() * 100) / film.getPosti());
|
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){
|
public void rimuoviFilm(Film film){
|
||||||
|
|
Loading…
Reference in New Issue