У меня проблема с возвратом типа в Java.Программа предназначена для разложения целого числа 5 шиффр в массив без использования предопределенных методов только с классическим алгоритмом рекурсивным способом.Я написал код, и он хорошо работает с рекурсией, но когда я перехватываю новый массив из метода, он не возвращает одно значение в каждом случае, но возвращает от двух до 5 символов в одном случае.Чего я хочу добиться, так это:
12345 >> [1] [2] [3] [4] [5]
но мой алгоритм дал мне это:
12345 >> [0] [12] [123] [1234] [12345]
Я предполагаю, что проблема в возвращающем типе или в объявленииМетод.
Это мой код:
public class recursive {
static int[] Decompose (int[] tab , int pos,int num) //pos for position
{
if (pos == 0) //if it reach the last element of the table it stop
{
return tab;
}
else {
tab[pos]=num;
return Decompose(tab,pos-1,num/10); // if we didn't reach the end continue ...
}
}
public static void main(String[] args) {
int []t = new int[5];
int n=12345;//the number that i want to decompose
int pos=4;//the indicator of table position
t=Decompose(t,pos,n);
for (int i = 0; i < t.length; i++) {
System.out.println(t[i]);
}
}
}