aiuto Esercizio!!!!!!
Posted by Cri on 25-11-2011 15:30
Ciao ragazzi, qualcuno mi puo' dire dove sbaglio????
Se inserisco una stringa composta non solo di cifre e spazi il mio codice entra nel ciclo e non esce piu!!!!!!!!!! dov'e' l'errore????

grazie in anticipo
/*
Es 4.23 pag 153

Modificate l'applicazione SommaNumeriDaStringa in modo che venga all'utente di reinserire la
sequenza se essa non e' costituita esclusivamente da cifre e spazi. Per verificare se un carattere
e' un cifra decimale si puo' utilizzare il metodo statico isDigit della classe java.lang.Character:

- public static boolean isDigit(char ch)

*/

import prog.io.*;
import java.util.StringTokenizer;

class Es4_23
{
public static void main(String[] args)
{
//predisposizione dei canali di comunicazione
ConsoleInputManager in = new ConsoleInputManager();
ConsoleOutputManager out = new ConsoleOutputManager();

//lettura della sequenza
//String sequenza = in.readLine("Inserisci una sequenza di numeri interi separati da spazi: ");

boolean continua = false;
String sequenza = "";

do
{
sequenza = in.readLine("Inserisci una sequenza d numeri: ");

for (int i = 0 ; i < sequenza.length(); i++)
{
char c = sequenza.charAt(i);
if(!Character.isDigit(c) && c != ' ')
{
out.println("ripeti stringa ");
continua = true;
break;
}
}
} while(continua);


//costruzione dell'estrattore di token
StringTokenizer stk = new StringTokenizer(sequenza, " ");

int somma = 0;

while (stk.hasMoreTokens())
{
String token = stk.nextToken();



somma = somma + Integer.parseInt(token);

}

//comunicazione del risultato
out.println("La somma dei numeri nella sequenza e' : " + somma);

}
}
Powered by: vbHome (lite) v3.8 and vBulletin v2.3.1
Copyright © 2000 - 2002 Jelsoft Enterprises Limited