Nulla è impossibilecodice:import java.util.*; public class Prova5{ private static Calendar cal; public static String oraLegale(){ cal=Calendar.getInstance(); String ora="Ora "; int day=cal.get(Calendar.DAY_OF_MONTH ); int month=cal.get(Calendar.MONTH); System.out.println("Day "+day +" month "+month +" Year "+cal.get(Calendar.YEAR)); if(month<Calendar.APRIL){ if(month==Calendar.MARCH && ultimaSettimana(month,day)) ora+=" Legale"; else ora+=" Solare"; }else if(month>Calendar.SEPTEMBER){ if(month==Calendar.OCTOBER && !ultimaSettimana(month,day)) ora+=" Legale"; else ora+=" Solare"; }else ora+=" Legale"; return ora; } public static boolean ultimaSettimana(int month,int day){ int d=day; int day_week=cal.get(Calendar.DAY_OF_WEEK ); if(day_week==Calendar.SUNDAY && (d+7)>giorniMese(month)) return true; else if(d>trovaDomenica(d,month,day_week)) return true; return false; } public static int trovaDomenica(int d,int month,int day_week){ int dw=day_week; for (int i=d;i<=giorniMese(month);i++){ if(dw>7) dw=1; if(dw==Calendar.SUNDAY) {return i;} dw++; } return -1; } public static int giorniMese(int month){ int a=cal.get(Calendar.YEAR); int d=0; switch(month){ case 0:case 2 :case 4 :case 6 :case 7 :case 9 :case 11 :d =31; break; case 1: d= (a%4==0) ? 29:28;break; default : d =30; }//switch return d; } public static void main(String []args){ System.out.println(oraLegale()); } }Mi rimangio ciò che ho detto prima
Il codice è un pò lungo , però funziona.
Se riesci ad accorciarlo fai sapere
Ciauz
![]()




Rispondi quotando