Fala ae pessoal, a conta é nova mas smp visitava o GUJ e essa foi a primeira vez q precisei postar algo pra tirar uma dúvida... :?
Me passaram um desafio, que eu ja havia feito em C, que era fazer uma funcao recursiva que retornasse a string na ordem ao contraria. Fui faze-la em Java de uma maneira um pouco diferente só que esta ocorrendo erro de out of bound que eu nao consegui achar direito... Deem uma olhada pra mim por favor?
Essa é a classe que contem a lista e o metodo recursivo pra inverter a lista.public class Lista {
int qtde = 5;
public String x[] = new String[qtde];
public String[] getX() {
return x;
}
public void setX() {
this.x[0] = "Oi";
this.x[1] = "5";
this.x[2] = "1/1/2005 14:00:00";
this.x[3] = "1.5";
this.x[4] = "Tchau";
}
public int inverteLista (int test) {
String aux = "";
int pos = x.length - (test - 1);
if (test < x.length) {
aux = x[test];
test++;
if (inverteLista(test) == 0) {
x[pos] = aux;
}
}
return 0;
}
}
public class Desafio {
public static void main(String[] args) {
Lista lista = new Lista();
lista.setX();
lista.inverteLista(0);
System.out.println ( lista.x[0] );
System.out.println ( lista.x[1] );
System.out.println ( lista.x[2] );
System.out.println ( lista.x[3] );
System.out.println ( lista.x[4] );
}
}
Desde ja agradeco a todos ^^