Ayuda para remplazar un caracter String
Publicado por alejandro (9 intervenciones) el 01/05/2015 19:14:08
Buenas a todos, esta vez necesito vuestra ayuda para hacer un algoritmo que haga que juegue al ahorcado, el programa tiene un modo facil y otro dificil, de momento solo quiere hacer el facil y para ello os necesito.
mi codigo hace que insertes la palabra con una clase leer q tengo q no viene mucho al caso,
entonces introduces hola, aparece ****, inroduzco la h, y me sale: h****, cuando quiero que haga h***, tambien el problema que tengo es que cuando introduzco una h, y luego otra h, pues me saldria hh****, porque? por que comparo si esa letra existe en la palabra secreta y lo da por valida y lo pone, pero no tengo una idea clara de hacerlo de otra forma....
dejo aqui el codigo y aver si alguien me puede ayudar pro que estoy echo un lio....
El problema esta entre lineas 62-69, para no haceros leer todo... gracias
mi codigo hace que insertes la palabra con una clase leer q tengo q no viene mucho al caso,
entonces introduces hola, aparece ****, inroduzco la h, y me sale: h****, cuando quiero que haga h***, tambien el problema que tengo es que cuando introduzco una h, y luego otra h, pues me saldria hh****, porque? por que comparo si esa letra existe en la palabra secreta y lo da por valida y lo pone, pero no tengo una idea clara de hacerlo de otra forma....
dejo aqui el codigo y aver si alguien me puede ayudar pro que estoy echo un lio....
El problema esta entre lineas 62-69, para no haceros leer todo... gracias
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
import java.util.ArrayList;
//Autor: Alejandro Villapol
public class Practica6Ahorcado {
public static void main(String[] args) {
//Entorno
ArrayList<Character>intentos=new ArrayList<Character>();
String secreta;
String letra;
boolean encontrado;
char primeraLetra;
int fallos;
short nivel;
String palabra;
//Algoritmo
fallos=0;
do{
System.out.println("Nivel 1.- Facil");
System.out.println("Nivel 2.- Dificil");
System.out.print("Elige opción: ");
nivel=Leer.datoShort();
}while(nivel<1||nivel>2);
//Fácil:
palabra = "";
primeraLetra=' ';
if(nivel==1){
do{
System.out.println("Introduzca la palabra secreta sin espacios)");
secreta = Leer.dato();
secreta=secreta.toLowerCase();
}while(secreta.contains(" "));
for(int i=0; i<secreta.length();i++){
palabra=palabra + "*";
}//Fin Para
System.out.println("Palabra a adivinar: "+palabra);
while(fallos<10 && !secreta.contains("*")){
do{
System.out.println("Introduzca una letra");
letra=Leer.dato();
letra=letra.toLowerCase();
primeraLetra=letra.charAt(0);
}while(primeraLetra<'a' || primeraLetra >'z');
//Comprobar letra en la palabra secreta
encontrado=false;
for(int i = 0; i<secreta.length();i++){
if(secreta.charAt(i)==primeraLetra){
encontrado=true;
}//Fin Si
}//Fin Para
if(!encontrado && !intentos.contains(primeraLetra)){
intentos.add(fallos,primeraLetra);
fallos++;
}//Fin Si
System.out.println(intentos);
System.out.println("Fallos :"+fallos);
for(int i=0;i<secreta.length();i++){
if(secreta.charAt(i)==primeraLetra){
palabra=palabra.substring(0,i) + primeraLetra + palabra.substring(i,palabra.length());
//error// palabra.replaceFirst("*","");
}//Fin Si
}//Fin Para
System.out.println(palabra);
}//Fin Mientras
if(fallos==10){
System.out.println("Perdiste, la palabra era: "+secreta);
System.out.println("Prueba suerte la proxima vez!");
}else{
System.out.println("Has ganado, enhorabuena");
}//Fin Si
}else{ //Fin (Nivel Facil)
//Nivel Dificil
//Completar...
}
}
}
Valora esta pregunta


0