Originariamente inviato da Zama
Ciao a tutti,
ho un problema forse banale, però ve lo espongo:
devo fare un piccolo programmino che mi accetti in input un orario nel formato
13:20 (24h) e mi salvi ore e minuti in due variabili di tipo
int. Ho provato con ,
input.useDelimiter(":") e poi l'acquisizione con i metodi next...(), dove
input è un oggetto della classe
Scanner, ma temo che si possa fare solo con variabili di tipo
String.
Qualcuno saprebbe aiutarmi?
Grazie mille.
codice:
import java.util.*;
import java.util.regex.*;
public class Prova
{
public static void main (String[] args)
{
Scanner scanner = new Scanner (System.in);
try
{
String line = scanner.nextLine ();
Pattern pattern = Pattern.compile ("(0[0-9]|1[0-9]|2[0-3]):" + "([0-5][0-9])");
Matcher matcher = pattern.matcher (line);
if (matcher.matches ())
{
int ora = Integer.parseInt (matcher.group (1));
int min = Integer.parseInt (matcher.group (2));
System.out.println ("ora=" + ora + " min=" + min);
}
else
System.err.println ("Input errato");
}
catch (Exception e)
{
System.err.println (e);
}
}
}
P.S.: ho spezzato in 2 la regex solo per questioni legate al forum, per non mettere insieme : e (.