Fix date inesistenti + funzione stampa

This commit is contained in:
La Programmatrice Verde
2025-12-18 11:26:41 +01:00
parent 587e0058c3
commit 797cab4581

View File

@@ -42,11 +42,11 @@ public class Calendario {
case 0: case 0:
break; break;
case 1: case 1:
System.out.println(calcolaDataScadenzaGet(data())); stampaData(calcolaDataScadenzaGet(data()));
pausa(); pausa();
break; break;
case 2: case 2:
System.out.println(calcolaDataScadenzaAdd(data())); stampaData(calcolaDataScadenzaAdd(data()));
pausa(); pausa();
break; break;
default: default:
@@ -70,6 +70,7 @@ public class Calendario {
boolean error; boolean error;
Date data = null; Date data = null;
SimpleDateFormat sdf = new SimpleDateFormat(FORMATO_DATA_PRODUZIONE); SimpleDateFormat sdf = new SimpleDateFormat(FORMATO_DATA_PRODUZIONE);
sdf.setLenient(false);
do { do {
error = false; error = false;
@@ -86,7 +87,7 @@ public class Calendario {
return data; return data;
} }
static String calcolaDataScadenzaGet(Date data) { static Calendar calcolaDataScadenzaGet(Date data) {
Calendar c = Calendar.getInstance(); Calendar c = Calendar.getInstance();
c.setTime(data); c.setTime(data);
@@ -94,12 +95,10 @@ public class Calendario {
c.set(Calendar.MONTH, c.get(Calendar.MONTH) + 3); c.set(Calendar.MONTH, c.get(Calendar.MONTH) + 3);
c.set(Calendar.DAY_OF_MONTH, c.get(Calendar.DAY_OF_MONTH) + 10); c.set(Calendar.DAY_OF_MONTH, c.get(Calendar.DAY_OF_MONTH) + 10);
return "La data di scadenza è il " + c.get(Calendar.YEAR) + "/" + c.get(Calendar.MONTH) + "/" return c;
+ c.get(Calendar.DAY_OF_MONTH) + "\nLa settimana dell'anno in cui scadrà è la numero "
+ c.get(Calendar.WEEK_OF_YEAR);
} }
static String calcolaDataScadenzaAdd(Date data) { static Calendar calcolaDataScadenzaAdd(Date data) {
Calendar c = Calendar.getInstance(); Calendar c = Calendar.getInstance();
c.setTime(data); c.setTime(data);
@@ -107,8 +106,12 @@ public class Calendario {
c.add(Calendar.MONTH, 3); c.add(Calendar.MONTH, 3);
c.add(Calendar.DAY_OF_MONTH, 10); c.add(Calendar.DAY_OF_MONTH, 10);
return "La data di scadenza è il " + c.get(Calendar.YEAR) + "/" + c.get(Calendar.MONTH) + "/" return c;
+ c.get(Calendar.DAY_OF_MONTH) + "\nLa settimana dell'anno in cui scadrà è la numero " }
+ c.get(Calendar.WEEK_OF_YEAR);
static void stampaData(Calendar c) {
System.out.println("La data di scadenza è il " + c.get(Calendar.DAY_OF_MONTH) + "/" + c.get(Calendar.MONTH) + "/"
+ c.get(Calendar.YEAR) + "\nLa settimana dell'anno in cui scadrà è la numero "
+ c.get(Calendar.WEEK_OF_YEAR));
} }
} }