Java - ingresar 5 claves y validar que este bien

 
Vista:
sin imagen de perfil

ingresar 5 claves y validar que este bien

Publicado por Pablo (1 intervención) el 28/10/2014 01:53:08
Me podrían ayudar a corregir este código, es para ingresar 5 claves, si te equivocas en una te aparezera "te equivocaste de fiesta" al poner la 5 bien "bienvenido a la fiesta"
al momento de ejecutar el programa
pongo bien las 5 claves y me pone te equivocaste de fiesta, que falta ´para que me aparezca "bienvenido a la fiesta?"

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
import java.util.Scanner;
public class FIesta {
 
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner leer=new Scanner(System.in);
	   String clave1="tienes", clave2="que_ser", clave3="invitado", clave4="para", clave5="ingresar";
 
	   System.out.println("ingresa clave 1");
	   clave1=leer.next();
	   System.out.println("ingresa clave 2");
	   clave2=leer.next();
	   System.out.println("ingresa clave 3");
	   clave3=leer.next();
	   System.out.println("ingresa clave4");
	   clave2=leer.next();
	   System.out.println("ingresa clave 5");
	   clave5=leer.next();
 
	   if (clave1!="tienes"){
		   System.out.println("te equivocaste de fiesta");
		   }
 
	   else{
		   if(clave2!="que_ser"){
			   System.out.println("te equivocaste de fiesta");
		   }
		   else{
			   if(clave3!="invitado"){
				   System.out.println("te equivocaste de fiesta");
			   }
			   else{
				   if(clave4!="para"){
					   System.out.println("te equivocaste de fiesta");
				   }
				   else{
					   if(clave5 !="ingresar"){
						   System.out.println("te equivocaste de fiesta");
					   }
 
				   }
			   }
		   }
 
	}
 
}
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

ingresar 5 claves y validar que este bien

Publicado por Fernando (82 intervenciones) el 28/10/2014 07:29:28
hola que tal tenias un numero repetido en los if, para comparacion de cadenas de texto no es recomendabl usar el == o != ya que estos operadores son mayormente para matematicas y es algo complejo y diferente con el texto, por esto utilise el equals ignore case que valida dos cadenas e ignora si estan en mayusculas y minusculas ,,, hay te aceptara de las dos formas de texto con o sin mayuscula , si no lo quieres asi y solo quieres que funcione en minuscula o el valor que elejistes solamente deja el equals y borra lo demas este ejemplo va funcionando al 100 porciento a lo que pedias espero te sirve y se acerque a lo que querias hacer aca el codigo

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
import java.util.Scanner;
public class FIesta {
 
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner leer=new Scanner(System.in);
//vamos a inicializar las variables null
String clave1, clave2, clave3, clave4, clave5;
// comentado lo que tenias antes
//String clave1="tienes", clave2="que_ser", clave3="invitado", clave4="para", clave5="ingresar";
// vamos a crear una variable numerica para que cuente cuantas veces te equivocas
int contador=0;
System.out.println("ingresa clave 1");
clave1=leer.next();
System.out.println("ingresa clave 2");
clave2=leer.next();
System.out.println("ingresa clave 3");
clave3=leer.next();
System.out.println("ingresa clave4");
// tenias clave 2 y tiene que ser clave 4
clave4=leer.next();
System.out.println("ingresa clave 5");
clave5=leer.next();
 
if(clave1.equalsIgnoreCase("tienes"))
{
    contador++;
}
if(clave2.equalsIgnoreCase("que_ser"))
{
    contador++;
}
if(clave3.equalsIgnoreCase("invitado"))
{
    contador++;
}
if(clave4.equalsIgnoreCase("para"))
{
    contador++;
}
if(clave5.equalsIgnoreCase("ingresar"))
{
    contador++;
}
//validamos si estan todas
    if(contador==5)
    {
        System.out.println("Bienvenido a la fiesta");
    }
    else
    {
        System.out.println("Te equivocastes de fiesta");
    }
 
    System.out.println("fin del sistema");
 
    }
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

ingresar 5 claves y validar que este bien

Publicado por Carlos (1 intervención) el 30/10/2014 12:44:42
Otra forma sería:

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
import java.util.Scanner;
public class FIesta {
 
	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		Scanner leer=new Scanner(System.in);
	   String clave1="tienes", clave2="que_ser", clave3="invitado", clave4="para", clave5="ingresar";
 
	   System.out.println("ingresa clave 1");
	   clave1=leer.next();
	   System.out.println("ingresa clave 2");
	   clave2=leer.next();
	   System.out.println("ingresa clave 3");
	   clave3=leer.next();
	   System.out.println("ingresa clave4");
	   clave2=leer.next();
	   System.out.println("ingresa clave 5");
	   clave5=leer.next();
 
	   if ("tienes".equals(clave1) && "que_ser".equals(clave2) && "invitado".equals(clave3) && "para".equals(clave4) && && "ingresar".equals(clave5){
		   System.out.println("Bienvenido a la fiesta");
	   } else{
		    System.out.println("te equivocaste de fiesta");
	   }
	}
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar