Hi, ich hab Probleme mit dem 3er Zahlensystem und muss eine Mehtode in Java schreiben die im 3er System hochzählt.
Ich habe versucht das ganze irgendwie rekursiv zu lösen (kann natürlich sein dass ich da irgendwie falsch denk und es viel einfacher geht ^^)
Ich hab da einen Fehler drin und zwar dass wenn ich den Übertrag mach er hitnen nciht mehr weiter zählt. Was muss ich wie ändern dass er dann wieder von hinten Anfängt?
ich hab schon viel rumprobiert und kamm immer in ne Endlosschleife
Danke für die Hilfe
Ich habe versucht das ganze irgendwie rekursiv zu lösen (kann natürlich sein dass ich da irgendwie falsch denk und es viel einfacher geht ^^)
Java:
public static void hochzaehlen(int[] arr,int pos)
{
String output = "";
for(int i = 0;i<arr.length;i++)
{
output=output+arr[i];
}
System.out.println(output);
if(pos<0)
{
//rekursion abbrechen
return;
}
//wenn schon eine 2 drinsteht uebertrag bilden
if(arr[pos]==2)
{
if(pos-1<0)
{
//rekursion abbrechen
return;
}
arr[pos-1] = arr[pos-1] +1;
hochzaehlen(arr, pos-1);
}
else
{
arr[pos]=arr[pos]+1;
hochzaehlen(arr, pos);
}
}
public static void main(String[] args)
{
int[] arr = new int[4];
hochzaehlen(arr, arr.length-1);
}
Ich hab da einen Fehler drin und zwar dass wenn ich den Übertrag mach er hitnen nciht mehr weiter zählt. Was muss ich wie ändern dass er dann wieder von hinten Anfängt?
ich hab schon viel rumprobiert und kamm immer in ne Endlosschleife
Danke für die Hilfe