Está en la página 1de 96

Universidad de Oriente

Núcleo de Anzoátegui
Extensión Región Centro-Sur Anaco
Escuela de Ingeniería y Ciencias Aplicadas
Departamento de Ingeniería de Sistemas

Sistemas de Información

Profesor: Bachiller:
Rodmar Rodriguez José Carrillo C.I. 25.993.844
Yannelis Hernandez

Anaco, diciembre de 2020


Ejercicio 1

import javax.swing.JOptionPane;

public class Ejecutable {

/**

* @param args the command line arguments

*/

public static void main(String[] args) {

// TODO code application logic here

//Introducimos el tamaño del array y la longitud del password

String texto=JOptionPane.showInputDialog("Introduce un tamaño para el array");

int tamanio=Integer.parseInt(texto);

texto=JOptionPane.showInputDialog("Introduce la longitud del password");

int longitud=Integer.parseInt(texto);

//Creamos los arrays

Password listaPassword[]=new Password[tamanio];

boolean fortalezaPassword[]=new boolean[tamanio];

//Creamos objetos, indicamos si es fuerte y mostramos la contraseña y su fortaleza.

for(int i=0;i<listaPassword.length;i++){

listaPassword[i]=new Password(longitud);

fortalezaPassword[i]=listaPassword[i].esFuerte();

System.out.println(listaPassword[i].getContraseña()+" "+fortalezaPassword[i]);

}
}

/*

* To change this license header, choose License Headers in Project Properties.

* To change this template file, choose Tools | Templates

* and open the template in the editor.

*/

package ejecutable;

/**

*/

public class Password {

private final static int LONG_DEF=8;


//Atributos

/**

* Longitud de la contraseña

*/

private int longitud;

/**

* caracteres de la contraseña

*/

private String contraseña;

//Metodos publicos

/**

* Devuelve la longitud

* @return longitud de la contraseña

*/

public int getLongitud() {

return longitud;

/**

* Modifica la longitud de la contraseña

* @param longitud a cambiar

*/

public void setLongitud(int longitud) {

this.longitud = longitud;

}
/**

* Devuelve la contraseña

* @return contraseña

*/

public String getContraseña() {

return contraseña;

/**

* Genera una contraseña al azar con la longitud que este definida

* @return contraseña

*/

public String generaPassword (){

String password="";

for (int i=0;i<longitud;i++){

//Generamos un numero aleatorio, segun este elige si añadir una minuscula, mayuscula o
numero

int eleccion=((int)Math.floor(Math.random()*3+1));

if (eleccion==1){

char minusculas=(char)((int)Math.floor(Math.random()*(123-97)+97));

password+=minusculas;

}else{

if(eleccion==2){

char mayusculas=(char)((int)Math.floor(Math.random()*(91-65)+65));

password+=mayusculas;

}else{

char numeros=(char)((int)Math.floor(Math.random()*(58-48)+48));

password+=numeros;
}

return password;

/**

* Comprueba la fortaleza de la contraseña

* @return

*/

public boolean esFuerte(){

int cuentanumeros=0;

int cuentaminusculas=0;

int cuentamayusculas=0;

//Vamos caracter a caracter y comprobamos que tipo de caracter es

for (int i=0;i<contraseña.length();i++){

if (contraseña.charAt(i)>=97 && contraseña.charAt(i)<=122){

cuentaminusculas+=1;

}else{

if (contraseña.charAt(i)>=65 && contraseña.charAt(i)<=90){

cuentamayusculas+=1;

}else{

cuentanumeros+=1;

//Si la constraseña tiene mas de 5 numeros, mas de 1 minuscula y mas de 2 mayusculas

if (cuentanumeros>=5 && cuentaminusculas>=1 && cuentamayusculas>=2){

return true;
}else{

return false;

//Constructores

/**

* Crea una contraseña al azar

*/

public Password (){

this(LONG_DEF);

/**

* La contraseña sera la pasada por parametro

* @param longitud

*/

public Password (int longitud){

this.longitud=longitud;

contraseña=generaPassword();

Ejercicio 2

package ejecutable;

/**

*
*/

public class Serie implements Entregable{

//Constantes

/**

* Numero de temporadas por defecto

*/

private final static int NUM_TEMPORADAS_DEF=3;

/**

* Constante que indica que un objeto es mayor que otro

*/

public final static int MAYOR=1;

/**

* Constante que indica que un objeto es menor que otro

*/

public final static int MENOR=-1;

/**

* Constante que indica que un objeto es igual que otro

*/

public final static int IGUAL=0;

//Atributos

/**
* Titulo de la serie

*/

private String titulo;

/**

* Numero de temporadas de la serie

*/

private int numeroTemporadas;

/**

* Indica si esta entregado la serie

*/

private boolean entregado;

/**

* Genero de la serie

*/

private String genero;

/**

* Creador de la serie

*/

private String creador;

//Métodos publicos

/**

* Devuelve el titulo de la serie

* @return titulo de la serie


*/

public String getTitulo() {

return titulo;

/**

* Modifica el titulo de la serie

* @param titulo a cambiar

*/

public void setTitulo(String titulo) {

this.titulo = titulo;

/**

* Devuelve la numeroTemporadas de la serie

* @return numeroTemporadas de la serie

*/

public int getnumeroTemporadas() {

return numeroTemporadas;

/**

* Modifica la numeroTemporadas de la serie

* @param numeroTemporadas a cambiar

*/

public void setnumeroTemporadas(int numeroTemporadas) {

this.numeroTemporadas = numeroTemporadas;

}
/**

* Devuelve el genero de la serie

* @return genero de la serie

*/

public String getGenero() {

return genero;

/**

* Modifica el genero de la serie

* @param genero a cambiar

*/

public void setGenero(String genero) {

this.genero = genero;

/**

* Devuelve el creador de la serie

* @return creador de la serie

*/

public String getcreador() {

return creador;

/**

* Modifica el creador de la serie

* @param creador a cambiar

*/

public void setcreador(String creador) {


this.creador = creador;

/**

* Cambia el estado de entregado a true

*/

public void entregar() {

entregado=true;

/**

* Cambia el estado de entregado a false

*/

public void devolver() {

entregado=false;

/**

* Indica el estado de entregado

*/

public boolean isEntregado() {

if(entregado){

return true;

return false;

/**

* Compara dos series segun su numero de temporadas


* @param objeto a comparar

* @return codigo numerico

* <ul>

* <li>1: La Serie 1 es mayor que la Serie 2</li>

* <li>0: Las Series son iguales</li>

* <li>-1: La Serie 1 es menor que la Serie 2</li></ul>

*/

public int compareTo(Object a) {

int estado=MENOR;

//Hacemos un casting de objetos para usar el metodo get

Serie ref=(Serie)a;

if (numeroTemporadas>ref.getnumeroTemporadas()){

estado=MAYOR;

}else if(numeroTemporadas==ref.getnumeroTemporadas()){

estado=IGUAL;

return estado;

/**

* Muestra informacion de la Serie

* @return cadena con toda la informacion de la Serie

*/

public String toString(){

return "Informacion de la Serie: \n" +

"\tTitulo: "+titulo+"\n" +

"\tNumero de temporadas: "+numeroTemporadas+"\n" +


"\tGenero: "+genero+"\n" +

"\tCreador: "+creador;

/**

* Indica si dos Series son iguales, siendo el titulo y creador iguales

* @param a Serie a comparar

* @return true si son iguales y false si son distintos

*/

public boolean equals(Serie a){

if (titulo.equalsIgnoreCase(a.getTitulo()) && creador.equalsIgnoreCase(a.getcreador())){

return true;

return false;

//Constructor

/**

* Constructor por defecto

*/

public Serie(){

this("",NUM_TEMPORADAS_DEF, "", "");

/**

* Contructor con 2 parametros

* @param titulo de la Serie

* @param creador de la Serie


*/

public Serie(String titulo, String creador){

this(titulo,NUM_TEMPORADAS_DEF, "", creador);

/**

* Constructor con 4 parametros

* @param titulo de la Serie

* @param numeroTemporadas de la Serie

* @param genero de la Serie

* @param creador de la Serie

*/

public Serie(String titulo, int numeroTemporadas, String genero, String creador){

this.titulo=titulo;

this.numeroTemporadas=numeroTemporadas;

this.genero=genero;

this.creador=creador;

this.entregado=false;

/*

* To change this license header, choose License Headers in Project Properties.


* To change this template file, choose Tools | Templates

* and open the template in the editor.

*/

package ejecutable;

/**

*/

public interface Entregable {

public void entregar();

public void devolver();

public boolean isEntregado();

public int compareTo(Object a);

/*

* To change this license header, choose License Headers in Project Properties.

* To change this template file, choose Tools | Templates

* and open the template in the editor.


*/

package ejecutable;

/**

*/

public class Ejecutable {

/**

* @param args the command line arguments

*/

public static void main(String[] args) {

// TODO code application logic here

//Creamos dos arrays de cada tipo de objeto

Serie listaSeries[]=new Serie[5];

VideoJuego listaVideojuegos[]=new VideoJuego[5];

//Creamos un objeto en cada posicion del array

listaSeries[0]=new Serie();

listaSeries[1]=new Serie("Juego de tronos", "George R. R. Martin ");

listaSeries[2]=new Serie("Los Simpsons", 25, "Humor", "Matt Groening");

listaSeries[3]=new Serie("Padre de familia", 12 ,"Humor", "Seth MacFarlane");

listaSeries[4]=new Serie("Breaking Bad", 5, "Thriller", "Vince Gilligan");

listaVideojuegos[0]=new VideoJuego();

listaVideojuegos[1]=new VideoJuego("Assasin creed 2", 30, "Aventura", "EA");

listaVideojuegos[2]=new VideoJuego("God of war 3", "Santa Monica");

listaVideojuegos[3]=new VideoJuego("Super Mario 3DS", 30, "Plataforma", "Nintendo");


listaVideojuegos[4]=new VideoJuego("Final fantasy X", 200, "Rol", "Square Enix");

//entregamos algunos videojuegos y series

listaSeries[1].entregar();

listaSeries[4].entregar();

listaVideojuegos[0].entregar();

listaVideojuegos[3].entregar();

//Recorremos los arrays para contar cuantos entregados hay, tambien los devolvemos

int entregados=0;

for(int i=0;i<listaSeries.length;i++){

if(listaSeries[i].isEntregado()){

entregados+=1;

listaSeries[i].devolver();

if(listaVideojuegos[i].isEntregado()){

entregados+=1;

listaVideojuegos[i].devolver();

System.out.println("Hay "+entregados+" articulos entregados");

//Creamos dos objetos con la primera posicion de cada array

Serie serieMayor=listaSeries[0];

VideoJuego videojuegoMayor=listaVideojuegos[0];
//Recorremos el array desde la posicion 1 (no 0), comparando el mayor con las posiciones del
array

for(int i=1;i<listaSeries.length;i++){

if(listaSeries[i].compareTo(serieMayor)==Serie.MAYOR){

serieMayor=listaSeries[i];

if(listaVideojuegos[i].compareTo(videojuegoMayor)==VideoJuego.MAYOR){

videojuegoMayor=listaVideojuegos[i];

//Mostramos toda la informacion del videojuego y serie mayor

System.out.println(videojuegoMayor);

System.out.println(serieMayor);

/*

* To change this license header, choose License Headers in Project Properties.

* To change this template file, choose Tools | Templates

* and open the template in the editor.

*/

package ejecutable;
/**

*/

public class VideoJuego implements Entregable{

//Constantes

/**

* Horas estimadas por defecto

*/

private final static int HORAS_ESTIMADAS_DEF=100;

/**

* Constante que indica que un objeto es mayor que otro

*/

public final static int MAYOR=1;

/**

* Constante que indica que un objeto es menor que otro

*/

public final static int MENOR=-1;

/**

* Constante que indica que un objeto es igual que otro

*/

public final static int IGUAL=0;


//Atributos

/**

* Titulo del videojuego

*/

private String titulo;

/**

* Horas estimadas del videojuego

*/

private int horasEstimadas;

/**

* Indica si esta o no entregado el videojuego

*/

private boolean entregado;

/**

* Genero del videojuego

*/

private String genero;

/**

* Compañia del videojuego

*/

private String compañia;

//Métodos publicos
/**

* Devuelve el titulo del videojuego

* @return titulo del videojuego

*/

public String getTitulo() {

return titulo;

/**

* Modifica el titulo del videojuego

* @param titulo a cambiar

*/

public void setTitulo(String titulo) {

this.titulo = titulo;

/**

* Devuelve el numero de paginas del videojuego

* @return numero de paginas del videojuego

*/

public int getHorasEstimadas() {

return horasEstimadas;

/**

* Modifica el numero de paginas del videojuego

* @param horasEstimadas

*/

public void setHorasEstimadas(int horasEstimadas) {


this.horasEstimadas = horasEstimadas;

/**

* Devuelve el genero del videojuego

* @return genero del videojuego

*/

public String getGenero() {

return genero;

/**

* Modifica el genero del videojuego

* @param genero a cambiar

*/

public void setGenero(String genero) {

this.genero = genero;

/**

* Devuelve el compañia del videojuego

* @return compañia del videojuego

*/

public String getcompañia() {

return compañia;

/**

* Modifica el compañia del videojuego


* @param compañia a cambiar

*/

public void setcompañia(String compañia) {

this.compañia = compañia;

/**

* Cambia el estado de entregado a true

*/

@Override

public void entregar() {

entregado=true;

/**

* Cambia el estado de entregado a false

*/

@Override

public void devolver() {

entregado=false;

/**

* Indica el estado de entregado

* @return

*/

@Override

public boolean isEntregado() {

if(entregado){
return true;

return false;

/**

* Compara dos videojuegos segun el numero de paginas

* @return codigo numerico

* <ul>

* <li>1: El videojuego 1 es mayor que el videojuego 2</li>

* <li>0: Los videojuegos son iguales</li>

* <li>-1: El videojuego 1 es menor que el videojuego 2</li></ul>

*/

@Override

public int compareTo(Object a) {

int estado=MENOR;

//Hacemos un casting de objetos para usar el metodo get

VideoJuego ref=(VideoJuego)a;

if (horasEstimadas>ref.getHorasEstimadas()){

estado=MAYOR;

}else if(horasEstimadas==ref.getHorasEstimadas()){

estado=IGUAL;

return estado;

/**
* Muestra informacion del videojuego

* @return cadena con toda la informacion del videojuego

*/

@Override

public String toString(){

return "Informacion del videojuego: \n" +

"\tTitulo: "+titulo+"\n" +

"\tHoras estimadas: "+horasEstimadas+"\n" +

"\tGenero: "+genero+"\n" +

"\tcompañia: "+compañia;

/**

* Indica si dos videojuegos son iguales, siendo el titulo y compañia iguales

* @param a videojuego a comparar

* @return true si son iguales y false si son distintos

*/

public boolean equals(VideoJuego a){

if (titulo.equalsIgnoreCase(a.getTitulo()) && compañia.equalsIgnoreCase(a.getcompañia())){

return true;

return false;

//Constructor

/**

* Constructo por defecto

*/
public VideoJuego(){

this("",HORAS_ESTIMADAS_DEF, "", "");

/**

* Constructor con 2 parametros

* @param titulo del videojuego

* @param compañia del videojuego

*/

public VideoJuego(String titulo, String compañia){

this(titulo,HORAS_ESTIMADAS_DEF, "", compañia);

/**

* Constructor con 4 parametros

* @param titulo del videojuego

* @param horasEstimadas

* @param genero del videojuego

* @param compañia del videojuego

*/

public VideoJuego(String titulo, int horasEstimadas, String genero, String compañia){

this.titulo=titulo;

this.horasEstimadas=horasEstimadas;

this.genero=genero;

this.compañia=compañia;

this.entregado=false;

}
}

Ejercicio 3

package ejercicio.pkg3;

/**

*/

public class Ejercicio3 {

/**

* @param args the command line arguments

*/

public static void main(String[] args) {

// TODO code application logic here

Raices ecuacion=new Raices(1,4,4); //creamos el objeto

ecuacion.calcular(); //Calculamos

/*

* To change this license header, choose License Headers in Project Properties.

* To change this template file, choose Tools | Templates

* and open the template in the editor.


*/

package ejercicio.pkg3;

/**

*/

public class Raices {

/*Atributos*/

private double a;

private double b;

private double c;

/**

* Ecuacion de 2º grado

* @param a

* @param b

* @param c

*/

public Raices(double a, double b, double c){

this.a=a;

this.b=b;

this.c=c;

/**

* Metodos para obtener las raices cuando hay 2 soluciones posibles

*/
private void obtenerRaices(){

double x1=(-b+Math.sqrt(getDiscriminante()))/(2*a);

double x2=(-b-Math.sqrt(getDiscriminante()))/(2*a);

System.out.println("Solucion X1");

System.out.println(x1);

System.out.println("Solucion X2");

System.out.println(x2);

/**

* Obtiene una unica raiz, cuando solo tiene la posibilidad de er una solucion

*/

private void obtenerRaiz(){

double x=(-b)/(2*a);

System.out.println("Unica solucion");

System.out.println(x);

/**

* Nos devuelve el valor del discriminante,

* @return

*/

private double getDiscriminante(){

return Math.pow(b, 2)-(4*a*c);


}

/**

* Si el discriminante es mayor que 0 tiene mas de una raiz

* (No hemos puesto >= ya que puede confundirse con una solucion)

* @return

*/

private boolean tieneRaices(){

return getDiscriminante()>0;

/**

* Si el discriminante es igual a cero tiene una sola raiz

* @return

*/

private boolean tieneRaiz(){

return getDiscriminante()==0;

/**

* Nos permite calcular las raices de una ecuacion de 2º grado

*/

public void calcular(){

if(tieneRaices()){

obtenerRaices();

}else if(tieneRaiz()){

obtenerRaiz();

}else{
System.out.println("No tiene soluciones");

6. crear un programa que gestione una serie de productos

import java.util.ArrayList;

import java.util.Scanner;

public class Shopp {

/**

* @param args

*/

public static void main(String[] args) {

// Cree una colección Arraylist, almacene el tipo de producto, almacene el tipo de


datos Tipo FruitItem

ArrayList<FruitItem> array = new ArrayList<FruitItem>();

// Llame al método de inicialización del producto y pase la colección

init(array);

while(true){

// Llama al método del menú

mainMenu();

// Llame al usuario para seleccionar el método del número de serie

int choose = chooseFunction();

switch(choose){
case 1:

// Llamada 1: lista de carga

showFruitList(array);

break;

case 2:

// Llamada 2: Agregar productos

addFruit(array);

break;

case 3:

// Llamada 3: eliminar los bienes

deleteFruit(array);

break;

case 4:

// Llamada 4: modificar los bienes

updataFruit(array);

break;

case 5:

// Llamada 5: Salir

return;

default:

System.out.println ("No existe tal característica");

break;

}
}

/*

* Definir el método para implementar la función de eliminación del producto

* Valor de retorno: ninguno

* Parámetro: Colección

* Solicitar al usuario que seleccione la función de modificación

* Solicitar al usuario que se modifique el número de artículo

* Recorre la colección y obtén cada variable FruitItem

* ID de atributo de la variable llamada, atributo y valor de atributo ingresado por el


usuario

* Si es lo mismo

* Modificar el valor del atributo en FruitItem

* Entrada de teclado

*/

public static void updataFruit(ArrayList<FruitItem> array){

System.out.println ("La función de modificación está seleccionada");

System.out.println ("Ingrese el número de artículo");

Scanner sc = new Scanner(System.in);

int ID = sc.nextInt();

// Iterar a través de la colección y obtener cada variable FruitItem

for(int i = 0 ;i < array.size() ;i++){

FruitItem item = array.get(i);

// Obtenga el ID de propiedad de FruitItem y compárelo con el número de


usuarios
if(item.ID == ID){

System.out.println ("Ingrese un nuevo número de producto");

item.ID = sc.nextInt();

System.out.println ("Ingrese un nuevo nombre de producto");

item.name = sc.next();

System.out.println ("Ingrese un nuevo precio del producto");

item.price = sc.nextDouble();

System.out.println ("¡Modificado con éxito!");

return;

System.out.println ("El número que ingresó no existe");

/*

* Definir el método para implementar la función de eliminación de producto

* Valor de retorno: ninguno

* Parámetro: Colección

* La eliminación depende del número de producto.

* Solicitar al usuario que seleccione la función de eliminación

* Ingrese el número de artículo

* Recorre la colección y obtén cada variable FruitItem en la colección


* La identificación del atributo de llamada variable se compara con el número de
usuarios.

*/

public static void deleteFruit(ArrayList<FruitItem> array){

System.out.println ("La función de eliminación está seleccionada");

System.out.println ("Ingrese el número del elemento que se va a eliminar");

Scanner sc = new Scanner(System.in);

int ID = sc.nextInt();

// atraviesa la colección

for(int i = 0; i < array.size(); i++){

// Obtenga cada FruitItem

FruitItem item = array.get(i);

if(item.ID == ID){

// Elimina el conjunto para encontrar el elemento


// El método de recolección elimina la implementación

array.remove(i);

System.out.println ("Eliminar con éxito");

return;

System.out.println ("El número que ingresó no existe");

/*

* Definir el método para lograr la función agregada del producto

* Valor de retorno: ninguno

* Parámetro: Colección

* Indique al usuario que ha seleccionado la función de agregar productos


*

* Preguntarle al usuario qué

* Crear variable FruitItem, atributo de llamada variable

* Asignar valor de cada atributo de producto ingresado

*/

public static void addFruit(ArrayList<FruitItem> array){

System.out.println ("La opción es agregar características del producto");

// Crear variable de escáner

Scanner sc = new Scanner(System.in);

System.out.println ("Ingrese el número de artículo");

// Ingrese el número de producto

int ID = sc.nextInt();

System.out.println ("Ingrese el nombre del producto");

// Ingrese el nombre del producto

String name = sc.next();

System.out.println ("Ingrese el precio unitario del producto");

// Ingrese el precio unitario del producto

double price = sc.nextDouble();

// Crear variable FruitItem

FruitItem item = new FruitItem();

// elemento. valor de atributo

item.ID = ID;

item.name = name;

item.price = price;

array.add(item);

System.out.println ("Agregado correctamente");

}
/*

* Definir el método para mostrar la lista de productos

* Valor de retorno: ninguno

* Parámetro: Colección

* Recorrer la colección, obtener cada variable FruitItem en la colección, propiedades de


llamada variable

*/

public static void showFruitList(ArrayList<FruitItem> array){

System.out.println();

System.out.println ("---------------- Lista de inventario de productos ----------------");

System.out.println ("Número de producto Nombre del producto Precio unitario


del producto");

// atraviesa la colección

for(int i = 0;i < array.size();i++){

// Método get de la colección, obtén cada variable FruitItem, puedes usar


FruitItem para obtener el resultado

FruitItem item = array.get(i);

System.out.println(item.ID+" "+item.name+" "+item.price);

/*

* Definir métodos para aceptar la entrada de teclado de los usuarios

* Número de devolución

*/

public static int chooseFunction(){

Scanner sc = new Scanner(System.in);

return sc.nextInt();

}
/*

* Definir métodos para implementar el menú principal

* Preguntar al usuario que elige qué número de serie

* Valor de retorno: ninguno

*/

public static void mainMenu(){

System.out.println ("---------------- Bienvenido al supermercado ItCast


----------------");

System.out.println ("1. Lista de productos 2. Agregar productos 3. Eliminar


productos 4. Modificar productos 5. Salir");

System.out.println ("Ingrese el número de serie de la función que desea operar:");

/*

* Definir un método para inicializar los datos del producto

* Almacenar algunos datos en la colección

* Valor de retorno: ninguno

* Nombre del método: init

*/

private static void init(ArrayList<FruitItem> array) {

// Crea múltiples tipos de FruitItem y asigna atributos

FruitItem f1 = new FruitItem();

FruitItem f2 = new FruitItem();

FruitItem f3 = new FruitItem();

f1.name = "Wudang Pecan Crisp";

f1.ID = 9001;

f1.price = 120;
f2.name = "Pastel de peonía multigrano publicado";

f2.ID = 9002;

f2.price = 20;

f3.name = "Cantalupo de Xinjiang";

f3.ID = 9003;

f3.price = 99;

// Cree 3 variables de tipo FruitItem y almacénelas en la colección

array.add(f1);

array.add(f2);

array.add(f3);

public class FruitItem {

// Número de producto

int ID;

// nombre del producto

String name;

// precio de los productos básicos

double price;

// número de productos

int number;

// Precio total
double mount;

7.Realiza una agenda Telefónica de contactos con alguna estructura de datos ya sea cola o Pila. Se
entiende que contacto está definido por un nombre y un teléfono (No es necesario validar) un
contacto es igual a otro cuando sus nombres son iguales. Una agenda de contacto esta formada
por un conjunto de contacto

import java.awt.Color;

import java.awt.Font;

import javax.swing.JButton;

import javax.swing.JLabel;

import javax.swing.JPanel;

import javax.swing.JPasswordField;

import javax.swing.JTextField;

public class PanelLogin extends JPanel{

JLabel lblUsuario=new JLabel("Usuario:");

JLabel lblPass=new JLabel("Constraseña");

public JTextField txtUsuario=new JTextField();

public JPasswordField txtPass=new JPasswordField();

public JButton btnLogin=new JButton("LOGIN");

public PanelLogin(){

setLayout(null);

lblUsuario.setBounds(150,200,100,30);

lblUsuario.setForeground(new Color(255,0,0));

lblUsuario.setFont(new Font("Arial", 1,20));

lblPass.setBounds(120,240,140,30);

lblPass.setForeground(new Color(255,0,0));
lblPass.setFont(new Font("Arial", 1,20));

txtUsuario.setBounds(250,200,100,30);

txtPass.setBounds(250,240,100,30);

btnLogin.setBounds(200,290,100,30);

add(lblUsuario);

add(lblPass);

add(txtUsuario);

add(txtPass);

add(btnLogin);

import java.awt.Color;

import java.awt.Font;

import javax.swing.BorderFactory;

import javax.swing.ImageIcon;

import javax.swing.JButton;

import javax.swing.JLabel;

import javax.swing.JPanel;

import javax.swing.JTextField;

import javax.swing.border.Border;

public class PanelAltas extends JPanel{

public JLabel lblTitulo=new JLabel("ALTAS");

public JLabel lblNombre=new JLabel("Nombre");

public JLabel lblApellido=new JLabel("Apellido");

public JLabel lblTelefono=new JLabel("Telefono");

public JLabel lblCorreo=new JLabel("Correo");

public JLabel lblFace=new JLabel("Facebook");

public JLabel lblTwitter=new JLabel("Twitter");


public JLabel lblInstagram=new JLabel("Instagram");

public JTextField txtNombre=new JTextField();

public JTextField txtApellido=new JTextField();

public JTextField txtTelefono=new JTextField();

public JTextField txtCorreo=new JTextField();

public JTextField txtFacebook=new JTextField();

public JTextField txtTwitter=new JTextField();

public JTextField txtInstagram=new JTextField();

public JButton btnCancelar=new JButton("Cancelar");

public JButton btnGrabar=new JButton("Grabar");

public JLabel lblFoto=new JLabel("Foto Aqui");

Border marco = BorderFactory.createLineBorder(Color.BLUE, 5);

public ImageIcon foto;

public PanelAltas(){

setLayout(null);

lblTitulo.setBounds(200,20,100,50);

lblTitulo.setFont(new Font("Arial", 1, 25));

lblFoto.setBorder(marco);

lblFoto.setHorizontalAlignment(JLabel.CENTER);

lblFoto.setBounds(230,80,200,200);

lblNombre.setBounds(30,80,80,30);

lblApellido.setBounds(30,120,80,30);

lblTelefono.setBounds(30,160,80,30);

lblCorreo.setBounds(30,200,80,30);

lblFace.setBounds(30,240,80,30);

lblTwitter.setBounds(30,280,80,30);

lblInstagram.setBounds(30,320,80,30);

txtNombre.setBounds(110,80,100,30);

txtApellido.setBounds(110,120,100,30);
txtTelefono.setBounds(110,160,100,30);

txtCorreo.setBounds(110,200,100,30);

txtFacebook.setBounds(110,240,100,30);

txtTwitter.setBounds(110,280,100,30);

txtInstagram.setBounds(110,320,100,30);

btnCancelar.setBounds(75,370,100,50);

btnGrabar.setBounds(225,370,100,50);

add(lblTitulo);

add(lblNombre);

add(lblApellido);

add(lblTelefono);

add(lblCorreo);

add(lblFace);

add(lblTwitter);

add(lblInstagram);

add(txtNombre);

add(txtApellido);

add(txtTelefono);

add(txtFacebook);

add(txtCorreo);

add(txtTwitter);

add(txtInstagram);

add(btnCancelar);

add(btnGrabar);

add(lblFoto);

import java.awt.Color;

import java.awt.Font;
import javax.swing.BorderFactory;

import javax.swing.ImageIcon;

import javax.swing.JButton;

import javax.swing.JLabel;

import javax.swing.JPanel;

import javax.swing.JTextField;

import javax.swing.border.Border;

public class PanelBajas extends JPanel {

public JLabel lblTitulo=new JLabel("BAJAS");

public JLabel lblNombre=new JLabel("Nombre");

public JLabel lblApellido=new JLabel("Apellido");

public JLabel lblTelefono=new JLabel("Telefono");

public JLabel lblCorreo=new JLabel("Correo");

public JLabel lblFace=new JLabel("Facebook");

public JLabel lblTwitter=new JLabel("Twitter");

public JLabel lblInstagram=new JLabel("Instagram");

public JTextField txtNombre=new JTextField();

public JTextField txtApellido=new JTextField();

public JTextField txtTelefono=new JTextField();

public JTextField txtCorreo=new JTextField();

public JTextField txtFacebook=new JTextField();

public JTextField txtTwitter=new JTextField();

public JTextField txtInstagram=new JTextField();

public JButton btnCancelar=new JButton("Cancelar");

public JButton btnGrabar=new JButton("Eliminar");

public JButton btnBuscar=new JButton("Buscar");

public JLabel lblFoto=new JLabel("Foto Aqui");

Border marco = BorderFactory.createLineBorder(Color.BLUE, 5);


public ImageIcon foto;

public PanelBajas(){

btnGrabar.setEnabled(false);

setLayout(null);

lblTitulo.setBounds(200,20,100,50);

lblTitulo.setFont(new Font("Arial", 1, 25));

lblFoto.setBorder(marco);

lblFoto.setHorizontalAlignment(JLabel.CENTER);

lblFoto.setBounds(230,130,200,200);

lblTelefono.setBounds(30,80,80,30);

txtTelefono.setBounds(110,80,100,30);

btnBuscar.setBounds(240,80,100,30);

lblNombre.setBounds(30,120,80,30);

lblApellido.setBounds(30,160,80,30);

lblCorreo.setBounds(30,200,80,30);

lblFace.setBounds(30,240,80,30);

lblTwitter.setBounds(30,280,80,30);

lblInstagram.setBounds(30,320,80,30);

txtNombre.setBounds(110,120,100,30);

txtApellido.setBounds(110,160,100,30);

txtCorreo.setBounds(110,200,100,30);

txtFacebook.setBounds(110,240,100,30);

txtTwitter.setBounds(110,280,100,30);

txtInstagram.setBounds(110,320,100,30);

btnCancelar.setBounds(75,370,100,50);

btnGrabar.setBounds(225,370,100,50);

txtNombre.setEditable(false);

txtApellido.setEditable(false);

txtCorreo.setEditable(false);
txtFacebook.setEditable(false);

txtTwitter.setEditable(false);

txtInstagram.setEditable(false);

add(lblTitulo);

add(lblNombre);

add(lblApellido);

add(lblTelefono);

add(lblCorreo);

add(lblFace);

add(lblTwitter);

add(lblInstagram);

add(txtNombre);

add(txtApellido);

add(txtTelefono);

add(txtFacebook);

add(txtCorreo);

add(txtTwitter);

add(txtInstagram);

add(btnCancelar);

add(btnGrabar);

add(lblFoto);

add(btnBuscar);

import java.awt.Color;

import java.awt.Font;

import javax.swing.BorderFactory;

import javax.swing.ImageIcon;
import javax.swing.JButton;

import javax.swing.JLabel;

import javax.swing.JPanel;

import javax.swing.JTextField;

import javax.swing.border.Border;

public class PanelCambios extends JPanel {

public JLabel lblTitulo=new JLabel("CAMBIOS");

public JLabel lblNombre=new JLabel("Nombre");

public JLabel lblApellido=new JLabel("Apellido");

public JLabel lblTelefono=new JLabel("Telefono");

public JLabel lblCorreo=new JLabel("Correo");

public JLabel lblFace=new JLabel("Facebook");

public JLabel lblTwitter=new JLabel("Twitter");

public JLabel lblInstagram=new JLabel("Instagram");

public JTextField txtNombre=new JTextField();

public JTextField txtApellido=new JTextField();

public JTextField txtTelefono=new JTextField();

public JTextField txtCorreo=new JTextField();

public JTextField txtFacebook=new JTextField();

public JTextField txtTwitter=new JTextField();

public JTextField txtInstagram=new JTextField();

public JButton btnCancelar=new JButton("Cancelar");

public JButton btnGrabar=new JButton("Grabar");

public JButton btnBuscar=new JButton("Buscar");

public JLabel lblFoto=new JLabel("Foto Aqui");

Border marco = BorderFactory.createLineBorder(Color.BLUE, 5);

public ImageIcon foto;

public PanelCambios(){
setLayout(null);

lblTitulo.setBounds(180,20,200,50);

lblTitulo.setFont(new Font("Arial", 1, 25));

lblFoto.setBorder(marco);

lblFoto.setHorizontalAlignment(JLabel.CENTER);

lblFoto.setBounds(230,130,200,200);

lblTelefono.setBounds(30,80,80,30);

txtTelefono.setBounds(110,80,100,30);

btnBuscar.setBounds(240,80,100,30);

lblNombre.setBounds(30,120,80,30);

lblApellido.setBounds(30,160,80,30);

lblCorreo.setBounds(30,200,80,30);

lblFace.setBounds(30,240,80,30);

lblTwitter.setBounds(30,280,80,30);

lblInstagram.setBounds(30,320,80,30);

txtNombre.setBounds(110,120,100,30);

txtApellido.setBounds(110,160,100,30);

txtCorreo.setBounds(110,200,100,30);

txtFacebook.setBounds(110,240,100,30);

txtTwitter.setBounds(110,280,100,30);

txtInstagram.setBounds(110,320,100,30);

btnCancelar.setBounds(75,370,100,50);

btnGrabar.setBounds(225,370,100,50);

add(lblTitulo);

add(lblNombre);

add(lblApellido);

add(lblTelefono);

add(lblCorreo);

add(lblFace);
add(lblTwitter);

add(lblInstagram);

add(txtNombre);

add(txtApellido);

add(txtTelefono);

add(txtFacebook);

add(txtCorreo);

add(txtTwitter);

add(txtInstagram);

add(btnCancelar);

add(btnGrabar);

add(lblFoto);

add(btnBuscar);

import java.awt.Font;

import javax.swing.JLabel;

import javax.swing.JPanel;

import javax.swing.JScrollPane;

import javax.swing.JTable;

import javax.swing.JTextField;

import javax.swing.table.DefaultTableModel;

public class PanelConsultas extends JPanel {

public JLabel lblTitulo = new JLabel("CONSULTAS");

public JLabel lblTelefono = new JLabel("Telefono");

public JTextField txtTelefono = new JTextField();

public JTable tabla=new JTable();


public JScrollPane jsp;

public DefaultTableModel modeloTabla;

public PanelConsultas() {

setLayout(null);

modeloTabla=new DefaultTableModel(){

public boolean isCellEditable(int fila, int columna){

return false;

};

modeloTabla.addColumn("Nombre:");

modeloTabla.addColumn("Apellido:");

modeloTabla.addColumn("Telefono:");

modeloTabla.addColumn("Correo:");

modeloTabla.addColumn("Facebook");

modeloTabla.addColumn("Twitter");

modeloTabla.addColumn("Instagram");

tabla=new JTable(modeloTabla);

jsp=new JScrollPane(tabla);

jsp.setViewportView(tabla);

lblTitulo.setBounds(160, 20, 200, 50);

lblTitulo.setFont(new Font("Arial", 1, 25));

lblTelefono.setBounds(30,80,80,30);

txtTelefono.setBounds(110,80,100,30);

jsp.setBounds(30,120,420,300);

add(lblTitulo);

add(lblTelefono);

add(txtTelefono);

add(jsp);
}

import java.awt.BorderLayout;

import java.awt.Color;

import javax.swing.BorderFactory;

import javax.swing.ImageIcon;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.border.Border;

import modelo.Modelo;

public class VentanaFoto extends JFrame{

public JLabel lblFoto=new JLabel("Foto Aqui");

Border marco = BorderFactory.createLineBorder(Color.BLUE, 5);

public ImageIcon foto;

Modelo modelo=new Modelo();

public VentanaFoto(ImageIcon foto){

setLayout(new BorderLayout() );

lblFoto.setBorder(marco);

add(lblFoto,BorderLayout.CENTER);

lblFoto.setIcon(foto);

setSize(350,350);

setVisible(true);

}
public class VentanaNuevoUsuario extends JFrame {

Modelo modelo = new Modelo();

public JLabel lblTitulo = new JLabel("Nuevo Usuario");

public JLabel lblUsuario = new JLabel("Usuario:");

public JLabel lblPassword = new JLabel("Password:");

public JLabel lblConfPassword = new JLabel("Confirmar Password:");

public JLabel lblTipo=new JLabel("Tipo de usuario");

public JTextField txtUsuario = new JTextField();

public JPasswordField txtPass = new JPasswordField();

public JPasswordField txtConfPass = new JPasswordField();

public JComboBox cmbtipo=new JComboBox();

public JButton btnCancelar = new JButton("Cancelar");

public JButton btnGrabar = new JButton("Grabar");

public VentanaNuevoUsuario() {

setTitle("Nuevo Usuario");

setLayout(null);

lblTitulo.setBounds(10, 20, 400, 50);

lblTitulo.setFont(new Font("Arial", 1, 20));

lblTitulo.setHorizontalAlignment(JLabel.CENTER);

lblUsuario.setBounds(0,80,125,30);

lblUsuario.setHorizontalAlignment(JLabel.RIGHT);

lblPassword.setBounds(0,120,125,30);

lblPassword.setHorizontalAlignment(JLabel.RIGHT);

lblConfPassword.setBounds(0,160,125,30);

lblConfPassword.setHorizontalAlignment(JLabel.RIGHT);

txtUsuario.setBounds(130,80,100,30);

txtPass.setBounds(130,120,100,30);
txtConfPass.setBounds(130,160,100,30);

btnCancelar.setBounds(250,80,100,30);

btnGrabar.setBounds(250,120,100,30);

lblTipo.setBounds(0,200,125,30);

lblTipo.setHorizontalAlignment(JLabel.RIGHT);

cmbtipo.addItem("Administrador");

cmbtipo.addItem("Limitado");

cmbtipo.setBounds(130,200,120,30);

add(lblTitulo);

add(lblUsuario);

add(lblPassword);

add(lblConfPassword);

add(txtUsuario);

add(txtPass);

add(txtConfPass);

add(btnCancelar);

add(btnGrabar);

add(cmbtipo);

add(lblTipo);

setSize(400,300);

setVisible(true);

acciones();

public void acciones(){

btnCancelar.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent arg0) {

// TODO Auto-generated method stub

txtUsuario.setText("");
txtPass.setText("");

txtConfPass.setText("");

});

btnGrabar.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent arg0) {

// TODO Auto-generated method stub

String usuario=txtUsuario.getText();

String pass=txtPass.getText();

String confir=txtConfPass.getText();

int tipo=cmbtipo.getSelectedIndex();

if(usuario.equals("")||pass.equals("")||confir.equals("")){

JOptionPane.showMessageDialog(null, "Favor de llenar todos los campos");

}else{

if(pass.equals(confir)){

modelo.nuevoUsuario(usuario,pass,tipo);

setVisible(false);

}else{

JOptionPane.showMessageDialog(null, "Las contraseñas no Coinciden");

});

import java.awt.BorderLayout;

import java.awt.CardLayout;
import java.awt.Graphics;

import java.awt.Image;

import javax.swing.ImageIcon;

import javax.swing.JFrame;

import javax.swing.JMenu;

import javax.swing.JMenuBar;

import javax.swing.JMenuItem;

import javax.swing.JPanel;

import javax.swing.JTabbedPane;

public class VentanaPrincipal extends JFrame{

public PanelLogin panelLogin;

public PanelAltas panelAltas=new PanelAltas();

public PanelBajas panelBajas=new PanelBajas();

public PanelCambios panelCambios=new PanelCambios();

public PanelConsultas panelConsultas=new PanelConsultas();

public JMenuBar barraMenu=new JMenuBar();

public JMenu mnAdministracion=new JMenu("Administracion");

public JMenu mnAgenda=new JMenu("Agenda");

public JMenu mnUsuarios=new JMenu("Agenda");

public JMenuItem mnNuevoUser=new JMenuItem("Nuevo Usuario");

public JMenuItem mnEliminarUser=new JMenuItem("Eliminar Usuario");

public JMenu mnSesion=new JMenu("Sesion");

public JMenuItem mnCerrarSesion=new JMenuItem("Cerrar Sesion");

public JMenuItem mnAltas=new JMenuItem("Altas");

public JMenuItem mnBajas=new JMenuItem("Bajas");

public JMenuItem mnCambios=new JMenuItem("Cambios");

public JMenuItem mnConsultas=new JMenuItem("Consultas");


public JTabbedPane pestanas=new JTabbedPane();

public JPanel panelCarta=new JPanel();

public CardLayout cartas=new CardLayout();

Image imagen;

public VentanaPrincipal(){

setLayout(new BorderLayout());

pestanas.insertTab("Altas",null,panelAltas,"Altas",0);

pestanas.insertTab("Bajas",null,panelBajas,"Bajas",1);

pestanas.insertTab("Cambios",null,panelCambios,"Cambios",2);

pestanas.insertTab("Consultas",null,panelConsultas,"Consultas",3);

setJMenuBar(barraMenu);

barraMenu.add(mnAdministracion);

barraMenu.add(mnAgenda);

mnUsuarios.add(mnNuevoUser);

mnUsuarios.add(mnEliminarUser);

mnSesion.add(mnCerrarSesion);

mnAdministracion.add(mnUsuarios);

mnAdministracion.add(mnSesion);

mnAgenda.add(mnAltas);

mnAgenda.add(mnBajas);

mnAgenda.add(mnCambios);

mnAgenda.add(mnConsultas);

barraMenu.setVisible(false);

mnAgenda.setEnabled(false);

mnUsuarios.setEnabled(false);

/**

* el codigo de a continuacion sirve para

* insertar una imagen de fondo,

* en este caso es el panel login


**/

panelLogin=new PanelLogin(){

public void paintComponent(Graphics g){

g.drawImage(imagen,0,0,

this.getWidth(),

this.getHeight(),null);

};

imagen=new ImageIcon("./imagenes/sepiente.jpg").getImage();

repaint();

//aqui termina el codigo para la imagen

panelCarta.setLayout(cartas);

panelCarta.add(panelLogin,"login");

panelCarta.add(pestanas,"todo");

add(panelCarta,BorderLayout.CENTER);

setSize(500,530);

setVisible(true);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

import javax.swing.table.DefaultTableModel;
public class Modelo {

ResultSet capturador;

Statement ejecutador;

Connection conector;

public String nombre;

public String apellido;

public String telefono;

public String correo;

public String facebook;

public String twitter;

public String instagram;

public String foto;

public int tipoUsuario=-1;

public Connection conexionBd(String user, String pass) {

try {

Class.forName("com.mysql.jdbc.Driver");

conector = DriverManager

.getConnection(

"jdbc:mysql://localhost/agenda?user="

+ user + "&password=" + pass + "");

} catch (ClassNotFoundException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}
return conector;

public Modelo() {

conexionBd("root", "123");

public boolean login(String usuario, String pass) {

boolean respuesta = false;

try{

ejecutador = conector.createStatement();

capturador = ejecutador

.executeQuery("select pass,tipo from usuarios where usuario='"

+ usuario + "';");

if (capturador.first()) {

if (capturador.getString(1).equals(pass)) {

respuesta = true;

tipoUsuario=capturador.getInt(2);

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

return respuesta;

public void altas(String nombre, String apellido, String telefono,

String correo, String facebook, String twitter, String instagram,

String foto) {

try {
ejecutador = conector.createStatement();

ejecutador.executeUpdate("insert into contactos values(null,'"

+ nombre + "','" + apellido + "','" + telefono + "','"

+ correo + "','" + facebook + "','" + twitter + "','"

+ instagram + "','" + foto + "')");

} catch (SQLException e) {

e.printStackTrace();

public void bajas(String telefono) {

try {

ejecutador = conector.createStatement();

ejecutador.execute("delete from contactos where telefono='"

+ telefono + "';");

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

public boolean buscar(String telefono) {

boolean respuesta = false;

try {

ejecutador = conector.createStatement();

capturador = ejecutador

.executeQuery("select *from contactos where telefono='"

+ telefono + "';");

if (capturador.first()) {

nombre = capturador.getString(capturador.findColumn("nombre"));

apellido = capturador.getString(capturador
.findColumn("apellido"));

correo = capturador.getString(capturador.findColumn("correo"));

facebook = capturador.getString(capturador

.findColumn("facebook"));

twitter = capturador

.getString(capturador.findColumn("twitter"));

instagram = capturador.getString(capturador

.findColumn("instagram"));

foto = capturador.getString(capturador.findColumn("foto"));

respuesta = true;

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

return respuesta;

public void cambios(String nombre, String apellido, String correo,String telefono,

String facebook, String twitter, String instagram, String foto, String telmodificar) {

// CORREGIR LA RUTA

try {

ejecutador = conector.createStatement();

ejecutador

.executeUpdate("update contactos set nombre='"+nombre+"', " +

"apellido='"+apellido+"', correo='"+correo+"', " +

"facebook='"+facebook+"', twitter='"+twitter+"', " +

"instagram='"+instagram+"', foto='"+foto+"' where telefono='"+telmodificar+"';");

} catch (SQLException e) {

// TODO Auto-generated catch block


e.printStackTrace();

public DefaultTableModel consultas(String tel) {

Object[] filas = new Object[7];

DefaultTableModel modeloTabla = new DefaultTableModel();

try {

ejecutador = conector.createStatement();

capturador =ejecutador

.executeQuery("select *from contactos where telefono like '"+tel+"%';");

modeloTabla.addColumn("Nombre");

modeloTabla.addColumn("Apellido");

modeloTabla.addColumn("Telefono");

modeloTabla.addColumn("Correo");

modeloTabla.addColumn("Facebook");

modeloTabla.addColumn("Twitter");

modeloTabla.addColumn("Instagram");

while (capturador.next()) {

filas[0] = capturador.getString(2);

// System.out.println(capturador.getString(2));

filas[1] = capturador.getString(3);

// System.out.println(capturador.getString(3));

filas[2] = capturador.getString(4);

// System.out.println(capturador.getString(4));

filas[3] = capturador.getString(5);

filas[4] = capturador.getString(6);

filas[5] = capturador.getString(7);

filas[6] = capturador.getString(8);

// System.out.println(capturador.getString(5));
modeloTabla.addRow(filas);

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

return modeloTabla;

public boolean buscarFoto(String telefono) {

boolean respuesta = false;

try {

ejecutador = conector.createStatement();

capturador = ejecutador

.executeQuery("select foto from contactos where telefono='"

+ telefono + "';");

if (capturador.first()) {

foto = capturador.getString(capturador.findColumn("foto"));

respuesta = true;

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

return respuesta;

public void nuevoUsuario(String usuario, String pass, int tipo){

try {

ejecutador=conector.createStatement();

ejecutador.execute("insert into usuarios values(null,'"+usuario+"','"+pass+"',"+tipo+");");


} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

public void eliminarUsuario(String usuario){

try {

ejecutador=conector.createStatement();

ejecutador.execute("delete from usuarios where usuario='"+usuario+"';");

} catch (SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

import java.util.StringTokenizer;

public class CorregirRuta {

String ruta, separador, nuevoSeparador;

public CorregirRuta(String laruta, String sep, String nuevoSep)

ruta=laruta;

separador=sep;

nuevoSeparador=nuevoSep;

public String obtenerRutaCorregidaWindows()

StringTokenizer tokens=new StringTokenizer(ruta, separador);

//Para guardar la ruta corregida

String rutaCorregida = new String();


//Contar los tokens (en este caso las carpetas, contado tambien

// el nombre del archivo seleccionado).

int noTokens = tokens.countTokens();

int i = 1;

do

{ //Agregar el nuevo separador

rutaCorregida += tokens.nextToken()+nuevoSeparador;

i++;

}while(i<noTokens);

//Agregar a la ruta corregida el ultimo token, (nombre del archivo)

rutaCorregida += tokens.nextToken();

//Mostrar la ruta corregida en la consola

// System.out.println(rutaCorregida+"\n"+noTokens+ " tokens");

return rutaCorregida;

import java.awt.Point;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.event.KeyEvent;

import java.awt.event.KeyListener;

import java.awt.event.MouseAdapter;

import java.awt.event.MouseEvent;

import java.awt.event.MouseListener;

import javax.swing.ImageIcon;

import javax.swing.JFileChooser;

import javax.swing.JOptionPane;

import javax.swing.JTable;
import modelo.CorregirRuta;

import modelo.Modelo;

import vista.VentanaFoto;

import vista.VentanaNuevoUsuario;

import vista.VentanaPrincipal;

public class Controlador {

VentanaPrincipal ventana = new VentanaPrincipal();

Modelo modelo = new Modelo();

String usuarioActivo = null;

String url;

String foto;

public void accionesBotones(){

ventana.panelLogin.btnLogin.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent arg0) {

// TODO Auto-generated method stub

String usuario = ventana.panelLogin.txtUsuario.getText();

String password = ventana.panelLogin.txtPass.getText();

if (modelo.login(usuario, password)) {

if (modelo.tipoUsuario == 0) {

ventana.cartas.show(ventana.panelCarta, "todo");

ventana.barraMenu.setVisible(true);

ventana.mnAgenda.setEnabled(true);

ventana.mnUsuarios.setEnabled(true);

ventana.pestanas.setEnabledAt(0,true);

ventana.pestanas.setEnabledAt(1,true);

ventana.pestanas.setEnabledAt(2,true);
usuarioActivo=usuario;

} else {

ventana.barraMenu.setVisible(true);

ventana.pestanas.setEnabledAt(0,false);

ventana.pestanas.setEnabledAt(1,false);

ventana.pestanas.setEnabledAt(2,false);

ventana.pestanas.setSelectedIndex(3);

ventana.cartas.show(ventana.panelCarta, "todo");

usuarioActivo=usuario;

} else {

JOptionPane.showMessageDialog(null, "Acceso Denegado",

null, JOptionPane.ERROR_MESSAGE);

ventana.panelLogin.txtUsuario.setText("");

ventana.panelLogin.txtPass.setText("");

});

ventana.panelAltas.btnGrabar.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent arg0) {

String nombre = ventana.panelAltas.txtNombre.getText();

String apellido = ventana.panelAltas.txtApellido.getText();

String telefono = ventana.panelAltas.txtTelefono.getText();

String correo = ventana.panelAltas.txtCorreo.getText();

String facebook = ventana.panelAltas.txtFacebook.getText();

String twitter = ventana.panelAltas.txtTwitter.getText();

String instagram = ventana.panelAltas.txtInstagram.getText();

modelo.altas(nombre, apellido, telefono, correo, facebook,


twitter, instagram, url);

ventana.panelAltas.txtNombre.setText("");

ventana.panelAltas.txtApellido.setText("");

ventana.panelAltas.txtTelefono.setText("");

ventana.panelAltas.txtCorreo.setText("");

ventana.panelAltas.txtFacebook.setText("");

ventana.panelAltas.txtTwitter.setText("");

ventana.panelAltas.txtInstagram.setText("");

ventana.panelAltas.lblFoto.setIcon(null);

});

ventana.panelAltas.btnCancelar.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent arg0) {

// TODO Auto-generated method stub

ventana.panelAltas.txtNombre.setText("");

ventana.panelAltas.txtApellido.setText("");

ventana.panelAltas.txtTelefono.setText("");

ventana.panelAltas.txtCorreo.setText("");

ventana.panelAltas.txtFacebook.setText("");

ventana.panelAltas.txtTwitter.setText("");

ventana.panelAltas.txtInstagram.setText("");

ventana.panelAltas.lblFoto.setIcon(null);

});

ventana.panelAltas.lblFoto.addMouseListener(new MouseListener() {
@Override

public void mouseReleased(MouseEvent arg0) {

// TODO Auto-generated method stub

@Override

public void mousePressed(MouseEvent arg0) {

JFileChooser eleccion = new JFileChooser();

int opc;

opc = eleccion.showOpenDialog(null);

if (opc == eleccion.APPROVE_OPTION) {

url = eleccion.getSelectedFile().toString();

ventana.panelAltas.foto = new ImageIcon(url);

ventana.panelAltas.lblFoto.setText("");

ventana.panelAltas.lblFoto.setIcon(ventana.panelAltas.foto);

CorregirRuta ruta1 = new CorregirRuta(url, "\\", "\\\\");

foto = ruta1.obtenerRutaCorregidaWindows();

@Override

public void mouseExited(MouseEvent arg0) {

// TODO Auto-generated method stub

}
@Override

public void mouseEntered(MouseEvent arg0) {

// TODO Auto-generated method stub

@Override

public void mouseClicked(MouseEvent arg0) {

// TODO Auto-generated method stub

});

ventana.panelBajas.btnBuscar.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent arg0) {

// TODO Auto-generated method stub

String telefono = ventana.panelBajas.txtTelefono.getText();

if (modelo.buscar(telefono)) {

ventana.panelBajas.txtNombre.setText(modelo.nombre);

ventana.panelBajas.txtApellido.setText(modelo.apellido);

ventana.panelBajas.txtCorreo.setText(modelo.correo);

ventana.panelBajas.txtFacebook.setText(modelo.facebook);

ventana.panelBajas.txtTwitter.setText(modelo.twitter);

ventana.panelBajas.txtInstagram.setText(modelo.instagram);

foto = modelo.foto;

ventana.panelBajas.foto = new ImageIcon(foto);

ventana.panelBajas.lblFoto.setIcon(ventana.panelBajas.foto);
ventana.panelBajas.btnGrabar.setEnabled(true);

} else {

JOptionPane.showMessageDialog(null,

"Telefono no Localizado");

ventana.panelBajas.txtTelefono.setText("");

});

ventana.panelBajas.btnGrabar.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent arg0) {

String telefono = ventana.panelBajas.txtTelefono.getText();

modelo.bajas(telefono);

ventana.panelBajas.txtNombre.setText("");

ventana.panelBajas.txtApellido.setText("");

ventana.panelBajas.txtCorreo.setText("");

ventana.panelBajas.txtFacebook.setText("");

ventana.panelBajas.txtTwitter.setText("");

ventana.panelBajas.txtInstagram.setText("");

ventana.panelBajas.lblFoto.setIcon(null);

ventana.panelBajas.txtTelefono.setText("");

ventana.panelBajas.btnGrabar.setEnabled(false);

});

ventana.panelBajas.btnCancelar.addActionListener(new ActionListener() {
@Override

public void actionPerformed(ActionEvent arg0) {

ventana.panelBajas.txtNombre.setText("");

ventana.panelBajas.txtApellido.setText("");

ventana.panelBajas.txtCorreo.setText("");

ventana.panelBajas.txtFacebook.setText("");

ventana.panelBajas.txtTwitter.setText("");

ventana.panelBajas.txtInstagram.setText("");

ventana.panelBajas.lblFoto.setIcon(null);

ventana.panelBajas.txtTelefono.setText("");

ventana.panelBajas.btnGrabar.setEnabled(false);

});

ventana.panelCambios.btnBuscar.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent arg0) {

// TODO Auto-generated method stub

String telefono = ventana.panelCambios.txtTelefono.getText();

if (modelo.buscar(telefono)) {

ventana.panelCambios.txtNombre.setText(modelo.nombre);

ventana.panelCambios.txtApellido.setText(modelo.apellido);

ventana.panelCambios.txtCorreo.setText(modelo.correo);

ventana.panelCambios.txtFacebook.setText(modelo.facebook);

ventana.panelCambios.txtTwitter.setText(modelo.twitter);

ventana.panelCambios.txtInstagram.setText(modelo.instagram);

foto = modelo.foto;

ventana.panelCambios.foto = new ImageIcon(foto);

ventana.panelCambios.lblFoto
.setIcon(ventana.panelCambios.foto);

ventana.panelCambios.btnGrabar.setEnabled(true);

ventana.panelCambios.txtTelefono.setEditable(false);

} else {

JOptionPane.showMessageDialog(null,

"Telefono no Localizado");

ventana.panelCambios.txtTelefono.setText("");

});

ventana.panelCambios.btnCancelar

.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent arg0) {

ventana.panelCambios.txtNombre.setText("");

ventana.panelCambios.txtApellido.setText("");

ventana.panelCambios.txtCorreo.setText("");

ventana.panelCambios.txtFacebook.setText("");

ventana.panelCambios.txtTwitter.setText("");

ventana.panelCambios.txtInstagram.setText("");

ventana.panelCambios.lblFoto.setIcon(null);

ventana.panelCambios.txtTelefono.setText("");

ventana.panelCambios.btnGrabar.setEnabled(false);

ventana.panelCambios.txtTelefono.setEditable(true);

});
ventana.panelCambios.btnGrabar.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent arg0) {

String telefono = ventana.panelCambios.txtTelefono.getText();

String nombre = ventana.panelCambios.txtNombre.getText();

String apellido = ventana.panelCambios.txtApellido.getText();

String correo = ventana.panelCambios.txtCorreo.getText();

String facebook = ventana.panelCambios.txtFacebook.getText();

String twitter = ventana.panelCambios.txtTwitter.getText();

String instagram = ventana.panelCambios.txtInstagram.getText();

modelo.cambios(nombre, apellido, correo, telefono, facebook,

twitter, instagram, foto,telefono);

ventana.panelCambios.txtNombre.setText("");

ventana.panelCambios.txtApellido.setText("");

ventana.panelCambios.txtCorreo.setText("");

ventana.panelCambios.txtFacebook.setText("");

ventana.panelCambios.txtTwitter.setText("");

ventana.panelCambios.txtInstagram.setText("");

ventana.panelCambios.lblFoto.setIcon(null);

ventana.panelCambios.txtTelefono.setText("");

ventana.panelCambios.btnGrabar.setEnabled(false);

ventana.panelCambios.txtTelefono.setEditable(true);

ventana.panelCambios.lblFoto.setIcon(null);

});
ventana.panelCambios.lblFoto.addMouseListener(new MouseListener() {

@Override

public void mouseReleased(MouseEvent arg0) {

// TODO Auto-generated method stub

@Override

public void mousePressed(MouseEvent arg0) {

JFileChooser eleccion = new JFileChooser();

int opc;

opc = eleccion.showOpenDialog(null);

if (opc == eleccion.APPROVE_OPTION) {

url = eleccion.getSelectedFile().toString();

ventana.panelCambios.foto = new ImageIcon(url);

ventana.panelCambios.lblFoto.setText("");

ventana.panelCambios.lblFoto

.setIcon(ventana.panelCambios.foto);

CorregirRuta ruta1 = new CorregirRuta(url, "\\", "\\\\");

foto = ruta1.obtenerRutaCorregidaWindows();

@Override
public void mouseExited(MouseEvent arg0) {

// TODO Auto-generated method stub

@Override

public void mouseEntered(MouseEvent arg0) {

// TODO Auto-generated method stub

@Override

public void mouseClicked(MouseEvent arg0) {

// TODO Auto-generated method stub

});

ventana.panelConsultas.txtTelefono.addKeyListener(new KeyListener() {

@Override

public void keyTyped(KeyEvent arg0) {

// TODO Auto-generated method stub

@Override

public void keyReleased(KeyEvent arg0) {

// TODO Auto-generated method stub

String telefono = ventana.panelConsultas.txtTelefono.getText();


ventana.panelConsultas.tabla.setModel(modelo

.consultas(telefono));

@Override

public void keyPressed(KeyEvent arg0) {

// TODO Auto-generated method stub

});

ventana.panelConsultas.tabla.addMouseListener(new MouseAdapter() {

public void mousePressed(MouseEvent Mouse_evt) {

JTable table = (JTable) Mouse_evt.getSource();

Point point = Mouse_evt.getPoint();

int row = table.rowAtPoint(point);

if (Mouse_evt.getClickCount() == 2) {

String telefono = ventana.panelConsultas.tabla.getValueAt(

ventana.panelConsultas.tabla.getSelectedRow(), 2)

.toString();

if (modelo.buscarFoto(telefono)) {

foto = modelo.foto;

ImageIcon imgfoto = new ImageIcon(foto);

new VentanaFoto(imgfoto);

}
});

ventana.mnNuevoUser.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent arg0) {

new VentanaNuevoUsuario();

});

ventana.mnEliminarUser.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent arg0) {

String usuario=JOptionPane.showInputDialog("Ingresa el Usuario a Eliminar");

if(usuario.equals(usuarioActivo)){

JOptionPane.showMessageDialog(null, "Este usuario no se Puede Eliminar \npor que esta Activo");

}else{

int opcion=JOptionPane.showConfirmDialog(null, "Deseas Eliminar a este Usuario?");

if(opcion==0){

modelo.eliminarUsuario(usuario);

usuarioActivo="";

JOptionPane.showMessageDialog(null, "!!Usuario Eliminado!!");

});

ventana.mnCerrarSesion.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent arg0) {

ventana.cartas.show(ventana.panelCarta, "login");

ventana.barraMenu.setVisible(false);
ventana.mnAgenda.setEnabled(false);

ventana.mnUsuarios.setEnabled(false);

usuarioActivo="";

});

ventana.mnAltas.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent arg0) {

// TODO Auto-generated method stub

ventana.pestanas.setSelectedIndex(0);

});

ventana.mnBajas.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent arg0) {

// TODO Auto-generated method stub

ventana.pestanas.setSelectedIndex(1);

});

ventana.mnCambios.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent arg0) {

// TODO Auto-generated method stub

ventana.pestanas.setSelectedIndex(2);

});
ventana.mnConsultas.addActionListener(new ActionListener() {

@Override

public void actionPerformed(ActionEvent arg0) {

// TODO Auto-generated method stub

ventana.pestanas.setSelectedIndex(3);

});

package controlador;

public class Auxiliar {

public static void main(String[] args) {

Controlador objeto=new Controlador();

objeto.accionesBotones();

8.Plantear una clase para administrar una lista genérica doblemente encadenada

Public class NodoDoblre{

public int dato;

NodoDoble siguiente, anterior;

//constructor para cuando ya hay nodos

public NodoDoble (int el, NodoDoble s, NodoDoble a){

dato=el;

siguiente=s;
anterior=a;

//constructor para cuando aun no hay nodos

public NodoDoble(int el){

this(el,null,null);

//constructor para cuando ya hay nodos

public NodoDoble(int el, NodoDoble s, NodoDoble a){

dato=el;

siguiente=s;

anterior=a;

Public class ListaDoble{

private NodoDoble inicio,fin;

public ListaDoble(){

inicio=fin=null;

//metodo para saber cuando la lista esta vacia

public boolean estVacia(){

return inicio==null

//Metodo para agregar nodos al final

public void agregarAlFinal(int el){

if(!estVacia()){

fin=new NodoDoble(el, null, fin);

fin.anterior.siguiente=fin;

}else{

inicio=fin=new NodoDoble(el);
}

//Metodo para agregar al Inicio

public void agregarAlInicio(int el){

if(!estVacia()){

inicio=new NodoDoble(el, inicio, null);

inicio.anterior.siguiente=inicio;

}else{

inicio=fin=new NodoDoble(el);

//Metodo para mostrar la lista de Inicio a Fin

public void mostrarListaInicioFin(){

if(!estVacia()){

String datos="<=>";

NodoDoble auxiliar=inicio;

while(auxiliar!=null){

datos=datos + "["+auxiliar.dato+"]<=>";

auxiliar=auxiliar.siguiente;

JOptionPane.showMessageDiaLog(null, datos,

"Mostrando lista de inicio a fin", JOptionPane.INFORMATION_MESSAGE);

//Metodo para mostrar la lista de fin a inicio

public void mostrarListaFinInicio(){

if(!estVacia()){

String datos="<=>";
NodoDoble auxiliar=fin;

while(auxiliar!=null){

datos=datos + "["+auxiliar.dato+"]<=>";

auxiliar=auxiliar.anterior;

JOptionPane.showMessageDiaLog(null, datos,

"Mostrando lista de inicio a fin", JOptionPane.INFORMATION_MESSAGE);

Public class ListaDobleEnla {

public static void main (String[] args) {

ListaDoble listita=new ListaDoble();

int opcion=0,elemento;

do{

try{

opcion=Integer.parseInt(JOptionPane.showInputDiaLog(null,

"1.Agregar un Nodo al inicio\n"

+"2.Agregar un Nodo al Final\n"

+"3.Mostrar la Lista de Inicio a Fin\n"

+"4.Mostrar la lista de Fin a Inicio\n"

+"5.Salis\n"

+"Que deseas Hacer?", "Menu de Opciones",

JOptionPane.INFORMATION_MESSAGE));

switch(opcion) {

case 1:
elemento=Integer.parseInt(JOptionPane.showInputDiaLog(null,

"Ingresa el elemento del Nodo","Agregando Nodo al Inicio",

JOptionPane.INFORMATION_MESSAGE));

listita.agregarAlInicio(elemento);

break;

case 2:

elemento=Integer.parseInt(JOptionPane.showInputDiaLog(null,

"Ingresa el elemento del Nodo","Agregando Nodo al Final",

JOptionPane.INFORMATION_MESSAGE));

listita.agregarAlFinal(elemento);

break;

case 3:

if(!listita.estVacia()){

listita.mostrarListaInicioFin();

}else{

JOptionPane.showInputDiaLog(null,

"No hay Nodos Aun","Lista Vacia",

JOptionPane.INFORMATION_MESSAGE);

break;

case 4:
if(!listita.estVacia()){

listita.mostrarListaFinInicio();

}else{

JOptionPane.showInputDiaLog(null,

"No hay Nodos Aun","Lista Vacia",

JOptionPane.INFORMATION_MESSAGE);

break;

case 5:

JOptionPane.showMessageDiaLog(null, "Aplicación Finalizada",

"Fin",JOptionPane.INFORMATION_MESSAGE);

break;

default:

JOptionPane.showMessageDiaLog(null, "La Opcion no esta en el menu",

"Incorrecto", JOptionPane.INFORMATION_MESSAGE);

}catch(NumberFormatException n){

JOptionPane.showMessageDiaLog(null, "Error" + n);

}while(opcion!=5);

9. Realice un programa JAVA que permita convertir una notación matemática de Infija a Postfija
usando la lógica de la estructura de dato LIFO (Pilas)

Class conversion
Import java.util.Scanner;

public class Ejercicio"" (

public static void main (String [] args) {

String operadores= "+-/!*";

String Posfija=new String ();

Pila Mipila=new pila (1000);

Scanner sc=new Scanner (System.in);

System.out.println("Ingrese la expresion infija que desee convertir en posfija");

String notacion=sc.nextLine ();

Conversion expresion=new Conversion(notacion);

Mipila.entraElemento ("(");

expresion.entrarCaracterFinal (")"):

for (int i-0; i<expresion.Caracteres (); i++) (

String cadena=expresion.retornar();

if(cadena.equals ("(") (

Mipila.entrarElemento (cadena);

)else if(operadores.indexOf (cadena) <0 && (cadena.endawith(")")) {

Posfija=Posfija.concat(cadena);
}

if(operadores.indexOf(cadena)>=0){

if(cadena.equals("!"){

else{

String Aux=Mipila.Vercina();

int precendeciaQ=operadores.indexOf(cadena);

int precedenciaF=operadores.indezOf(Aux);

While (precedenciaP>=precedenciaQ && (Aux.equals("(") (

Posfija=Posfija.concat (Mipila.sacarElementos[]);

Aux=Mipila.Vercina();

precedenciaF=operadores.indexOf(Aux);

Mipila.entraElemento (cadena);

if(cadena.equals(")")){

String Aux=Mipila.Vercina();

while (Aux.equals("(")) {

Posfija=Posfija.concat (Mipila.sacarElemento[]);

Aux=Mipila.Vercina();

Mipila.sacarElemento();
System.out.println("La expresion posfija es:" + Posfija);

Class Pila

Public Class Pila{

String [] PilaV;

int elementos;

int cima;

public Pila (int cantidad){

elementos=cantidad;

PilaV=new String (elementos);

cima=1;

public boolean pilallena[]{

if(cocina==elementos-1){

return (true);

return(false);

public boolean pilaVacia(){


if(cima==1){

return (true);

return(false);

public void entraElemento (String elem){

if ( pilallena[]) {

cima++;

PilaV[cima]=elem;

elementos++;

public String Vercina []{

return (pilaVacia [cima]);

public String sacarElementos (){

String aux="";

if (pilaVacia[]){

aux=PilaV[cima];

cima--;

elementos--;

return (aux);

Class conversión {

String Qexpresion;

int indice;
public Conversion (String expre) {

this.indice=0;

Qexpresion=new String();

Qexpresion=expre;

public String retornar []{

String Aux=Qexpresion.substring(indice.indice+1);

indice++;

return (Aux);

public void entrarCaracterFinal (String car) {

Qexpresion=Qexpresion.concat (car);

public int Caracteres (){

returno Qexpresion.length();

10. Elaborar una clase que permita insertar un entero en un árbol binario ordenado verificando
que no se encuentre previamente dicho numero

Package arbolnario;

Public class nodoarbol {

String nombre;
nodoarbol hizquierdo, hderecho;

public nodoarbol (String nom){

this.nombre=nom;

this.hizquierdo=null;

this.hderecho=null;

Public String toString(){

return "\n El nombre del nodo es: " +nombre;

Package arbolnariot;

Public class arbolbin {

nodoarbol raiz;

public arbolbin (){

raiz =null;

public booleam arbvacio(){

return raiz == null;

public void agregaNodo(String nom){

nodoarbol nuevo = new nodoarbol(nom);

if(raiz == null) {
raiz=nuevo;

}else{

nodoarbol auxiliar = raiz;

nodoarbol padre;

while(true){

padre=auxiliar;

if(nom.compareTo(auxiliar.nombre)<=o){

auxiliar = auxiliar.hizquierdo;

if(auxiliar == null){

padre.hizquierdo = nuevo;

return;

}else{

auxiliar=auxiliar.hderecho;

if(auxiliar == null) {

padre.hderecho = nuevo;

return;

Public void inOrden(nodoarbol r){

if (r!=null){

inOrden(r.hizquierdo);

system.out.println(r.nombre + ", ");

inOrden(r.hderecho);
}

Package arbolnariotex {

public static void main (String [] args){

int opcion = 0;

String nombre;

arbolnario arbcreado = new arlnario();

do{

try{

opcion= Integer.parseInt(JOptionPane.showInputDialog (null,

"1. Agregar nodo\n"

+ "2. Recorrer el arbol INORDEN\n"

+ "3. Salir\n"

+"Elige una opcion…: ", " Arbol binario de texto"

,JOptionPane.QUESTION_MESSAGE));

switch (option){

case 1:

nombre=JOptionPane.showInputDialog (null, "ingresa el nombre del


nodo…","Agregando nodo"

,JOptionPane.QUESTION_MESSAGE);

arbcreado.agregaNodo(nombre);

break;

case 2:

if(!arbcreado.arbvacio()){

System.out.println();

arbcreado.inOrden(arbcreado.raiz);

}else{
JOptionPane.showMessageDiaLog(null,"el arbol esta
vacio","¡Cuidado!"

,JOptionPane.INFORMATION_MESSAGE);

breake;

case 3:

JOptionPane.showMessageDialog(null,"Aplicación finalizada","Fin"

,JOptionPane.INFORMATION_MESSAGE);

breake;

default;

JoptionPane.showMessageDiaLog(null, "Opcion
incorrecta","¡Cuidado!"

,JOptionPane.INFORMATION_MESSAGE);

breake;

}catch(NumbreFormatException n){

if("null".equals(n.getMessage())){

break;

}else{

JOptionPane.showMessageDiaLog(null, "Error" + n.getMessage());

}while(opcion!= 3);

También podría gustarte