I need to assign a value to an Array and throw it out of a method, but for this I need to get the values that are obtained through this method, to later use this Array obtained in other methods or classes. The print inside the method appears correctly. Now when I step into the Array it does not correctly assign the values. I do not know if the way the code was done is correct for this?
Follow the code so far ...
import java.util.Arrays;
public class CombBusca {
private int numeros[] = {1,2,3,4,5};
private int quantidade = 3;
private int resultado[] = new int[3];
private int count = 0;
public String[] novosresultados;
private void busca(int inicio,int fim, int profundidade){
String todosresultados = "";
if ( (profundidade + 1) >= quantidade)
for(int x = inicio; x <= fim; x++){
resultado[profundidade] = numeros[x];
// faz alguma coisa com um dos resultados possiveis
count++;
//Criei aqui a String para posteriormente passar para o Array
todosresultados = resultado[0] + ", " + resultado[1] + ", " + resultado[2];
System.out.println(resultado[0] + ", " + resultado[1] + ", " + resultado[2]);
} else
for(int x = inicio; x <= fim; x++){
resultado[profundidade] = numeros[x];
busca(x + 1,fim + 1,profundidade + 1);
}
// Novo Array para jogar fora do método "busca" e usar em outros metodos ou classes
novosresultados = todosresultados.split(", ");
// Aqui quando mando o print é que acontece o erro
System.out.println(Arrays.asList(novosresultados));
}
public static void main(String args[]){
CombBusca comb = new CombBusca();
comb.busca(0, (5-3), 0);
System.out.println("Total de combinacoes: " + comb.count);
}
}
Output:
[1, 2, 5]
[1, 3, 5]
[1, 4, 5]
[]
[2, 3, 5]
[2, 4, 5]
[]
[3, 4, 5]
[]
[]
Total combinations: 10
Expected Mode:
1, 2, 3 | 1, 2, 4
1, 2, 5
1, 3, 4
1, 3, 5
1, 4, 5
2, 3, 4
2, 3, 5
2, 4, 5
3, 4, 5
Total combinations: 10