Foro de elhacker.net

Programación => Java => Mensaje iniciado por: er_rafael_rafi en 21 Junio 2009, 13:25 pm



Título: Crear String a partir de una Lista de caracteres son concatenar(problema)
Publicado por: er_rafael_rafi en 21 Junio 2009, 13:25 pm
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.
Código
  1. class eje2{
  2.  
  3. char[] frase=new char[0];
  4.  
  5. String pasar(Lista <Character> l){
  6. try{
  7. int i=0;
  8. for(Posicion p=l.posicionPrimero();p!=l.posicionFin();p=l.siguiente(p)){
  9. frase=this.meter(frase,l.obtenerElemento(p).charValue());
  10.  
  11. }
  12. }catch(MyException e){System.out.println(e);}
  13. String frase2=new String(frase);
  14. return frase2;
  15. }
  16.  
  17. private char[] meter(char[] c, char a){
  18. char[]c2=new char[c.length+1];
  19. c2[c2.length-1]=a;
  20. return c2;
  21. }
  22.  
  23.  
  24.  
  25. public static void main(String[]args){
  26. Lista <Character>l=new Lista<Character>();
  27. eje2 ej=new eje2();
  28. try{
  29. l.insertar(l.posicionFin(),new Character('h'));
  30. l.insertar(l.posicionFin(),new Character('o'));
  31. l.insertar(l.posicionFin(),new Character('l'));
  32. l.insertar(l.posicionFin(),new Character('a'));
  33. }catch(MyException e){System.out.println(e);}
  34. String pa=ej.pasar(l);
  35. System.out.println(pa);
  36. }
  37. }

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


Título: Re: Crear String a partir de una Lista de caracteres son concatenar(problema)
Publicado por: Chuidiang en 22 Junio 2009, 07:15 am
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.


Título: Re: Crear String a partir de una Lista de caracteres son concatenar(problema)
Publicado por: er_rafael_rafi en 22 Junio 2009, 16:40 pm
Muchisimas gracias por la solucion...creo q tenia un dia malo cuando intentaba hacer esa tonteria...xD

Saludossss


Título: Re: Crear String a partir de una Lista de caracteres son concatenar(problema)
Publicado por: sapito169 en 22 Junio 2009, 21:19 pm
lol
que buen chiste que no sabes que sale asi

Código:
String a = new String(ArregloDeCaracTeres);


Título: Re: Crear String a partir de una Lista de caracteres son concatenar(problema)
Publicado por: Chuidiang en 23 Junio 2009, 18:28 pm
Creo que sí lo sabe, fíjate en la línea

String frase2=new String(frase);

Se bueno.


Título: Re: Crear String a partir de una Lista de caracteres son concatenar(problema)
Publicado por: juancho77 en 24 Junio 2009, 17:38 pm
Un arreglo no es una lista enlazada!