|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Dec 2003
Messaggi: 1757
|
[Java] confronto date
Mi correggete questo codice?
Dovrebbe creare due oggetti di classe Data e verificare se sono uguali oppure no. Attualmente gli oggetti creati contengono sempre 0 sia per giorno che per mese che per anno. Codice PHP:
|
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Jul 1999
Città: Torino
Messaggi: 2221
|
Tralasciando il discorso sulle date che sicuramente non va gestito in questo modo, ma con le apposite classi Date, DateFormat, SimpleDateFormat, come vedi hai praticamente riscritto lo stesso codice per data 1 e data2. Allora va messo in un unico metodo.
Comunque il codice non funziona perchè tu ridefinisce Data data1 e Data2 all'interno dei metodi, mentre credo che il tuo scopo è quello di valorizzare le variabili globali data1 e data2 che a questo punto non saranno mai inizializzate e conterranno sempre 0 che è il valore col quale sono inizializzati gli interi. Codice:
import javax.swing.JOptionPane; public class Data { static Data data1, data2; int giorno, mese, anno; public Data(int g, int m, int a) { giorno = g; mese = m; anno = a; } public static void verificaDataUguale(Data data1, Data data2) { if ((data1.giorno == data2.giorno) && (data1.mese == data2.mese) && (data1.anno == data2.anno)) System.out.println("Le date sono uguali"); else System.out.println("Le date sono diverse"); } public static Data getData() { int giorno = Integer.parseInt(JOptionPane.showInputDialog("Inserisci il giorno della data")); int mese = Integer.parseInt(JOptionPane.showInputDialog("Inserisci il mese della data")); int anno = Integer.parseInt(JOptionPane.showInputDialog("Inserisci l'anno della data")); Data data = new Data(giorno, mese, anno); return data; } public static void main(String[] args) { data1 = getData(); data2 = getData(); verificaDataUguale(data1, data2); System.exit(0); } } Ultima modifica di cn73 : 19-03-2004 alle 13:11. |
![]() |
![]() |
![]() |
#3 |
Member
Iscritto dal: May 2003
Messaggi: 119
|
i tuoi return data1 e return data2 nn servono a niente.
alla funzione verificaDataUguale passi le variabili data1 e data2 ke nn sono mai state inizializzate. In teoria basta ke nel main metti data1=primaData(); data2=secondaData(); |
![]() |
![]() |
![]() |
#4 | |
Senior Member
Iscritto dal: Dec 2003
Messaggi: 1757
|
Quote:
Grazie ![]() |
|
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Jul 1999
Città: Torino
Messaggi: 2221
|
Ho corretto un altro errore che mi era sfuggito...lo stesso discorso della ridefinizione delle variabili lo facevi per gli attributi giorno, mese e anno
|
![]() |
![]() |
![]() |
#6 | |
Senior Member
Iscritto dal: Dec 2003
Messaggi: 1757
|
Quote:
Come si corregge? |
|
![]() |
![]() |
![]() |
#7 |
Senior Member
Iscritto dal: Jul 1999
Città: Torino
Messaggi: 2221
|
Hai letto che ho corretto un altro errore? Il codice scritto funziona...
|
![]() |
![]() |
![]() |
#8 | |
Senior Member
Iscritto dal: Dec 2003
Messaggi: 1757
|
Quote:
![]() |
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 19:23.