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

Enviar un String a un método en Java

Estas en el tema de Enviar un String a un método en Java en el foro de Java en Foros del Web. Hola amigos de la Comunidad; Estoy enviando una variable de tipo String a un método en Java en el cuál la variable sufre cambios pero ...
  #1 (permalink)  
Antiguo 30/04/2009, 00:20
 
Fecha de Ingreso: junio-2008
Mensajes: 51
Antigüedad: 15 años, 10 meses
Puntos: 0
De acuerdo Enviar un String a un método en Java

Hola amigos de la Comunidad; Estoy enviando una variable de tipo String a un método en Java en el cuál la variable sufre cambios pero en la función principal no aparece los cambios, Cuál es mi error.
De antemano Gracias.


public class Cambia{
public void Aumenta(String palabra) {
int cant;
cant = palabra.length();
if (cant % 3 == 0) {
return;
} else {
palabra = palabra + " ";
Aumenta(palabra);
}
}

public int Pal(String palabra) {

Aumenta(palabra);
}
}
  #2 (permalink)  
Antiguo 30/04/2009, 01:15
 
Fecha de Ingreso: marzo-2009
Mensajes: 509
Antigüedad: 15 años, 2 meses
Puntos: 17
Respuesta: Enviar un String a un método en Java

No se si te estoy entendiendo mal... quieres que en Pal se te almacene el cambio de la palabra?

osea... que cuando pones:


Código:
Aumenta(palabra);
palabra cambie?

Si es así, el método Aumenta debe devolver String:

Código:
public String Aumenta(String palabra) {
//lo uqe quieras
 return palabraModificada;

}

String palabra2 = Aumenta(palabra);
Saludos
  #3 (permalink)  
Antiguo 30/04/2009, 09:48
 
Fecha de Ingreso: junio-2008
Mensajes: 51
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Enviar un String a un método en Java

Hola Cucuru,
Eso es lo que quería, Gracias mano,
saludos
  #4 (permalink)  
Antiguo 30/04/2009, 09:51
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Respuesta: Enviar un String a un método en Java

Los objetos String son inmutables y los parametros en Java se pasan por valor, así que no se puede modificar un parametro de tipo String. Como dice cucuru, para pasar el nuevo valor lo único que puedes hacer es devolverlo como valor de retorno... o no usar la clase String sino alguna clase que sea mutable.
De todas formas, modificar los parametros no suele ser practica recomendada, ya que no queda muy claro el código.

S!
__________________
Para obtener respuestas, pregunta de forma inteligente o si no, pregunta lo que quieras que yo contestaré lo que me dé la gana.
  #5 (permalink)  
Antiguo 30/04/2009, 11:08
 
Fecha de Ingreso: abril-2009
Ubicación: Monterrey
Mensajes: 3
Antigüedad: 15 años
Puntos: 0
Respuesta: Enviar un String a un método en Java

Si quieres valor por referencia puedes usar StringBuilder.
  #6 (permalink)  
Antiguo 30/04/2009, 14:25
 
Fecha de Ingreso: junio-2008
Mensajes: 51
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Enviar un String a un método en Java

Cita:
Iniciado por import Ver Mensaje
Si quieres valor por referencia puedes usar StringBuilder.
Hola, al definir mi variable en Main la hago como String pero al hacerlo en la funcion la hago como StringBuilder y me lanza error de diferentes tipos, Como hago el cast.

Saludos. Cuidate.
  #7 (permalink)  
Antiguo 30/04/2009, 15:12
 
Fecha de Ingreso: abril-2009
Ubicación: Monterrey
Mensajes: 3
Antigüedad: 15 años
Puntos: 0
Respuesta: Enviar un String a un método en Java

Cuando necesites usar la variable como String, solo tienes que usar "toString()" , por ejemplo:
StringBuilder s = new StringBuilder();
s.toString();
  #8 (permalink)  
Antiguo 30/04/2009, 16:33
 
Fecha de Ingreso: junio-2008
Mensajes: 51
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: Enviar un String a un método en Java

Cita:
Iniciado por import Ver Mensaje
Cuando necesites usar la variable como String, solo tienes que usar "toString()" , por ejemplo:
StringBuilder s = new StringBuilder();
s.toString();
Bueno y rápido,
Gracias.
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 10:21.