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
codice:
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);
Il problema è che dopo l'inserimento dell'orario, mi da in output il seguente errore
codice:
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
Mi potreste gentilmente spiegare perchè mi da quell'errore e come posso risolverlo? Grazie infinite