Elenet.net
0 voti

Implementare una classe Prenotazione (di un campo da tennis) contenente il nome del cliente e l'ora della sua prenotazione.

Implementare una classe Campo in cui ci sono i seguenti metodi:

public boolean addPren(int inizio, int fine, String unNomeCliente),
per prenotare il campo (controlla se i dati inseriti sono giusti e se il campo è disponibile dopodichè salva la prenotazione e restituisce true se il campo è stato prenotato);

public boolean removePren (int inizio, int fine, String unNomeCliente),
per cancellare una prenotazione (controlla se il campo è stato prenotato dal cliente che vuole cancellare la prenotazione dopodichè la cancella e restituisce true se la prenotazione è stata cancellata);

public String toString();
public double utilizzo()
per trovare la percentuale dell'utilizzo del campo.

Consigli:
 
Nello sviluppo di alcuni metodi, si consiglia il seguente procedimento:
-  addPren (int inizio, int fine, String unNomeCliente): creare un metodo ausiliario che individua se il campo da gioco è disponibile.
 
-  removePren (int inizio, int fine, String unNomeCliente):
anche in questo caso s’invita ad utilizzare un metodo ausiliario per verificare se esiste la prenotazione da disdire.
 
quesito posto 13 Marzo 2014 in Classe quarta da Gianni Messina Esperto (706 punti)
  

2 Risposte

+1 voto

Classe Prenotazione: 

 

import java.io.*;
 
public class Prenotazione {
 
private String nome_cliente;
private int ora_prenotazione;
 
public Prenotazione (String nome_cliente, int ora_prenotazione){
this.nome_cliente = nome_cliente;
this.ora_prenotazione = ora_prenotazione;
}
 
public String getNomeCliente () {
return nome_cliente;
}
 
public int getOraPrenotazione () {
return ora_prenotazione;
}
 
public void setNomeCliente (String nome_cliente) {
this.nome_cliente = nome_cliente;
}
 
public void setOraPrenotazione (int ora_prenotazione) {
this.ora_prenotazione = ora_prenotazione;
}
 
}

 

 
risposta inviata 20 Marzo 2014 da Salvatore Firriolo Corsista (131 punti)
0 voti

Campo:

import java.io.*;


public class Campo {

    public int ora_apertura;
    public int ora_chiusura;
    public int lunghezza=ora_chiusura - ora_apertura;
    Prenotazione prenotazioni[];
    
    public Campo (int ora_apertura, int ora_chiusura){
        this.ora_apertura = ora_apertura;
        this.ora_chiusura = ora_chiusura;
        int quante_ore = ora_chiusura - ora_apertura;
        prenotazioni = new Prenotazione[quante_ore];
    }

    public boolean addPren(int inizio, int fine, Prenotazione prenotazione){
    
        if (this.isCampoLibero(inizio, fine)){
            
            for (int pos_inizio=inizio-ora_apertura; pos_inizio<fine-ora_apertura; pos_inizio++){
                prenotazioni[pos_inizio]=prenotazione;
            }           
            return true; //campo prenotato
            }
            else{
        
            return false; //campo non prenotato perchè occupato
            }
        }   
        
        public boolean isCampoLibero (int inizio, int fine){
            boolean a=true;
            if (inizio <= ora_apertura || fine >= ora_chiusura){
                a=false;
                return a;
                }
        
            int p = inizio - ora_apertura;
            System.out.println(p);
            System.out.println(lunghezza);
            
                while (p<lunghezza){
                    if(prenotazioni[p]!=null){
                a = false;
                System.out.println("Entrato.");
                }
                p++;
        }
             return a;
        }
        
        public void isLibero(int ora){
            if (prenotazioni[ora]==null){
                System.out.println(ora+":Libero;");
            }
            else {
                System.out.println(ora+":Occupato;");
            }
        }
        public static void main(String[] args){
            Prenotazione prenotazione1 = new Prenotazione ("Salvatore");
            Campo campo1 = new Campo (8, 22);
            System.out.println(campo1.ora_apertura);
            System.out.println(campo1.ora_chiusura);
            campo1.isLibero(2);
            if(campo1.addPren(10, 12, prenotazione1)){
            System.out.println("Prenotazione effettuata.");
            }
            else {
                System.out.println("Campo non prenotabile.");
            }
            campo1.isLibero(2);
        
            if(campo1.addPren(11, 13, prenotazione1)){
                System.out.println("Prenotazione effettuata.");
                }
                else {
                    System.out.println("Campo non prenotabile.");
                }
            
            for (int i=0; i<campo1.lunghezza; i++){
                campo1.isLibero(i);
            }
        }        
}

risposta inviata 19 Marzo 2014 da Salvatore Firriolo Corsista (131 punti)
modificato 20 Marzo 2014 da Salvatore Firriolo

Domande correlate

+1 voto
2 risposte
quesito posto 30 Ottobre 2013 in Classe quarta da Gianni Messina Esperto (706 punti) | 6,733 visite
+1 voto
1 risposta
quesito posto 22 Gennaio 2014 in Classe quarta da Gianni Messina Esperto (706 punti) | 185 visite
+5 voti
2 risposte
quesito posto 8 Gennaio 2014 in Classe quarta da Marco Zaccaria Corsista (149 punti) | 225 visite
768 domande
1,546 risposte
636 commenti
1,445 utenti