Utilizamos cookies propias y de terceros para mejorar la experiencia de navegación, y ofrecer contenidos y publicidad de interés.
Al continuar con la navegación entendemos que se acepta nuestra política de cookies.
Iniciar sesión Cerrar
Correo:
Contraseña:
Entrar
Recordar sesión en este navegador
Crear cuenta

Java - Como cambiar un string por otro pero en determiandas posiciones??

Vista:
Me gusta: Está pregunta es útil y esta clara
0
No me gusta: Está pregunta no esta clara o no es útil
 
Asunto:Como cambiar un string por otro pero en determiandas posiciones??
Autor:Diego (2 intervenciones)
Fecha:10/09/2011 23:23:46
Hola...
Estoy haciendo un trabajo en el que tengo que crear el típico juego de "Ahorcado", mi consulta es:


si el usuario acierta una de las letras (o varias si la letra se repite) y ya ubique en que posición de la palabra a adivinar se encuentra la letra, como puedo sustituir esa letra en la cadena en esa posicion específica???

ejemplo

String palabra = "Automovil";
String resultado = "_________";

el usuario digita la letra "o":
entonces el resultado que quiero es:

resultado = ___o_o___

sustituir la linea por la letra en la posicion que corresponde!!
ya intente con

resultado = resultado.replace("_",lo que digito el usuario);

pero por razones obvias me cambia todas las lineas!!

ayuda por favor!!!!
Responder Subir
información
Otras secciones de LWP con contenido similar...
Me gusta: Está respuesta es útil y esta clara
0
No me gusta: Está respuesta no esta clara o no es útil
 
Asunto:Como cambiar un string por otro pero en determiandas posiciones??
Autor:bj penn prodigy_0-07@hotmail.com (8 intervenciones)
Fecha:11/09/2011 21:14:59
public String [] comparar(String palabra, char c){
ArrayList<String> lista= new ArrayList<String>();
int tam=palabra.length()-1;
ArrayList<Integer> indice= new ArrayList<Integer>();
String [] resultado=new String[tam+1];

for(int a=0; a<=tam; a++){
if(palabra.charAt(a)==(c)){
indice.add(a);
}
}
for(int b=0; b<=indice.size()-1; b++){
resultado[indice.get(b)]=c+"";
}


return resultado;
}

ahi tendras que añadir las vidas del juego por cada error que tenga restarle 1 vida
cualquier duda comentarla...
Comentar Subir
Me gusta: Está respuesta es útil y esta clara
0
No me gusta: Está respuesta no esta clara o no es útil
 
Asunto:Como cambiar un string por otro pero en determiandas posiciones??
Autor:bj penn (8 intervenciones)
Fecha:12/09/2011 21:30:27
mejorando el code
public String [] comparar(String palabra, char c){ ArrayList<String> lista= new ArrayList<String>(); int tam=palabra.length()-1; String [] resultado=new String[tam+1]; for(int a=0; a<=tam; a++){ if(palabra.charAt(a)==(c)){ resultado[a]=c+""; } } return resultado; }
Comentar Subir
Me gusta: Está respuesta es útil y esta clara
0
No me gusta: Está respuesta no esta clara o no es útil
 
Asunto:Como cambiar un string por otro pero en determiandas posiciones??
Autor:bj penn (8 intervenciones)
Fecha:12/09/2011 21:37:13
hasta ahora queda asi el code pero no ejecuta muy bien bueno espero comentarios constructivistas...

import java.util.*; import java.io.*; public class ahorcado { private String palabra; private String copia; private String acertijo; private int vidas; File archivo; public ahorcado(int v){ vidas=v; } public String cambiandoPalabra(String pal){ palabra=pal; return palabra; } public String [] comparar(char c){ ArrayList<String> lista= new ArrayList<String>(); int tam=palabra.length()-1; ArrayList<Integer> indice= new ArrayList<Integer>(); String [] resultado=new String[tam+1]; copia=""; if(vidas==5){ for(int z=0; z<=tam; z++){ copia=copia+"*"; } guardar("ahorcado"); } copia=recuperar("ahorcado"); System.out.println(copia); if(vidas>0 || palabra!=copia){ for(int a=0; a<=tam; a++){ if(palabra.charAt(a)==(c)){ resultado[a]=c+""; } else{ resultado[a]="*"; } } for(int b=0; b<=tam; b++){ copia=copia+resultado[b]; } guardar("ahorcado"); vidas--; } return resultado; } public void guardar(String nombreTabla){ archivo= new File ("D:\\"+nombreTabla+".txt"); try{ FileWriter escritor= new FileWriter(archivo); BufferedWriter auxescritor= new BufferedWriter(escritor); auxescritor.write(copia); auxescritor.close(); } catch(Exception e){ e.printStackTrace(); } } public String recuperar(String nombreTabla){ ArrayList<String> almacen= new ArrayList<String>(); archivo= new File ("D:\\"+nombreTabla+".txt"); String linea=""; String linea0=""; try{ FileReader leedor= new FileReader(archivo); BufferedReader auxLeer= new BufferedReader(leedor); while((linea=auxLeer.readLine())!=null){ almacen.add(linea); } } catch(Exception e){ e.printStackTrace(); } linea0=almacen.get(0); return linea0; } }
Comentar Subir
Me gusta: Está respuesta es útil y esta clara
0
No me gusta: Está respuesta no esta clara o no es útil
 
Asunto:Como cambiar un string por otro pero en determiandas posiciones??
Autor:Diego (2 intervenciones)
Fecha:13/09/2011 05:05:07
Gracias a todos he logrado solucionarlo utilizando StringBuilder en lugar de String..
Muchas Gracias
Comentar Subir
Me gusta: Está respuesta es útil y esta clara
0
No me gusta: Está respuesta no esta clara o no es útil
 
Asunto:Como cambiar un string por otro pero en determiandas posiciones??
Autor:bj penn (8 intervenciones)
Fecha:14/09/2011 02:45:48
y como recuperar el resultado parcial...
mi solucion es guardarlo en un archivo
alguna sugerencia...
Comentar Subir
Me gusta: Está respuesta es útil y esta clara
0
No me gusta: Está respuesta no esta clara o no es útil
 
Asunto:Como cambiar un string por otro pero en determiandas posiciones??
Autor:bj penn prodigy_0-07@hotmail.com (8 intervenciones)
Fecha:13/09/2011 17:35:37
lo que yo quiero es que rescate la palabra resultado por ejemplo entrada hola y el char c= a
resultado parcial ***a
y luego rescatar ***a del documento y hacer una y otra vez el procedimiento dicho anteriormente hasta que gane o pierda vidas=0 ayuda por fa...
Comentar Subir