Autor Tema: Java comparacion de strings introducidos mediante JOptionPane por usuario  (Leído 2250 veces)

keyloger117

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 2
    • Ver Perfil
Ayuda!!
Queria saber como puedo hacer que al ingresar otros valores a el curso que no sea java, php o mysql me marque un error de que "El curso no esta disponible", que sentencia me serviria para eso.


Código: [Seleccionar]
cur[i]=JOptionPane.showInputDialog("Ingresa nombre de curso (java php mysql)");
while(!cur[i].matches("([a-z]|[A-Z]|\\s)+")){
JOptionPane.showMessageDialog(null, "Error este campo solo acepta caracteres");
cur[i]=JOptionPane.showInputDialog("Ingresa nombre de curso (java php mysql)");}
            if (cur[i].equalsIgnoreCase("java")){p[i]=250;}
            else if(cur[i].equalsIgnoreCase("php")){p[i]=200;}
            else if (cur[i].equalsIgnoreCase("mysql")){p[i]=150;}
« Última modificación: 19 de Octubre 2016, 20:59 por Ogramar »

Kabuto

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 988
    • Ver Perfil
Re:compracion de strings
« Respuesta #1 en: 14 de Octubre 2016, 12:42 »
Simplemente añade un else final sin ninguna condición a evaluar.

Es decir, viendolo en pseudocódigo cutre, que por cierto suele servir para entender mejor lo que hacemos en lugar de pensar en sentencias Java en concreto....

Si se ha introducido Java ---> hago lo que corresponda con Java
si no --> (no es Java, voy a preguntar por otra posibilidad)
si se ha introducido PHP  ---> hago lo que corresponda con PHP
si no --> (no es Java ni PHP, voy a preguntar por otra posibilidad)
si se ha introducido MySQL  ---> hago lo que corresponda con MySQL
si no --> (no es Java ni PHP ni MySQL, no quedan posibilidades por preguntar, asi que...)
indico mensaje de error --> porque el curso introducido no existe


O sea, que basta con que pongas un else final que ejecuta un showMessageDialog de error o lo que necesites hacer si no se ha encontrado un curso coincidente con el introducido.


Por cierto, hacerlo con if... else es perfectámente válido y correcto.
Pero imagina que en lugar de 3 posibilidades, tuvieras que preguntar por unas cuantas más.
Tanto if..else sería un peñazo escribirlos y el código quedaría feo...
Pero en Java, desde la versión JDK 7, se puede usar la sentencia switch...case para comparar Strings (antes solo admitía numeros y chars..)
Este cambio es muy útil para no volverse loco con tantos if..else y que el código quede más legible.
Puedes ver un ejemplo en la web de documentación de Oracle
« Última modificación: 14 de Octubre 2016, 12:46 por Kabuto »
NO respondo dudas por mensaje privado
Publicando vuestras dudas en el foro público conseguimos:
- Que más gente aporte respuestas mejores o complementarias.
- Que otras personas puedan aprender de vuestras dudas.

Mejor en PÚBLICO que en privado. Gracias

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".