Originariamente inviato da cv91
non ho studiato il significato di try-catch
In generale, quando un'applicazione entra in contatto con l'utente (in questo caso ciò avviene tramite una console) è buona norma gestire l'errore in cui egli può incorrere.
Questo è uno degli accorgimenti da seguire affinchè un'applicazione sia robusta, ma evidentemente lo scopo del tuo esercizio non è questo oppure vuole spingerti a trovare una soluzione per gestire eventuali errori (non usando il costrutto try-catch).
A questo punto hai diverse strade:
- non controlli l'input fornito dall'utente, rendendo la tua applicazione soggetta ad errori:
codice:
String input = null;
System.out.println("Digita Q per terminare la sequenza di input.");
System.out.print("Valore: ");
while( !(input = in.nextLine()).equals("Q") ) { // case-sensitive
ds.setAddValue( Double.parseDouble(input) );
System.out.print("Valore: ");
}
- oppure ti crei un metodo che controlla se l'input fornito è un numero, rendendo così la conversione dei valori avversa all'errore:
codice:
String input = null;
System.out.println("Digita Q per terminare la sequenza di input.");
System.out.print("Valore: ");
while( !(input = in.nextLine()).equals("Q") ) {
if( isNumber(input) ) // ..metodo da te definito..
ds.setAddValue( Double.parseDouble(input) );
System.out.print("Valore: ");
}