Foros del Web » Programación para mayores de 30 ;) » Java »

no consigo quitar basura de un String :(

Estas en el tema de no consigo quitar basura de un String :( en el foro de Java en Foros del Web. el código es este: char[] cadena = new char[10]; for (int j=0;j<10;j++) { cadena[j]=' '; } System.out.println(cadena); y no me escribe la cadena vacía, sino ...
  #1 (permalink)  
Antiguo 05/11/2007, 18:22
 
Fecha de Ingreso: febrero-2006
Mensajes: 233
Antigüedad: 18 años, 2 meses
Puntos: 3
no consigo quitar basura de un String :(

el código es este:

char[] cadena = new char[10];

for (int j=0;j<10;j++)
{
cadena[j]=' ';
}
System.out.println(cadena);
y no me escribe la cadena vacía, sino que pone basura!!

otra manera que intento..pero no me funciona:
strcpy(cadena," ");

ya no puedo más con el java de los coj****, ayuda please
  #2 (permalink)  
Antiguo 06/11/2007, 03:41
 
Fecha de Ingreso: septiembre-2007
Mensajes: 173
Antigüedad: 16 años, 7 meses
Puntos: 0
Re: no consigo quitar basura de un String :(

El espacio en blanco es un carácter. Usa esto:
cadena[i]=''

Sin espacios, a ver si resulta.

Saludos.
  #3 (permalink)  
Antiguo 06/11/2007, 04:25
 
Fecha de Ingreso: febrero-2006
Mensajes: 233
Antigüedad: 18 años, 2 meses
Puntos: 3
Re: no consigo quitar basura de un String :(

no funciona..gracias d todas formas!! error: "empty character literal"

AYUDA URGENTEEEEEE
  #4 (permalink)  
Antiguo 06/11/2007, 04:39
 
Fecha de Ingreso: septiembre-2007
Mensajes: 106
Antigüedad: 16 años, 7 meses
Puntos: 1
Re: no consigo quitar basura de un String :(

Esto te limpia la cadena:

String cadena=new String();
cadena="";
System.out.println(cadena);

y te imprime la cadena vacía
Un saludo
  #5 (permalink)  
Antiguo 06/11/2007, 04:45
 
Fecha de Ingreso: septiembre-2007
Mensajes: 173
Antigüedad: 16 años, 7 meses
Puntos: 0
Re: no consigo quitar basura de un String :(

Espera: si lo que quieres es poner una cadena vacía, con el método que te acaban de responder lo logras. Si lo que quieres es poner un array de caracteres vacío, lo que estabas haciendo estará bien, pero si pones System.out.println(cadena) no imprimes el contenido. Para eso, haz cadena.toString().
  #6 (permalink)  
Antiguo 06/11/2007, 05:54
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Re: no consigo quitar basura de un String :(

Cita:
Iniciado por red_robe Ver Mensaje
System.out.println(cadena);
y no me escribe la cadena vacía, sino que pone basura!!
El error es "tuyo" de interpretacion. Si cadena es un char[], System.out.println(cadena) no imprime el contenido de la cadena, imprime la referencia al array, eso que que tu llamas basura.

La solución para imprimir el contenido te la da Ethiel .
  #7 (permalink)  
Antiguo 06/11/2007, 06:03
 
Fecha de Ingreso: octubre-2007
Mensajes: 28
Antigüedad: 16 años, 6 meses
Puntos: 0
Re: no consigo quitar basura de un String :(

Hola, primero dicerte que char[] no es un String sino un array de char y segundo comentar al del anterior post que no existe un metodo toString() para un array de char. Si lo que estas manejando son String lo que tienes que usar es un objeto String y ahora bien si lo que quieres es un Array de String debes usar String[], por ultimo lo que te devuelve al poner tu System.out.println(cadena), pues no se me ocurre que puede ser, porque he probado a hacer tu codigo y yo al poner System.out.println(cadena) lo que me devuelve es una linea en blanco, ahora bien si lo que pongo en un sistem.out.println(""+cadena), esto ya seria un objeto String lo que me devuelve la dirección de memoria asignada para el array de char que es lo que yo pienso que te puede devolver, pero no es basura.

Saludos
  #8 (permalink)  
Antiguo 06/11/2007, 06:12
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Re: no consigo quitar basura de un String :(

Cita:
Iniciado por akiles83 Ver Mensaje
Hola, primero dicerte que char[] no es un String sino un array de char y segundo comentar al del anterior post que no existe un metodo toString() para un array de char....
Vaya, tendré que explicarselo a mi versión de Java, dado que todo los arrays son objetos y todos los objetos tienen un metodo toString() . Pero si tu lo dices... .

Lo que si es cierto, y se me ha escapado, es que el metodo toString() de un array de char no pinta el contenido del array como una cadena, imprime el puntero al array.

Lo que hay que usar es:

System.err.println(String.valueOf(cadena));
  #9 (permalink)  
Antiguo 06/11/2007, 06:27
 
Fecha de Ingreso: octubre-2007
Mensajes: 28
Antigüedad: 16 años, 6 meses
Puntos: 0
Re: no consigo quitar basura de un String :(

Yo no se que version de Java usas, solo que se que en la versión que yo trabajo JDK 1.4.12 no me permite el metodo toString(), y si tu si puedes, me podrias indicar como lo haces, porque me seria muy util para mi trabajo, ya que solo puedo sacar por pantalla de con la forma ""+cadena
  #10 (permalink)  
Antiguo 06/11/2007, 06:29
 
Fecha de Ingreso: septiembre-2007
Mensajes: 173
Antigüedad: 16 años, 7 meses
Puntos: 0
Re: no consigo quitar basura de un String :(

Todos los objetos tienen toString, se hereda de Object.
  #11 (permalink)  
Antiguo 06/11/2007, 06:41
 
Fecha de Ingreso: octubre-2007
Mensajes: 28
Antigüedad: 16 años, 6 meses
Puntos: 0
Re: no consigo quitar basura de un String :(

Lo siento teneis razon con lo de toString, acabo de quedar mal , efectivamente hereda de Object, vaya error de principiante
  #12 (permalink)  
Antiguo 06/11/2007, 07:11
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Re: no consigo quitar basura de un String :(

No tan de principiante, yo hasta que no me lo encontré por un caso parecido no me di cuenta de las implicaciones de que los array sean Objetos, y hacia mucho que trabajaba con Java. Es uno de esos detalles que no se quedan.

Pero ahora seguro que te acuerdas .

PD: De todas formas en este caso no es muy util, ya que el toString() no sirve de mucho.
  #13 (permalink)  
Antiguo 06/11/2007, 08:04
 
Fecha de Ingreso: septiembre-2007
Mensajes: 173
Antigüedad: 16 años, 7 meses
Puntos: 0
Re: no consigo quitar basura de un String :(

Nada, hombre. En esto de la programación, cualquiera mete patas como un loco.

Saludos.
  #14 (permalink)  
Antiguo 07/11/2007, 13:21
 
Fecha de Ingreso: febrero-2006
Mensajes: 233
Antigüedad: 18 años, 2 meses
Puntos: 3
Re: no consigo quitar basura de un String :(

gracias por las respuestas, siento haber tardado en rspnder

buffff..no me aclaro con strings, arrays de carácteres y toda la pesca!

String cadena=new String();
cadena="";
System.out.println(cadena);

esto me lo hace bien, pero, ¿si quiero acceder a una posición concreta de la cadena para cambiar su valor, cómo es?

cadena[0]='a';
me da error...
  #15 (permalink)  
Antiguo 08/11/2007, 03:04
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Re: no consigo quitar basura de un String :(

Sería recomensable que le echases un vistazo al API y revisaras los conceptos básicos sobre tipos de datos en Java, primitivas, arrays, objetos etc.

Si lo intentas a base de prueba y error se te va a hacer muuuuuy largo.

S!

PD: En este caso concreto estás intentando aplicar una "operacion" [0] que solo funciona sobre arrays a un objeto (cadena) así que es normal que de error.

PPD: Las sentencias
String cadena=new String();
cadena="";

son innecesarias. Con hacer
String cadena="";

listo.

S!
  #16 (permalink)  
Antiguo 08/11/2007, 04:40
 
Fecha de Ingreso: septiembre-2007
Mensajes: 173
Antigüedad: 16 años, 7 meses
Puntos: 0
Re: no consigo quitar basura de un String :(

Para acceder a una posición concreta:

cadena.charAt[posicion]
  #17 (permalink)  
Antiguo 08/11/2007, 05:41
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Re: no consigo quitar basura de un String :(

Incorrecto, por poco pero incorrecto .
  #18 (permalink)  
Antiguo 08/11/2007, 06:46
 
Fecha de Ingreso: septiembre-2007
Mensajes: 173
Antigüedad: 16 años, 7 meses
Puntos: 0
Re: no consigo quitar basura de un String :(

¿Incorrecto?. Atiza, ¿en qué?. Es que no veo el fallo...
  #19 (permalink)  
Antiguo 08/11/2007, 10:14
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Re: no consigo quitar basura de un String :(

La variable cadena es un objeto String, no un array, y por tanto charAt es un metodo y para "envolver" los parametros que se pasan a un metodo se usan los simbolos...

PD: No son los corchetes
  #20 (permalink)  
Antiguo 08/11/2007, 11:00
 
Fecha de Ingreso: septiembre-2007
Mensajes: 173
Antigüedad: 16 años, 7 meses
Puntos: 0
Re: no consigo quitar basura de un String :(

Completamente cierto. :D
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:58.