Salve a tutti, volevo porvi un piccolo mio problema. Devo fare un programma utilizzando le classi pattern e matcher (le ho quasi capite) chiedendo in input il numero di giorni lavorativi, l'ora di inizio e fine della giornata lavorativa e calcolare il totale in euro sapendo che ogni ora corrisponde a sei euro. Questo è il corpo del programma che ho fatto
Il problema è che dopo l'inserimento dell'orario, mi da in output il seguente errorecodice:Scanner T = new Scanner(System.in); GregorianCalendar GCI = new GregorianCalendar(); GregorianCalendar GCF = new GregorianCalendar(); Pattern P = Pattern.compile("(0[0-9]|1[0-9]|2[0-3])\\.([0-5][0-9])"); Matcher M; int I; String S; long Diff = 0; float Euro = 0; System.out.println("Digitare giorni lavorativi: "); int GL = T.nextInt(); T.nextLine(); System.out.println("Utilizzare la sintassi hh.mm per inserire i dati"); for (I = 0; I < GL; I++) { System.out.println("Digitare dati giorno " + (I + 1) + "\n" + "Orario inizio giornata lavorativa: "); S = T.nextLine(); M = P.matcher(S); int OI = Integer.parseInt(M.group(1)); int MI = Integer.parseInt(M.group(2)); System.out.println("Orario fine giornata lavorativa: "); S = T.nextLine(); M = P.matcher(S); int OF = Integer.parseInt(M.group(1)); int MF = Integer.parseInt(M.group(2)); GCI.set(GregorianCalendar.HOUR_OF_DAY, OI); GCI.set(GregorianCalendar.MINUTE, MI); GCF.set(GregorianCalendar.HOUR_OF_DAY, OF); GCF.set(GregorianCalendar.MINUTE, MF); long Imillis = GCI.getTimeInMillis(); long Fmillis = GCF.getTimeInMillis(); Diff = Diff + (Fmillis - Imillis) / 60000; Euro = Diff / 10; } System.out.println("Totale:\n" + "Euro " + Euro);
Mi potreste gentilmente spiegare perchè mi da quell'errore e come posso risolverlo? Grazie infinitecodice:Digitare giorni lavorativi: 1 Digitare dati giono 1 Ora Inizio Giornata Lavorativa: 08:30 Exception in thread "main" java.lang.IllegalStateException: No match found at java.util.regex.Matcher.group(Matcher.java:485) at calcolopaga1.pkg2.CalcoloPaga12.main(CalcoloPaga12.java:29) Java Result: 1

, volevo porvi un piccolo mio problema. Devo fare un programma utilizzando le classi pattern e matcher (le ho quasi capite) chiedendo in input il numero di giorni lavorativi, l'ora di inizio e fine della giornata lavorativa e calcolare il totale in euro sapendo che ogni ora corrisponde a sei euro. Questo è il corpo del programma che ho fatto
Rispondi quotando