Hola, muy buenas a todos, pues bien paso a contaros mi pequeño problemilla...
He hecho un pequeño problema de String que es el siguiente...
"A partir de una lista enlazada de caracteres crear un string con dichos caracteres sin utilizar la concatenacion"
Pues bien rapidamente pense que los String tambien se construyen a base de un array de caracteres, y centre el programa en esa idea...aqui os dejo el codigo.
class eje2{
char[] frase=new char[0];
String pasar(Lista <Character> l){
try{
int i=0;
for(Posicion p=l.posicionPrimero();p!=l.posicionFin();p=l.siguiente(p)){
frase=this.meter(frase,l.obtenerElemento(p).charValue());
}
}catch(MyException e){System.out.println(e);}
String frase2=new String(frase);
return frase2;
}
private char[] meter(char[] c, char a){
char[]c2=new char[c.length+1];
c2[c2.length-1]=a;
return c2;
}
public static void main(String[]args){
Lista <Character>l=new Lista<Character>();
eje2 ej=new eje2();
try{
l.insertar(l.posicionFin(),new Character('h'));
l.insertar(l.posicionFin(),new Character('o'));
l.insertar(l.posicionFin(),new Character('l'));
l.insertar(l.posicionFin(),new Character('a'));
}catch(MyException e){System.out.println(e);}
String pa=ej.pasar(l);
System.out.println(pa);
}
}
Pues bien, el problema viene que el programa no hace lo que deberia, ya que no pinta el string correspondiente, y por muchas vueltas que le doi no encuentro el fallo...Gracias de antemano por vuestra ayuda...
P.S: La clase Lista es de mi cosecha propia pero es mas o menos la misma que la LinkedList de java...
Saludossss
Hola:
En el método meter() estas haciendo un nuevo array y metiendo al final el nuevo caracter que te pasan, pero .... no estás copiando todos los que había antes en el array antiguo.
Se bueno.
Muchisimas gracias por la solucion...creo q tenia un dia malo cuando intentaba hacer esa tonteria...xD
Saludossss
lol
que buen chiste que no sabes que sale asi
String a = new String(ArregloDeCaracTeres);
Creo que sí lo sabe, fíjate en la línea
String frase2=new String(frase);
Se bueno.
Un arreglo no es una lista enlazada!