Visualizzazione dei risultati da 1 a 10 su 19

Visualizzazione discussione

  1. #1

    numero di cifre (metodo ricorsivo)

    [JAVA]
    Salve a tutti, mi sono iscritto poco fa perchè ho un problema con un esercizio che proprio non riesco a fare:

    (usando un metodo ricorsivo) devo restituire il numero di cifre di cui è composto un intero positivo o negativo.

    sapendo che n=SavitchIn.readLineInt(); acquisisce il numero intero e lo salva nella variabile n

    questo è quello che ho fatto:
    codice:
    class NumeroDiCifre
    {
        public static int QuanteCifre(int n,int conta)
        {   if(n>0)
            {   n=n/10;
                conta++;
                System.out.println(conta);
                QuanteCifre(n,conta);
            }
            return conta;
        }    
    
        public static void main(String[] args)
        {   int numero,numero_cifre;
            System.out.print("Inserisci il numero: ");
            numero = SavitchIn.readLineInt();
            
            if(numero<0)    //valore assoluto del numero
                numero=numero*(-1);
    
            numero_cifre = QuanteCifre(numero,0);
            System.out.println(numero+" ha "+numero_cifre+" cifre.");
        }
    }
    ma, essendo il metodo ricorsivo, il risultato è al contrario di quello che volevo, infatti da terminale risulta:
    Inserisci il numero: 1234
    1
    2
    3
    4
    1234 ha 1 cifre.
    PS: all'interno del metodo ricorsivo ho aggiunto (come debug per capire che succedeva) la stampa del valore di "conta" e la conta è corretta... come faccio a risolvere però quel problema???
    grazie in anticipo
    Ultima modifica di mastodilu; 06-01-2015 a 16:38

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.