|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Junior Member
Iscritto dal: Jul 2011
Messaggi: 7
|
[JAVA] esecuzione anomala!
qualcuno saprebbe spiegarmi come è possibile che vengono stampate due volte le stesse date?!assurdo!posto il codice...
import java.text.DateFormat; import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; public class Main { public static void prova(Date data){ System.out.println("sono dentro il metodo di prova:" + data); } public static void main(String[] args) { Calendar calendar = Calendar.getInstance(); DateFormat data = new SimpleDateFormat("dd-MMM-yy"); //settaggio data DateFormat annoAttuale = new SimpleDateFormat("yy"); //settaggio anno corrente String fineAnno = "23-lug-" + annoAttuale.format(calendar.getTime()); String dataAttuale = data.format(calendar.getTime()); boolean condizione = true; while (condizione){ if(dataAttuale.equals(fineAnno)){ condizione = false; Date dataOk; try { dataOk = data.parse(dataAttuale); prova(dataOk); } catch (ParseException e) { e.printStackTrace(); } }else{ calendar.add(data.DAY_OF_WEEK_FIELD, 1); dataAttuale = data.format(calendar.getTime()); System.out.println("Istanza di Calendar aggiornata di un giorno:" + dataAttuale); } } System.out.println("Sono uscito che la data attuale vale: " + data.format(calendar.getTime()) ); } } Sto impazzendo!non riesco proprio a capire... |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Oct 2006
Città: milano
Messaggi: 1439
|
Scusa ma è troppo caotico. Non si capisce nemmeno quale che sia il tuo intento.
Comunque, sicuro di non voler stampare la variabile calendar? |
![]() |
![]() |
![]() |
#3 |
Junior Member
Iscritto dal: Jul 2011
Messaggi: 7
|
lo sò,purtroppo non ha indentato il codice :-(
cmq praticamente vorrei prendere una data,stamparla ed aggiornarla con calendar fino a quando arrivo alla data stabilita... Purtroppo ogni data mi viene stampata due volte e non capisco il perche! ti posto l'esecuzione... Istanza di Calendar aggiornata di un giorno:21-lug-11 Istanza di Calendar aggiornata di un giorno:21-lug-11 Istanza di Calendar aggiornata di un giorno:22-lug-11 Istanza di Calendar aggiornata di un giorno:22-lug-11 Istanza di Calendar aggiornata di un giorno:23-lug-11 sono dentro il metodo di prova:Sat Jul 23 00:00:00 CEST 2011 Ho messo come data di inizio quella di oggi (21-lug-11) e quella di fine il 23... In teoria dovrei visualizzare 3 stampe e non 5!! Spero di essere stato più chiaro. |
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Jan 2006
Città: MI
Messaggi: 1001
|
Sostituisci
Codice:
calendar.add(data.DAY_OF_WEEK_FIELD, 1); Codice:
calendar.add(Calendar.DATE, 1); |
![]() |
![]() |
![]() |
#5 |
Junior Member
Iscritto dal: Jul 2011
Messaggi: 7
|
miticoooooooo!!funziona ora!!anche se al posto di calendar.add(Calendar.DATE, 1); ho dovuto mettere calendar.add(calendar.DAY_OF_WEEK_FIELD, 1);!!
Praticamente al posto di farlo sulla variabile data,lo dovevo fare sulla variabile calendar!!Ora funziona alla grande,anche se non ho capito il perchè lo stampava due volte!cmq...grazie a tuttiiiiiiii |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 02:06.