noviembre 13, 2011

Un programa que te sea leal .equals()

¿Alguna ves han pensado en un programa que te sea leal? un programa que solo te responda a ti. Pues con el la función .equal() podemos hacer posible esto, ya que esta función compara cadenas de caracteres; hasta ahora solo hemos trabajado condiciones comparando numero, pero con la función mencionada empezaremos a comparar cadenas de texto en nuestras condicionales, así que echando a volar nuestra imaginación hagamos un programa que sea leal solo a nosotros:
//Archivo: Acceso.java

import javax.swing.JOptionPane;

public class Acceso{
 
 public static void main(String args[]){
  
  String nombre=JOptionPane.showInputDialog("¿Cual es tu nombre?");
  
  if(nombre.equals("Pedro")){
   System.out.println("Acceso concedido");
   System.out.println("¡Bienvenido Sr. "+nombre+"!");
   System.out.println("¡Que tenga buen dia!");
  }
  else
   System.out.println("Acceso denegado");
 }
}
La funcion .equals() recibe como parametro una cadena de caracteres, obviamente, así que dentro de los paréntesis de esta función escribimos entre comillas algún texto que queramos comparar, en este caso escribimos la cadena de caracteres "Pedro". Este programa sencillo solo indica si usted a accedido al programa, si accede le dará un mensaje de bienvenida y le saludara; si no accede al programa solo le mostrara un mensaje que diga: "Acceso denegado".

Cuando salga la ventana del JOptionPane para preguntarnos el nombre -supongamos que usted se llama Luis-, usted introducirá su nombre en la caja de texto creada por JOptionPane y al dar "Aceptar" la variable String nombre contendrá una cadena de caracteres con su nombre (Luis). Cuando el programa llegue a la linea 11 donde usamos un if, ocupando .equals(), decimos que el nombre que el usuario introdujo debe ser igual a "Pedro", y como en nuestro ejemplo usted se llama "Luis" la condición del if no se cumplirá y se pasara al else donde le enviara un mensaje que diga "Acceso denegado". De este modo, el programa solo accesará y solo saludara a la persona cuyo nombre sea "Pedro".

Debe tomar muy en cuenta que al momento de establecer su condición, por ejemplo en la linea 11 de nuestro programa, que esta función es sensible a mayúscula y minúsculas, por tal motivo, cuando el programa le pida su nombre con el JOptionPane usted debe ingresar el nombre tal y como lo escribió en su condición para que usted pueda accesar al programa y le salude. Por ejemplo, si al momento de que el programa le pida su nombre y usted ingresa la palabra "pedro" (todas minúsculas), el programa le mandara el mensaje "Acceso denegado", ya que usted habra ingresado "pedro" en minusculas y en la condicion esta establecido "Pedro" con la primera letra mayúscula y las demas minusculas, por tanto "pedro" y "Pedro" no son iguales del todo.

.equalsIgnoreCase()

¡Bendito sea JAVA! que nos facilita siempre las cosas... la función .equalsIgnoreCase() realiza la misma tarea que .equals(), compara cadenas, pero con la ventaja de que .equalsIgnoreCase() no hace distinción de mayúsculas y minúsculas, ignora que algunas letras estén escritas en mayúsculas y otras estén en minúsculas, esta función solo compara el contenido de la cadena de caracteres, de tal modo que para esta función "pedro" es igual a "Pedro" o a "PEDRO". Aquí el ejemplo anterior usando .equalsIgnoreCase():
//Archivo: Acceso.java

import javax.swing.JOptionPane;

public class Acceso{
 
 public static void main(String args[]){
  
  String nombre=JOptionPane.showInputDialog("¿Cual es tu nombre?");
  
  if(nombre.equalsIgnoreCase("Pedro")){
   System.out.println("Acceso concedido");
   System.out.println("¡Bienvenido Sr. "+nombre+"!");
   System.out.println("¡Que tenga buen dia!");
  }
  else
   System.out.println("Acceso denegado");
 }
}

Ya sea que usted al momento de que el programa le pida su nombre ingrese "pedro", "Pedro" o "PEDRO" el programa le responderá permitiendole el acceso y saludándolo. Si su nombre no es "Pedro" entonces el programa no accesará.

Las funciones .equals() y .equalsIgnoreCase tienen muchas utilidades, solo tenemos que pensar en que las vamos a ocupar y después debemos implementarlas para nuestros programas, ¡dejen volar su imaginación!.

No hay comentarios.:

Publicar un comentario