Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2001
    Messaggi
    75

    come far vedere all'esterno una variabile privata?

    Salve a tutti,

    ho questo codice, lo scopo deve essere di restituire il numero di cifre numeriche e di lettere all'interno della frase:

    class Esercizio3 {

    public static void main(String args[]) {

    String frase = new String();
    frase="2,In questa casa ci sono 3 persone, 4 gatti, 4 computer e 4 televisori";

    int i=frase.length();

    for (i=0; i<frase.length() ; i++) {


    if (Character.isDigit(frase.charAt(i))) {

    char[] ch= {(frase.charAt(i))};
    String s = new String (ch);

    }

    System.out.println(s);
    }

    }

    }

    L'errore che dice è che non riesce a trovare la variabile s, presumo per via del fatto che la vede come una variabile privata, ma potrei sbagliarmi visto che studio java da un paio di settimane.
    Se è questo, come faccio a fargli vedere la variabile s?
    Se non lo è, da cosa può dipendere?

    Grazie

  2. #2
    la variabile s è dichiarata e creata dentro l'if
    quindi si esce da tale ciclo la variabile non esiste più
    l'ho modificato così e adesso funziona
    codice:
    class Esercizio3 {
    	public static void main(String args[]) {
    		String frase = "2,In questa casa ci sono 3 persone, 4 gatti, 4 computer e 4 televisori";
    		for (int i=0; i<frase.length() ; i++) {
    			if (Character.isDigit(frase.charAt(i))) {
    				char[] ch= {(frase.charAt(i))};
    				String s = new String(ch);
    				System.out.println(s);
    			}
    		}
    	}
    }
    Alessandro, l'unico pinguino con le scarpe da ginnastica

    PhpItalia.net - il portale definitivo sul PHP

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2001
    Messaggi
    75

    giusto, ma...

    si, infatti così trova la variabile.
    Ma l'output che mi da è questo e non è ancora quello che vorrei:

    2
    3
    4
    4
    4

    Io vorrei riuscire a visualizzare il conteggio del numero di cifre all'interno della frase, in questa frase mi dovrebbe restituire risultato 5 perchè ci sono 5 cifre all'interno.

    ho aggiunto System.out.println(s.length());

    ma mi restituisce
    1
    1
    1
    1
    1

    è p erchè si trova nel ciclo for quindi conta ogni volta la lunghezza della cifra, quindi 1, e torna indietro?

    Come è possibile fargli contare le cifre?

  4. #4
    detto fatto
    codice:
    class Esercizio3 {
    	public static void main(String args[]) {
    		String frase = "2,In questa casa ci sono 3 persone, 4 gatti, 4 computer e 4 televisori";
    		int numerocifre = 0;
    		for (int i=0; i<frase.length() ; i++) {
    			if (Character.isDigit(frase.charAt(i))) numerocifre++;
    		}
    		System.out.println(numerocifre);
    	}
    }
    Alessandro, l'unico pinguino con le scarpe da ginnastica

    PhpItalia.net - il portale definitivo sul PHP

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2001
    Messaggi
    75

    Grazie!!!

    Grazie, ora me lo studio per capire bene cosa hai fatto


  6. #6

    Re: Grazie!!!

    Originariamente inviato da gioconda
    Grazie, ora me lo studio per capire bene cosa hai fatto

    ok
    cmq non fa altro che scorrere tutta la stringa e ogni volta che trova una cifra aumenta una variabile che quindi rappresenta il numero di cifre presenti nella frase

    Alessandro, l'unico pinguino con le scarpe da ginnastica

    PhpItalia.net - il portale definitivo sul PHP

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.