Altro esercizio

di darknight_03 il
8 risposte
Ciao ragazzi, ho fatto un'esercizio tratto dal mio libro di programmazione e vi sarei grato se poteste darmi un vostro riscontro su come l'ho realizzato. Non ci dovrebbero essere grossi errori dato che viene compilato correttamente ma dato che ci sono arrivato un po' "a tentativi", mi piacerebbe sapere se aveste qualche correzione o suggerimento da darmi.

L'esercizio è:

Modificate l'applicazione SommaNumeriDaStringa in modo che venga richiesto all'utente di reinserire la sequenza se essa non è costituita esclusivamente da cifre e spazi. Per verificare se un carattere è una cifra decimale si può utilizzare il metodo statico isDigit della classe java.lang.Character, così descritto:
public static boolean isDigit(char ch)
Determina se il carattere specificato come argomento è una cifra. Il metodo restituisce true se il carattere è una cifra, e false in caso contrario.
package esercizi;

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

public class Esercizio416 {

	public static void main(String[] args) {
	    ConsoleInputManager in = new ConsoleInputManager();
	    ConsoleOutputManager out = new ConsoleOutputManager();
		
		String sequenza;
		
		char c = ' ';

		do {
			
                  sequenza = in.readLine("Inserisci una sequenza di numeri separati da spazio: ");
        
		  for(int i = 0; i < sequenza.length(); i++) {
			  
	            c = sequenza.charAt(i);
			
		       if(Character.isDigit(c) || c == ' ')
		    	 continue;
		    
		       else
		         out.println("La sequenza deve contenere solo cifre e spazi, riprova! ");
		         break;
		    
		  }
		  
	    } while(Character.isDigit(c) == false);
	      
	    StringTokenizer stk = new StringTokenizer(sequenza, " ");
	    
	    int somma = 0;
	    
	    while(stk.hasMoreTokens()) {
	    	String token = stk.nextToken();
	    	
	    	somma = somma + Integer.parseInt(token);
	    }
	    
	    out.println("La somma dei numeri nella sequenza e' " + somma);
	}
}

8 Risposte

  • Che libro usi?
  • Dai fondamenti agli oggetti - Corso di programmazione Java
  • darknight_03 ha scritto:


    Dai fondamenti agli oggetti - Corso di programmazione Java
    Per quello che ne soio di java mi sembra ok. sto studiano anche io, ma non ci trovo niente di sbagliato.
    il libro si compra o è un libro scolastico?
    Mi interessano gli esercizi. nel libro su cui sto studiando ce ne sono davvero pochi e devo prenderli da internet sulle disponde universitarie, ma anche li sono sempre gli stessi....!
  • Forse si può compattare un po', tipo così
    
    package esercizi;
    
    import java.io.*;
    
    public class Esercizio416 {
    	public static void main(String[] args) throws IOException {
                    boolean ripeti;
    		int somma;               
                    do{
                        somma = 0; 
                        ripeti = false;
                        System.out.println("Inserisci una sequenza di numeri separati da spazio:");     
                        String str[] = new BufferedReader(new InputStreamReader(System.in)).readLine().split(" ");
                        for(String s : str){
                            if(s.matches("[0-9]+"))
                                somma += Integer.parseInt(s);      
                            else{
                                System.out.println("La sequenza deve contenere solo cifre e spazi, riprova!");
                                ripeti = true;
                                break;
                            }
                        }
                    }while(ripeti);	    
    	    System.out.println("La somma dei numeri nella sequenza e' " + somma);
    	}
    }
  • tagan ha scritto:


    darknight_03 ha scritto:


    Dai fondamenti agli oggetti - Corso di programmazione Java
    Per quello che ne soio di java mi sembra ok. sto studiano anche io, ma non ci trovo niente di sbagliato.
    il libro si compra o è un libro scolastico?
    Mi interessano gli esercizi. nel libro su cui sto studiando ce ne sono davvero pochi e devo prenderli da internet sulle disponde universitarie, ma anche li sono sempre gli stessi....!
    E' il libro che sto al momento utilizzando per l'università, io mi ci trovo abbastanza bene, nel senso che ogni capitolo presenta sia teoria (con esempi pratici) che esercizi. L'unica aspetto che può far storcere a molti il naso è che si utilizzano spesso alcune librerie implementate dagli autori del libro(es. classe Frazione, Sequenza, Intero ecc..), ovviamente non presenti nelle librerie native di JAVA, ma in realtà servono più che altro a scopo didattico per "semplificare" i concetti all'inizio. A parte questo, comunque, è un testo che mi sento di consigliarti se magari sei all'inizio ma vuoi allo stesso tempo avere uno sguardo approfondito su questo linguaggio.
  • Weierstrass ha scritto:


    Forse si può compattare un po', tipo così
    
    package esercizi;
    
    import java.io.*;
    
    public class Esercizio416 {
    	public static void main(String[] args) throws IOException {
                    boolean ripeti;
    		int somma;               
                    do{
                        somma = 0; 
                        ripeti = false;
                        System.out.println("Inserisci una sequenza di numeri separati da spazio:");     
                        String str[] = new BufferedReader(new InputStreamReader(System.in)).readLine().split(" ");
                        for(String s : str){
                            if(s.matches("[0-9]+"))
                                somma += Integer.parseInt(s);      
                            else{
                                System.out.println("La sequenza deve contenere solo cifre e spazi, riprova!");
                                ripeti = true;
                                break;
                            }
                        }
                    }while(ripeti);	    
    	    System.out.println("La somma dei numeri nella sequenza e' " + somma);
    	}
    }
    ottimo, grazie
  • darknight_03 ha scritto:


    E' il libro che sto al momento utilizzando per l'università, io mi ci trovo abbastanza bene, nel senso che ogni capitolo presenta sia teoria (con esempi pratici) che esercizi. L'unica aspetto che può far storcere a molti il naso è che si utilizzano spesso alcune librerie implementate dagli autori del libro(es. classe Frazione, Sequenza, Intero ecc..), ovviamente non presenti nelle librerie native di JAVA, ma in realtà servono più che altro a scopo didattico per "semplificare" i concetti all'inizio. A parte questo, comunque, è un testo che mi sento di consigliarti se magari sei all'inizio ma vuoi allo stesso tempo avere uno sguardo approfondito su questo linguaggio.
    Ok grazie.
    Mi dici il titolo e autore? Provo a cercarlo.

    Tagan
  • tagan ha scritto:


    darknight_03 ha scritto:


    E' il libro che sto al momento utilizzando per l'università, io mi ci trovo abbastanza bene, nel senso che ogni capitolo presenta sia teoria (con esempi pratici) che esercizi. L'unica aspetto che può far storcere a molti il naso è che si utilizzano spesso alcune librerie implementate dagli autori del libro(es. classe Frazione, Sequenza, Intero ecc..), ovviamente non presenti nelle librerie native di JAVA, ma in realtà servono più che altro a scopo didattico per "semplificare" i concetti all'inizio. A parte questo, comunque, è un testo che mi sento di consigliarti se magari sei all'inizio ma vuoi allo stesso tempo avere uno sguardo approfondito su questo linguaggio.
    Ok grazie.
    Mi dici il titolo e autore? Provo a cercarlo.

    Tagan
    Dai fondamenti agli oggetti: corso di programmazione Java - Giovanni Pighizzini, Mauro Ferrari
Devi accedere o registrarti per scrivere nel forum
8 risposte