Consigli su esercizio classi Java

Pubblicità

Manu999

Nuovo Utente
Messaggi
12
Reazioni
4
Punteggio
22
Salve a tutti, sto facendo un esercizio sulle classi in Java, volevo un consiglio la traccia è la seguente:
"Creare una classe telefonata che memorizzi i seguenti dati:
-numero
-durata
-costo

Creare una classe Sim con i seguenti dati:
-numero
-importo
-elenco 10 ultime telefonate fatte ( usare array di Telefonate lungo 10)
-elenco 10 ultime telefonate ricevute ( usare array di Telefonate lungo 10)

e aggiungere i seguenti metodi:
-aggiungi telefonata fatta
-aggiungi telefonata ricevuta
-costo totale chiamate
-durata totale chiamate"

Come posso fare per creare un elenco di chiamate con numero, durata, costo? Non importa la soluzione, solo qualche consiglio per farmi riflettere
 
La classe Chiamata la fai in maniera semplice con i suoi setter/getter esempio:
Java:
Public class calls {
    
    private String number;
    private String duration;
    private Double/Float cost;
    
    private String getNumber(){
        return number;
    }
    
    private void setNumber(String number) {
        return this.number = number;
    }
    
}

E cosi via per gli altri attributi

La classe sim la fai uguale solo che avrà un attributo ti tipo ARRAY di lunghezza 10.
 
La classe Chiamata la fai in maniera semplice con i suoi setter/getter esempio:
Java:
Public class calls {
   
    private String number;
    private String duration;
    private Double/Float cost;
   
    private String getNumber(){
        return number;
    }
   
    private void setNumber(String number) {
        return this.number = number;
    }
   
}

E cosi via per gli altri attributi

La classe sim la fai uguale solo che avrà un attributo ti tipo ARRAY di lunghezza 10.
Ti ringrazio per la risposta, la mia unica difficoltà in questo esercizio è creare un elenco di chiamate dove ci sia numero, durata costo, in modo da calcolare il costo totale e la durata totale, perchè nell'array si può inserire un valore solo per volta
 
Ma dentro l'array tu devi mettere 10 oggetti Telefonata, quindi dov'è che ti blocchi?
 
Ma dentro l'array tu devi mettere 10 oggetti Telefonata, quindi dov'è che ti blocchi?
e la durata ed il costo di ogni chiamata dove li metto per fare il calcolo totale della durata e del costo di tutte le chiamate?
ci sono 10 chiamate ed ogni chiamata ha la sua durata ed il costo, come faccio a memorizzare questi dati per fare la somma finale nei metodi "costo totale" e "durata totale"?
 
e la durata ed il costo di ogni chiamata dove li metto per fare il calcolo totale della durata e del costo di tutte le chiamate?
li memorizzi negli attributi, ciascuna chiamata li ha per sé, oltre al codice che ti hanno postato devi eventualmente aggiungere un costruttore che li inizializzi tutti (gli attributi intendo) oppure dei metodi setCost(...) e setDuration(...)
quando calcoli il totale, i valori di ciascuna chiamata li recuperi con i rispettivi metodi get<attributo>
il totale lo calcoli richiamando i metodi get in un ciclo for che scansiona i rispettivi array
 
li memorizzi negli attributi, ciascuna chiamata li ha per sé, oltre al codice che ti hanno postado devi eventualmente aggiungere un costruttore che li inzializzi tutti oppure dei metodi setCost(...) e setDuration(...)
quando calcoli il toltale i valori li recuper con i rispettivi metodi get
il totale lo calcoli richiamando i metodi get in un ciclo for che scansiona i rispettivi array
Ti ringrazio per la risposta, è perfetta, non ho bisogno di altro posso procedere da solo adesso, vi faccio i complimenti per il forum molto utile, sopratutto in giornate come questa dove dopo aver dormito poco la notte precedente mi sento stordito, oltretutto qui ho risposte abbastanza celeri, in altri forum mi tocca aspettare tanto, contento di avervi scoperto
 
Forse non hai capito bene la traccia dell'esercizio.
Devi dichiarare due classi, una Chiamata (relativa a una singola chiamata effettuata, ossia il numero chiamato, la durate e il prezzo) e una SIM (relativa alla scheda del tuo telefono, che contiene quindi il numero del telefono e l'elenco delle ultime 10 chiamate fatte e ricevute). La classe SIM conterrà quindi al suo interno due vettori (ciascuno di lunghezza 10) di classi Chiamata . Quando viene richiesto il costo totale (per esempio) la classe SIM effettuerà un ciclo nel vettore Chiamate riferito alle chiamate seguite, sommando il costo delle singole chiamate.

EDIT crossposted con @BAT
 
Io l'ho spiegato sopra che devi usare i getter/setter, sono la base degli Oggetti in Java.
 
Io l'ho spiegato sopra che devi usare i getter/setter, sono la base degli Oggetti in Java.
Ti ringrazio per la disponibilità però nella tua risposta le variabili durata e numero non mi sembra appropriato farle con String ma con int, sono invece d'accordo anch'io a misurare il costo con double
 
Ti ringrazio per la disponibilità però nella tua risposta le variabili durata e numero non mi sembra appropriato farle con String ma con int, sono invece d'accordo anch'io a misurare il costo con double
Durata potrei anche capire int.
Numero invece è assolutamente string, prova a memorizzare '049123456' come INT e te ne accorgerai anche tu.
 
il numero è una string perchè si salva come +39 00000 oppure + 41 000000.
La durata sarebbe da fare in decimale perchè una chiamata puo durare anche 7,25 minuti
 
il numero è una string perchè si salva come +39 00000 oppure + 41 000000.
La durata sarebbe da fare in decimale perchè una chiamata puo durare anche 7,25 minuti
Skill, però con il decimal poi ti incasini. Nel senso che 0,25 minuti è diverso da 25 secondi (come la nostra mente è abituata a pensare).
Puoi salvare la durata come int mettendo la durata della telefonata in secondi (o millisecondi a voler essere pignoli).
 
Pubblicità
Pubblicità
Indietro
Top