Utilizando el método de búsqueda binaria, crear un programa que nos permita ingresar N cantidad de alumnos, buscarlos por nombre y que nos muestre la posición en la que se encuentra cada uno de ellos (0, 1, 2, 3).
Captura de muestra:
Clase Principal BusquedaBinaria:
package busquedabinaria;
//@author Oliver
//http://blog2000.blogspot.mx/
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
public class BusquedaBinaria extends JFrame implements ActionListener{
JLabel etiqueta1, metodos;
JTextField numero;
JButton boton0, boton1, boton2, salir;
int limite;
public BusquedaBinaria(){
// Titulo de pestaña de ventana
super("Búsqueda Binaria");
Container contenedor=getContentPane();
contenedor.setLayout(new FlowLayout());
inicializar();
// Titulo principal
etiqueta1=new JLabel("BÚSQUEDA BINARIA");
etiqueta1.setBackground(Color.BLACK); // Color de fondo
etiqueta1.setForeground(Color.BLACK); // Color de texto
etiqueta1.setFont(new Font("Consolas", 0, 23)); // Tipo y tamaño de letra
contenedor.add(etiqueta1);
numero=new JTextField(15);
contenedor.add(numero);
// Boton para ingresar cadenas
boton0=new JButton("Ingresa Nombre del Alumno");
boton0.addActionListener(this);
boton0.setBackground(Color.WHITE); // Color de fondo
boton0.setForeground(Color.BLUE); // Color de texto
boton0.setFont(new Font("Consolas", 0, 20)); // Tipo y tamaño de letra
contenedor.add(boton0);
// Subtitulo Metodo
metodos=new JLabel("MÉTODO n");
metodos.setBackground(Color.BLACK); // Color de fondo
metodos.setForeground(Color.BLACK); // Color de texto
metodos.setFont(new Font("Consolas", 0, 20)); // Tipo y tamaño de letra
contenedor.add(metodos);
// Boton Metodo Busqueda Binaria
boton2= new JButton("Método Búsqueda Binaria");
boton2.setBackground(Color.BLUE); // Color de fondo
boton2.setForeground(Color.WHITE); // Color de texto
boton2.setFont(new Font("Consolas", 0, 20)); // Tipo y tamaño de letra
contenedor.add(boton2);
boton2.addActionListener(this);
// JButton que agrega un boton Salir
salir=new JButton("Salir");
salir.setBackground(Color.WHITE);
salir.setForeground(Color.BLUE);
salir.setFont(new Font("Consolas", 0, 20)); // Tipo y tamaño de letra
contenedor.add(salir);
salir.addActionListener(this);
}
// Main Principal
public static void main(String[] args) {
BusquedaBinaria aplicacion= new BusquedaBinaria();
// Tamaño de ventana
aplicacion.setSize(300,300);
// Visible
aplicacion.setVisible(true);
// Centrada
aplicacion.setLocationRelativeTo(null);
// Cierre
aplicacion.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
// Cantidad de valores a ordenar
String a[];
int i=0;
String salida="<html><p style="color: #000000; font-family: consolas; font-size: 15px;">Orden Original: n";
// Metodo para ingresar valores
public void actionPerformed(ActionEvent evento){
if (evento.getSource()==boton0){
a[i]=numero.getText();
salida+=" "+ a[i];
i++;
numero.setText("");
if(i==a.length){
JOptionPane.showMessageDialog(null,"<html><p style="color: #000000; font-family: consolas; font-size: 15px;">Fin de Ingreso");
}
}
// Accion para salir
if(evento.getSource().equals(salir)) {
System.exit(0);
}
if(evento.getSource()==boton2){
String dato;
dato = JOptionPane.showInputDialog(null,"<html><p style="color: #000000; font-family: consolas; font-size: 15px;">¿Que alumno quieres buscar?");
Binaria(a, dato);
}
}
public void inicializar(){
String texto = JOptionPane.showInputDialog("<html><p style="color: #000000; font-family: consolas; font-size: 15px;">¿Cuantos alumnos deseas ingresar?");
limite = Integer.parseInt(texto);
a = new String [limite];
}
// Metodo Busqueda Binaria
public void Binaria(String A[], String X) {
int izq, der, cen = 0;
boolean band=false;
izq=0; der=A.length-1;
while((izq<=der) && (band==false)) {
cen=((izq+der)/2);
if((int)X.charAt(0) == (int)A[cen].charAt(0)){
band=true;
} else {
if((int)X.charAt(0)<=(int)A[cen].charAt(0)){
izq=cen+1;
} else
der=cen-1;
}
}
if(band==true){
JOptionPane.showMessageDialog(null,"<html><p style="color: #000000; font-family: consolas; font-size: 15px;">El alumno se encuentra en la posicion:"+cen);
} else{
JOptionPane.showMessageDialog(null,"<html><p style="color: #000000; font-family: consolas; font-size: 15px;">El alumno no se encuentra...");
}
}
// Metodo para mostrar valores
public void muestra(String a2[]){
for (int i=0;i<a2.length;i++){
salida+=a2[i]+" ";
}
JOptionPane.showMessageDialog(null,salida);
}
}
Acerca de mi

Buscar en el blog
Lista de categorias
- CSS (14)
- Entretenimiento (4)
- HTML (18)
- Iconos (13)
- Inspiración (13)
- JAVA Interfaz (6)
- jQuery (3)
- Lo que NO encontré en Internet (1)
- Programas en C (69)
- Recursos Online (13)
- Trucos (6)
- Widgets (2)








INFORMACIÓN/TESTIMONIO SOBRE CÓMO OBTUVE UN PRÉSTAMO QUE CAMBIÓ MI VIDA GRACIAS A "loan credit institution"... (loancreditinstitutions00@gmail.com O +393512114999).
Soy Almohannadi, residente en 2270 Paul Wayne Haggerty Road, New Orleans, LA 70114. Quiero compartir este gran testimonio sobre cómo obtuve mi préstamo de "loan credit institution"... Mi familia fue desalojada de nuestro hogar porque ya no podía pagar las facturas. Esto sucedió después de haber sido estafado por varias empresas en línea y de que tanto mi banco como las cooperativas de crédito que visité me negaran un préstamo. Mis hijos fueron llevados a un centro de acogida y yo me quedé completamente solo en la calle. Hasta que un día, sintiendo mucha vergüenza, me encontré con un antiguo compañero de escuela que me presentó a esta compañía de préstamos temerosa de Dios ("loan credit institution"). Al principio le dije que no estaba dispuesto a correr el riesgo de solicitar otro préstamo en línea, pero él me aseguró que recibiría el préstamo de ellos. Pensándolo mejor, y debido a mi situación de falta de vivienda, decidí intentarlo y solicité el préstamo; llené el formulario de solicitud y cumplí con todos los requisitos. Afortunadamente, y gracias a Dios, me concedieron un préstamo de 85.000,00 dólares a través de esta empresa, y me alegra haber corrido el riesgo y haberlo solicitado. Mis hijos han vuelto conmigo y ahora tengo mi propia casa y mi propio negocio. Toda mi gratitud es para "loan credit institution", una compañía de préstamos enviada por Dios que dio sentido a mi vida cuando había perdido toda esperanza; por eso me prometí a mí mismo seguir contando en Internet cómo obtuve este afortunado préstamo que cambió mi vida. Por lo tanto, recomiendo encarecidamente "loan credit institution" a cualquier persona que necesite un préstamo. Puede ponerse en contacto con esta excelente empresa por correo electrónico en loancreditinstitutions00@gmail.com o llamando o enviando un mensaje por WhatsApp a los números +393512114999 o +393509313766.