Hallo,
ich möchte mittels Rekursion die Anzahl an Stellen einer Zahl ausgeben. Das funktioniert prinzipiell auch, allerdings habe ich drei Fragen. Hier erst mal mein "Programm":
Jetzt habe ich aber drei Fragen:
1.) Kann man das so wirklich als Rekursion bezeichnen. Ich bin mir nicht sicher, da ich eine statische Variable als Zähler benutze.
2.) Muss ich in der Klasse "Ziffern" die Methode auch aufrufen, indem ich Ziffern.ausgeben() verwende ?
3.) Wie kriege ich es hin, dass mir nicht jeder Zwischenschritt des Zählers ausgegeben wird. Also wie kriege ich es hin, dass es mir zum Beispiel nicht "2,3,4,5" ausgibt, sondern lediglich eine "5" am Ende für eine 5-stellige Zahl. Das soll ja mittels Rekursion geschehen. Ich habe dazu keine wirkliche vernünftige Idee.
Vielen Dank schon mal im Voraus für eure Hilfe,
viele Grüße, AS
ich möchte mittels Rekursion die Anzahl an Stellen einer Zahl ausgeben. Das funktioniert prinzipiell auch, allerdings habe ich drei Fragen. Hier erst mal mein "Programm":
Java:
import java.util.*;
public class Ziffern {
static int a=0;
public static void ausgeben(int b){ b=b/10;
if (b>=10 || b<=-10){
Ziffern.ausgeben((int)b);
a=a+1;
System.out.println(a);
}
else {
a=2;
}
}
}
public class application {
public static void main(String[] args) {
System.out.println("Bitte geben Sie eine Zahl ein!");
Scanner scanner=new Scanner(System.in);
int cool= (int) scanner.nextDouble();
Ziffern.ausgeben(cool);
// TODO Auto-generated method stub
}
}
Jetzt habe ich aber drei Fragen:
1.) Kann man das so wirklich als Rekursion bezeichnen. Ich bin mir nicht sicher, da ich eine statische Variable als Zähler benutze.
2.) Muss ich in der Klasse "Ziffern" die Methode auch aufrufen, indem ich Ziffern.ausgeben() verwende ?
3.) Wie kriege ich es hin, dass mir nicht jeder Zwischenschritt des Zählers ausgegeben wird. Also wie kriege ich es hin, dass es mir zum Beispiel nicht "2,3,4,5" ausgibt, sondern lediglich eine "5" am Ende für eine 5-stellige Zahl. Das soll ja mittels Rekursion geschehen. Ich habe dazu keine wirkliche vernünftige Idee.
Vielen Dank schon mal im Voraus für eure Hilfe,
viele Grüße, AS
Zuletzt bearbeitet: