Ho risolto tutti i problemi tranne il digit.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.
Non ho capito che metodi usare e come far capire che determinate lettere devono essere numeri.
Il codice attuale è:E ora?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(); }

Rispondi quotando