|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Sep 2003
Città: Lucca
Messaggi: 379
|
[JAVA] Gestione I\O da tastiera
ciao a tutti!
il codice qui sotto è quello del main di un programma che hos critto per il calcolo del codice fiscale: public static void main(String[] args) throws IOException{ BufferedReader input = new BufferedReader(new InputStreamReader(System.in)); System.out.println("Inserisci il tuo cognome"); String cognome = input.readLine(); System.out.println("Inserisci il tuo nome"); String nome = input.readLine(); System.out.println("Inserisci l'anno di nascita"); String annoNascita = input.readLine(); int nascita = Integer.parseInt(annoNascita); System.out.println("Inserisci mese di nascita"); String meseNascita = input.readLine(); meseNascita = meseNascita.toUpperCase(); System.out.println("Inserisci il giorno di nascita"); String giornoNascita = input.readLine(); int dayOfBirth = Integer.parseInt(giornoNascita); System.out.println("Inserisci il sesso"); String sesso = input.readLine(); sesso = sesso.toUpperCase(); System.out.println("Inserisci il nome del comune in cui sei nato"); String comune = input.readLine(); comune = comune.toUpperCase(); System.out.println("Inserisci la sigla della provincia del comune in cui sei nato"); String provincia = input.readLine(); provincia = provincia.toUpperCase(); CodiceFiscale cod = new CodiceFiscale(); cod.getPartCognome(cognome); cod.getPartNome(nome); cod.getPartAnnoNascita(nascita); cod.getMeseNascita(meseNascita); cod.getGiornoNascita(dayOfBirth,sesso); cod.getCodiceComune(comune,provincia); cod.getLetteraControllo(); cod.getCodiceFiscale(); } il programma funziona, ma se ad esempio qualcuno inserisce al posto dell'anno di nascita una stringa diversa da un numero oppure preme INVIO senza inserire un input il main genera un eccezione. Come posso modificare il codice affinchè se un utente inserisce un input sbagliato, il main riformuli la richiesta?
__________________
God rides DUCATI! |
|
|
|
|
|
#2 |
|
Member
Iscritto dal: Nov 2003
Città: Brugherio(MI)
Messaggi: 104
|
Ciao,
ecco fatto Codice:
public static void main(String[] args) throws IOException {
BufferedReader input =
new BufferedReader(new InputStreamReader(System.in));
System.out.println("Inserisci il tuo cognome");
String cognome = input.readLine();
while (cognome.compareTo("") == 0){
System.out.println("Inserisci il tuo cognome");
cognome = input.readLine();
}
System.out.println("Inserisci il tuo nome");
String nome = input.readLine();
while (nome.compareTo("") == 0){
System.out.println("Inserisci il tuo nome");
nome = input.readLine();
}
System.out.println("Inserisci l'anno di nascita");
String annoNascita = input.readLine();
int nascita = 0;
while (nascita == 0){
try{
nascita = Integer.parseInt(annoNascita);
}catch(Exception e){
nascita = 0;
System.out.println("Inserisci l'anno di nascita");
annoNascita = input.readLine();
}
}
System.out.println("Inserisci mese di nascita");
String meseNascita = input.readLine();
meseNascita = meseNascita.toUpperCase();
while (meseNascita.compareTo("") == 0){
System.out.println("Inserisci mese di nascita");
meseNascita = input.readLine();
}
//QUI DI SEGUITO VA UN CONTROLLO SU COSA HA INSERITO L'UTENTE
//OVVERO CHE ABBIA INSERITO SI UNA STRINGA MA NON UN MESE....
System.out.println("Inserisci il giorno di nascita");
String giornoNascita = input.readLine();
int dayOfBirth = 0;
while (dayOfBirth == 0){
try{
dayOfBirth = Integer.parseInt(giornoNascita);
}catch(Exception e){
dayOfBirth = 0;
System.out.println("Inserisci il giorno di nascita");
giornoNascita = input.readLine();
}
}
System.out.println("Inserisci il sesso");
String sesso = input.readLine();
sesso = sesso.toUpperCase();
while (sesso.compareTo("") == 0){
System.out.println("Inserisci il sesso");
sesso = input.readLine();
}
//QUI DI SEGUITO VA UN CONTROLLO SU COSA HA INSERITO L'UTENTE
//OVVERO CHE ABBIA INSERITO SI UNA STRINGA MA NON IL SESSO
System.out.println("Inserisci il nome del comune in cui sei nato");
String comune = input.readLine();
comune = comune.toUpperCase();
while (comune.compareTo("") == 0){
System.out.println("Inserisci il nome del comune in cui sei nato");
comune = input.readLine();
}
System.out.println("Inserisci la sigla della provincia del comune in cui sei nato");
String provincia = input.readLine();
provincia = provincia.toUpperCase();
while (provincia.compareTo("") == 0){
System.out.println("Inserisci la sigla della provincia del comune in cui sei nato");
provincia = input.readLine();
}
CodiceFiscale cod = new CodiceFiscale();
cod.getPartCognome(cognome);
cod.getPartNome(nome);
cod.getPartAnnoNascita(nascita);
cod.getMeseNascita(meseNascita);
cod.getGiornoNascita(dayOfBirth,sesso);
cod.getCodiceComune(comune,provincia);
cod.getLetteraControllo();
cod.getCodiceFiscale();
}
ciao e buona notte
__________________
------ |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Sep 2003
Città: Lucca
Messaggi: 379
|
ok! :-) tutto a posto. grazie
__________________
God rides DUCATI! |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 10:38.



















