Foros del Web » Programando para Internet » Android »

[SOLUCIONADO] Problema con la funcion charAt()

Estas en el tema de Problema con la funcion charAt() en el foro de Android en Foros del Web. Buenas gente, estoy realizando un proyecto en Android que es un juego de ahorcado, y tengo un problema con la funcion charAt(). La siguiente función ...
  #1 (permalink)  
Antiguo 04/07/2013, 14:29
 
Fecha de Ingreso: julio-2013
Mensajes: 9
Antigüedad: 11 años, 5 meses
Puntos: 0
Problema con la funcion charAt()

Buenas gente, estoy realizando un proyecto en Android que es un juego de ahorcado, y tengo un problema con la funcion charAt().

La siguiente función es para validar que una letra que digitó el usuario este o no dentro de la palabra, y si se cumple entonces la debe mostrar en su correspondiente posición:

Código:
	public void consultarRespuesta(String palabraAdivinar, String palabra, char respuesta){		
		for(int j = 0; j < palabra.length(); j++){
			if(palabra.charAt(j) == respuesta){
				palabraAdivinar.charAt(j) = respuesta;
			}
		}
		
		palabraTv.setText(palabraAdivinar);
	}
En el código anterior, "palabra" es la variable con la palabra a adivinar, "palabraAdivinar" es la cadena de caracteres que al principio lleva guiones que representan cada letra, y "respuesta" es la letra que digitó el usuario. En caso de que coincidan hay que reemplazar el guion con la letra que adivinó el usuario, para que una vez terminado el ciclo imprima "palabraAdivinar" en el TextView "palabraTv", sin embargo ocurre este error:



He estado intentando ver como soluciono esto pero no lo logro, si alguno me pudiera ayudar se lo agradecería mucho.

Saludos!
  #2 (permalink)  
Antiguo 04/07/2013, 14:43
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 9 meses
Puntos: 1360
Respuesta: Problema con la funcion charAt()

El problema esta en que no sabes Java.

No puedes asignar de esa manera, tiene que ser necesariamente una variable. Ademas los strings en Java son inmutables. Vas a tener que convertir tu string a un arreglo de caracteres si lo quieres manipular de esa forma.

Código Java:
Ver original
  1. public String consultarRespuesta(String palabraAdivinar, String palabra, char respuesta) {
  2.     char[] pAdivinar = palabraAdivinar;
  3.     for(int j = 0; j < palabra.length(); j++) {
  4.         if(palabra.charAt(j) == respuesta) {
  5.             pAdivinar[j] = respuesta;
  6.         }
  7.     }  
  8.     return new String(pAdivinar);
  9. }

Y cuando llames esa función:
Código Java:
Ver original
  1. palabraAdivinar = consultarRespuesta(palabraAdivinar, palabra, respuesta);
  2. palabraTv.setText(palabraAdivinar);

Etiquetas: funcion
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 11:29.