Originariamente inviato da andbin
Perché stai confrontando un carattere con "-" che è una stringa.
Non mi sembra difficile: per prima cosa controlli la lunghezza della stringa, se non è 10, è già sbagliata. Poi fai un ciclo for da i=0 per i<10. Se l'indice è 2 o 5, il carattere deve essere un '-' altrimenti deve essere un digit nel range '0' ... '9'. Se non è così, è sbagliata.
Ho risolto tutti i problemi tranne il digit.
Non ho capito che metodi usare e come far capire che determinate lettere devono essere numeri.
Il codice attuale è:
codice:
String data = in.nextLine();
while (data.equals("") || (data.length() != 10) || ! (data.substring(2, 3).equals("-"))
|| ! (data.substring(5, 6).equals("-")) )
{
System.out.println("Inserire la data nel seguente formato: gg-mm-aaaa");
data = in.nextLine().trim();
}
E ora?