Java - ayuda-ejercicio

 
Vista:

ayuda-ejercicio

Publicado por francis25 (1 intervención) el 16/03/2017 02:12:06
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
String sex= JOptionPane.showInputDialog("Introduzca su sexo (H o M");
		String hombre="h"; String mujer="m" ;
		if (sex.equalsIgnoreCase(hombre)){
 
			String alt= JOptionPane.showInputDialog("Introduzca la altura");
			int altura=Integer.parseInt(alt);
			int Peso_Idóneo_H=altura-110;
			System.out.println("Su peso idóneo sería de " +Peso_Idóneo_H+ " kilos");}
 
		else  {
			String alt1= JOptionPane.showInputDialog("Introduzca la altura");
			int altura1=Integer.parseInt(alt1);
			int Peso_Idóneo_M=altura1-120;
			System.out.println("Su peso idóneo sería de " +Peso_Idóneo_M+ " kilos");}
	}
}

Tengo casi al 100% el ejercicio hecho pero lo que nose es lo siguiente que me pide:

En primer lugar, a través de una ventana de JOptionPane, el usuario ha de seleccionar
su género, indicando “H ó h” si es un hombre o “M ó m” si es mujer. Cualquier opción
que no sea alguna de las anteriores no será válida y volverá a salir la ventana de
elección hasta que introduzca una opción válida.

Creo que la parte del ignorecase la tengo bien o va por buen camino, pero lo de que me siga pidiendo nose como hacerlo con Do-While

¿Alguien me ayuda? gracias ¡¡
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

ayuda-ejercicio

Publicado por YYanes (144 intervenciones) el 16/03/2017 14:13:05
Hola amigo, puede probar creando un segundo método que realice la validación, por ejemplo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
boolean SexoCorrecto(String sexo)
{
  boolean correcto = false;
    if (sex.equalsIgnoreCase("h") || sex.equalsIgnoreCase("m"))
      correcto = true;
 
  return correcto;
}
 
//----- Luego, en tu método principal: ----------------
String sex = ""; //declaramos esta variable aquí, antes de entrar en el ciclo
 
While(!SexoCorrecto(sex))
   sex= JOptionPane.showInputDialog("Introduzca su sexo (H o M");
 
if (sex.equalsIgnoreCase(hombre)){
  // etc...
}
 
else{
  // etc...
}
//------------------

Un GigaSaludo y espero que resuelva!!!
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