ok ma il return che avevo messo serviva a restituire "conta" che mi è stato detto essere inutile...
ok ma il return che avevo messo serviva a restituire "conta" che mi è stato detto essere inutile...
fatto... ma non mi è del tutto chiaro:
codice:class NumeroDiCifre { public static int QuanteCifre(int numero) { if(numero>1) { numero=numero/10; return 1+QuanteCifre(numero); }else return 0; } public static void main(String[] args) { int numero,n; System.out.print("Inserisci il numero: "); numero=SavitchIn.readLineInt(); n=QuanteCifre(numero); System.out.print("Ha "+n+" cifra/e"); } }
Ultima modifica di mastodilu; 08-01-2015 a 12:19
Sì, è inutile.
L'ho detto nella prima risposta ma lo posso ripetere meglio: se il numero è maggiore (o diverso se vuoi gestire anche i negativi) di zero, allora dovrai restituire un 1 fisso più il valore fornito dalla invocazione ricorsiva in cui passi il numero diviso 10.
Altrimenti se è zero, restituisci 0.
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
se il numero è maggiore (o diverso se vuoi gestire anche i negativi) di zero, allora dovrai restituire un 1 fisso più il valore fornito dalla invocazione ricorsiva in cui passi il numero diviso 10.
Altrimenti se è zero, restituisci 0.[/QUOTE]
così?
funziona ma non capisco perchècodice:public static int QuanteCifre(int numero) { if(numero>0) { numero=numero/10; return 1+QuanteCifre(numero); }else return 0; }
Ultima modifica di mastodilu; 08-01-2015 a 12:18
Sì. Puoi anche passare alla invocazione ricorsiva direttamente il risultato della divisione, invece di aggiornare 'numero'. Ma comunque è ok.
Es. 1234
codice:QuanteCifre(1234): 1234 maggiore di 0, quindi 1 + QuanteCifre(123) QuanteCifre(123): 123 maggiore di 0, quindi 1 + QuanteCifre(12) QuanteCifre(12): 12 maggiore di 0, quindi 1 + QuanteCifre(1) QuanteCifre(1): 1 maggiore di 0, quindi 1 + QuanteCifre(0) QuanteCifre(0): zero, quindi 0
Quanti "1" vengono sommati?![]()
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet