Consigli su esercizio classi Java

Pubblicità
Durata potrei anche capire int.
Numero invece è assolutamente string, prova a memorizzare '049123456' come INT e te ne accorgerai anche tu.
Ecco mi sa che devo darti proprio ragione, anche perchè avendo fatto da noefita tutti programmini dove non inserivo cifre numeriche lunghe ma mi divertivo a giocare con gli array in vari modi(trova pari, dispari, inverti sequenze), lo avrei scoperto più in là, ottima precisazione
 
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).
Mai reinventare la ruota, Java (come tutti i linguaggi moderni) ha già una classe che definisce la durata di un intervallo di tempo, ossia Java.time.Duration che già possiede tutti i metodi per ottenere la durata in una unità predefinita (per esempio secondi), per sommare o sottrarre intervalli, o per formattarli come desiderato per poi stamparli.
 
Java (come tutti i linguaggi moderni) ha già una classe che definisce la durata di un intervallo di tempo, ossia Java.time.Duration
probabilmente ha cominciato da poco con le classi, per i primi esercizi sugli attributi secondo me, per questa volta, gli conviene usare un banale int (tempo in secondi) per la durata
 
Se proprio dobbiamo essere pignoli, si usa un long per una duration in ms.
Oltre alla classe Duration citata da @Andretti60, per un inizio e una fine, si può fare anche System.currentTimeMillis() allo start e poi all'end un nuovo System.currentTimeMillis() e infine duration = end - total.

Ma immagino che nel suo programma non ci sia una start chiamate e una end chiamata, quindi basta passare una duration in ms ed è fatta.
 
Se proprio dobbiamo essere pignoli, si usa un long per una duration in ms.
Oltre alla classe Duration citata da @Andretti60, per un inizio e una fine, si può fare anche System.currentTimeMillis() allo start e poi all'end un nuovo System.currentTimeMillis() e infine duration = end - total.

Ma immagino che nel suo programma non ci sia una start chiamate e una end chiamata, quindi basta passare una duration in ms ed è fatta.
Concordo, ma a meno che qualcuno interrompa la comunicazione direi che forse sia meglio memorizzare la durata in secondi. Come poi questa venga visualizzata è un’altra storia, e dovrebbe essere formattata usando un metodo della classe Chiamata (per esempio nel formato MM:SS, ossia minuti e secondi, come mostrato sugli smartphone).
 
Pubblicità
Pubblicità
Indietro
Top