viernes, 4 de noviembre de 2016

Metodo de ordenamiento Insertion sort

Insertion sort





public class InsertionSortExample {

static int step = 1;

    public static void main(String[] args) {
       
        int[] input = { 7, 21, 91, 43, 23, 17, 34, 9, 1 };
        insertionSort(input);
    }
   
    private static void printNumbers(int[] input) {
       
    System.out.println("Step "+step);
    System.out.println("-----------------------------");
    step++;
 
        for (int i = 0; i < input.length; i++) {
     
            System.out.print(input[i] + ", ");
         
        }
     
        System.out.println("\n");
    }

    public static void insertionSort(int array[]) {
 
        int n = array.length;
     
        for (int j = 1; j < n; j++) {
     
            int key = array[j];
            int i = j-1;
         
            while ( (i > -1) && ( array [i] > key ) ) {
         
                array [i+1] = array [i];
                i--;
             
            }
         
            array[i+1] = key;
            printNumbers(array);
        }
    }
}


--------------------Configuration: <Default>--------------------
Step 1
-----------------------------
7, 21, 91, 43, 23, 17, 34, 9, 1,

Step 2
-----------------------------
7, 21, 91, 43, 23, 17, 34, 9, 1,

Step 3
-----------------------------
7, 21, 43, 91, 23, 17, 34, 9, 1,

Step 4
-----------------------------
7, 21, 23, 43, 91, 17, 34, 9, 1,

Step 5
-----------------------------
7, 17, 21, 23, 43, 91, 34, 9, 1,

Step 6
-----------------------------
7, 17, 21, 23, 34, 43, 91, 9, 1,

Step 7
-----------------------------
7, 9, 17, 21, 23, 34, 43, 91, 1,

Step 8
-----------------------------
1, 7, 9, 17, 21, 23, 34, 43, 91,


Process completed.

martes, 1 de noviembre de 2016

Método de ordenamiento por intercambio (Exchange sort)

Exchange sort


Si alguien te hace volar, asegúrate de caer de pie cuando te suelte… ¡porque te soltará!








import java.util.*;
public class ExchangeSort
{
    public static void main(String[] args)
    {
        int[] array;
        int i, j, temp, size;

        Scanner sc = new Scanner(System.in);

        System.out.println("Enter the size of array");//Introduzca el tamaño de la matriz
        size = sc.nextInt();
        array = new int[size];

        System.out.println("Enter the elements of array : "); //Introduzca los elementos de la matriz
        for (i = 0; i < size; i++)
        {

            array[i] = sc.nextInt();
        }

        //Exchange sort , ordenacion de intercambio
        for (i = 0; i < (size - 1); i++)
        {
            for (j = (i + 1); j < size; j++)
            {
                if (array[i] > array[j])
                {
                    temp = array[i];
                    array[i] = array[j];
                    array[j] = temp;
                }
            }
        }

        System.out.println("Sorted Array is : "); //el vector ordenado es
        for (i = 0; i < size; i++)
        {
            System.out.print(array[i] + " ");
        }
    }
}

--------------------Configuration: <Default>--------------------
Enter the size of array
3
Enter the elements of array : 
2
5
7
Sorted Array is : 
2 5 7 
Process completed.

lunes, 31 de octubre de 2016

Enumeration sort

EnumerationSort
El éxito de la vida no está en vencer siempre, sino en no darse por vencido nunca. 





import java.util.*;

public class EnumerationSort {

    public static void main(String[] args) {

        //// Crea datos aleatorios para ordenar la fuente. Utilizará java.util.Vector
         // Para almacenar el número entero aleatorio generado.
        // Creates random data for sorting source. Will use java.util.Vector
        // to store the random integer generated.
        //

        Random random = new Random();
        Vector<Integer> data = new Vector<Integer>();

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

            data.add(Math.abs(random.nextInt()));

        }

        //Obtener la enumeración del objeto vectorial y convertirlo en
         // Un java.util.List. Por último, ordenar la lista utilizando Collections.sort()
        // Get the enumeration from the vector object and convert it into
        // a java.util.List. Finally we sort the list using
        // Collections.sort() method.
        //

        Enumeration enumeration = data.elements();
        List<Integer> list = Collections.list(enumeration);
        Collections.sort(list);

        //
        // Prints out all generated number after sorted.
        //

        for (Integer number : list) {

            System.out.println("number = " + number);

        }
    }
}
--------------------Configuration: <Default>--------------------
number = 36553190
number = 469661102
number = 488613848
number = 646902854
number = 732394063
number = 814608861
number = 880474004
number = 916061347
number = 1062354281
number = 1082061349

Process completed.

The success of life is not always win, but not give up ever.

viernes, 28 de octubre de 2016

Método de ordenamiento de burbuja (bubble sort)






BUBBLE SHORT 

THE BEST WAY TO LEARN IS THE PRACTICE (LA MEJOR FORMA DE APRENDER ES LA PRACTICA)

import java.util.Scanner;

class BubbleSort {

  public static void main(String []args) {

    int n, c, d, swap; //swap para intercambiar
    Scanner in = new Scanner(System.in);

    System.out.println("Input number of integers to sort");//introducir numeros enteros a  ordenar
    n = in.nextInt();

    int array[] = new int[n];

    System.out.println("Enter " + n + " integers");

    for (c = 0; c < n; c++)
      array[c] = in.nextInt();

    for (c = 0; c < ( n - 1 ); c++) {
      for (d = 0; d < n - c - 1; d++) {
        if (array[d] > array[d+1]) /* For descending order use < */
        {
          swap       = array[d];
          array[d]   = array[d+1];
          array[d+1] = swap;
        }
      }
    }

    System.out.println("Sorted list of numbers");// lista ordenada de numeros

    for (c = 0; c < n; c++)
      System.out.println(array[c]);
  }
}

--------------------Configuration: <Default>--------------------
Input number of integers to sort
10
Enter 10 integers
13
24
34
56
77
55
654
67
45
87
Sorted list of numbers
13
24
34
45
55
56
67
77
87
654

Process completed.

miércoles, 29 de junio de 2016

Como crear un JDialog en java usando jcreator


Para crear un cuadro de dialogo en java como el siguiente necesitamos hacer 2 archivos java uno llamado VentanaDialogoError.java  y otro llamado ejem.java este sera la clase principal con el método Main (Principal) bueno a continuación les dejo los códigos del ejemplo, pueden cambiar el texto del mensaje y poner lo que gusten. 







import java.awt.*;
import java.awt.event.*;
import javax.swing.*;

public class VentanaDialogoError implements ActionListener{

    private JDialog dialogo;
    private JButton boton;

    public  void creaDialogoError(String titulo, String contenido){

        dialogo = new JDialog();
        dialogo.setTitle(titulo);
        dialogo.setModal(true);

        JPanel panel = new JPanel();
        panel.setLayout(new GridLayout(2,1,3,3));
        panel.setBorder(BorderFactory.createEmptyBorder(20, 20, 20, 20));

        JLabel texto = new JLabel(contenido);
        panel.add(texto);

        boton = new JButton("Aceptar");
        boton.addActionListener(this);
        panel.add(boton);

        dialogo.setContentPane(panel);
        dialogo.pack();
        dialogo.setResizable(false);
        dialogo.setLocationRelativeTo(null);
        dialogo.setVisible(true);
    }

    public void actionPerformed(ActionEvent e){

        if(e.getActionCommand().equals("Aceptar")){
            dialogo.dispose();
        }

    }
}

public class ejem {      
   
   public static void main (String [] args) {
    VentanaDialogoError vDialogoError=new VentanaDialogoError();

    vDialogoError.creaDialogoError("ERROR", "Ejemplo de mensaje de error ");
    }
}

viernes, 6 de mayo de 2016

Calcular longitud de circunferencia, y elevar x numero al cuadrado

import java.util.Scanner;

public class Calcular {

    public static void main(String[] args) {  
           Scanner leer = new Scanner(System.in);
           double radio;
           int n;      
           
           System.out.print("Introduzca el radio de la circunferencia: ");
           radio = leer.nextDouble();
           System.out.println("Longitud de la circunferencia: " + 2*Math.PI*radio);
         
           System.out.print("Introduzca un número entero: ");
           n = leer.nextInt();
           System.out.println("El cuadrado es: " + Math.pow(n,2));
     }
}

--------------------Configuration: <Default>--------------------
Introduzca el radio de la circunferencia: 5
Longitud de la circunferencia: 31.41592653589793
Introduzca un número entero: 5
El cuadrado es: 25.0

Process completed.

domingo, 10 de abril de 2016

Hacer un programa que calcule la suma de los números pares e impares que se encuentran entre 10 y 30. El programa deberá calcular lo siguiente: o El total de números pares. o La suma de los números pares. o El total de números impares. o La suma de los números impares. o La suma total de todos los números.






Hacer un programa que calcule la suma de los números pares e impares que se encuentran entre 10 y 30. El programa deberá calcular lo siguiente:
o El total de números pares.
o La suma de los números pares.
o El total de números impares.
o La suma de los números impares.
o La suma total de todos los números.

import java.util.*;
public class ejemplo {
public static void main (String[] args)
    {
        Scanner teclado= new Scanner(System.in);

        int i, s=0,ss=0,total=0, c=0, cc=0, vec[];
        String a;
        for(i=10;i<=30;++i)
        {
            System.out.print(" \n Numero del 10 al 30  "+i+": ");
     total=total+i;
         
            if(i%2==0){
            System.out.print("Numero Par "+i+": ");
            c++;
        s=s+i;
         
            }
           
            else {
            System.out.print("Numero impar "+i+": ");
           ss=ss+i;
         
             cc++;
           }
            }
           System.out.print("\nTotal Numero Par "+ c);
            System.out.print("\nTotal Numero imPar "+ c);
             System.out.print("\nsuma Total Numero Par "+ s);
             System.out.print("\nsuma Total Numero imPar "+ ss);
              System.out.print("\nsuma Total Numeros del 10 al 30 : "+ total);
        }
          }
       
     

--------------------Configuration: <Default>--------------------

 Numero del 10 al 30  10: Numero Par 10:
 Numero del 10 al 30  11: Numero impar 11:
 Numero del 10 al 30  12: Numero Par 12:
 Numero del 10 al 30  13: Numero impar 13:
 Numero del 10 al 30  14: Numero Par 14:
 Numero del 10 al 30  15: Numero impar 15:
 Numero del 10 al 30  16: Numero Par 16:
 Numero del 10 al 30  17: Numero impar 17:
 Numero del 10 al 30  18: Numero Par 18:
 Numero del 10 al 30  19: Numero impar 19:
 Numero del 10 al 30  20: Numero Par 20:
 Numero del 10 al 30  21: Numero impar 21:
 Numero del 10 al 30  22: Numero Par 22:
 Numero del 10 al 30  23: Numero impar 23:
 Numero del 10 al 30  24: Numero Par 24:
 Numero del 10 al 30  25: Numero impar 25:
 Numero del 10 al 30  26: Numero Par 26:
 Numero del 10 al 30  27: Numero impar 27:
 Numero del 10 al 30  28: Numero Par 28:
 Numero del 10 al 30  29: Numero impar 29:
 Numero del 10 al 30  30: Numero Par 30:
Total Numero Par 11
Total Numero imPar 11
suma Total Numero Par 220
suma Total Numero imPar 200
suma Total Numeros del 10 al 30 : 420
Process completed.

jueves, 15 de octubre de 2015

Sacar promedio en java usando JOptionPane y DecimalFormat















// Programa del promedio de una clase mediante la repetición controlada por centinela en java.
import java.text.DecimalFormat;  // clase para dar formato a los números
import javax.swing.JOptionPane;
public class promedio {
public static void main( String args[] )
{
int total;           // suma de las calificaciones
int contadorCalif;   // número de calificaciones introducidas
int calificacion;    // valor de la calificación
double promedio;  // número con punto decimal para el promedio
String cadenaCalif;  // calificación introducida por el usuario

// fase de inicialización
total = 0;         // incializar el total
contadorCalif = 0;  // inicializar contador de ciclo

// fase de procesamiento
// obtener la primera calificación del usuario
cadenaCalif = JOptionPane.showInputDialog("Escriba calificación como entero o -1 para salir:" );

// convertir cadenaCalif en int
calificacion = Integer.parseInt( cadenaCalif );

// iterar hasta que el usuario introduzca el valor centinela
while ( calificacion != -1 )
{
total = total + calificacion; // sumar calificacion al total
contadorCalif = contadorCalif + 1; // incrementar el contador

// obtener siguiente calificación del usuario
cadenaCalif = JOptionPane.showInputDialog("Escriba calificación como entero o -1 para salir:" );

// convertir cadenaCalif en int
calificacion = Integer.parseInt( cadenaCalif );
} // fin de instrucción while

// fase de terminación
DecimalFormat dosDigitos = new DecimalFormat( "0.00" );
// si el usuario introdujo al menos una calificación...
if ( contadorCalif != 0 )
{
// calcular el promedio de todas las calificaciones introducidas
promedio = (double) total / contadorCalif;
// mostrar el promedio con dos dígitos de precisión
JOptionPane.showMessageDialog( null,"El promedio de la clase es " + dosDigitos.format( promedio ),"Promedio de la clase", JOptionPane.INFORMATION_MESSAGE );
} // fin de la parte if de la instrucción if...else
else // si no se introdujeron calificaciones, imprimir el mensaje apropiado
JOptionPane.showMessageDialog( null, "No se introdujeron calificaciones","Promedio de la clase", JOptionPane.INFORMATION_MESSAGE );
System.exit( 0 );  // terminar la aplicación
} // fin de main
} // fin de la clase Promedio

lunes, 7 de septiembre de 2015

Ejemplo de como resolver un SODOKU EN JAVA (jcreator) facil







public class Sodoku {
public static final int DIMENSION =9;
public static void main(String[] args){

int[][] tablero= new int[][] {

{0,7,0, 0,0,0, 0,8,0},
{0,5,0, 6,0,0, 0,0,1},
{0,0,3, 1,4,0, 0,0,0},
{9,0,6, 0,5,0, 3,0,0},
{0,0,0, 0,0,0, 0,0,0},
{0,0,5, 0,2,0, 1,0,7},
{0,0,0, 0,6,5, 7,0,0},
{3,0,0, 0,0,1, 9,2,0},
{0,4,0, 0,0,0, 0,1,0},
};
imprimir(tablero);
if(!resolver(tablero)){
System.out.println("El Sudoku no tiene solución");
}else{
}

}

public static void imprimir(int[][] tablero){
for(int i=0;i<DIMENSION;i++){
if(i%3==0){
System.out.println();
}
for(int j=0; j<DIMENSION;j++){
if(j%3==0){
System.out.print(" ");
}
System.out.print(tablero[i][j]);
}
System.out.println();
}
}
public static boolean resolver(int[][] tablero){
for(int i=0; i<DIMENSION; i++){
for(int j=0; j<DIMENSION; j++){
if(tablero[i][j]!=0){//si es diferente o igual a cero
continue;
}
for(int k=1;k<=9;k++){
if(esPosibleInsertar(tablero,i,j,k)){
tablero[i][j]=k;
boolean b=resolver(tablero);
if(b){
return true;
}
tablero[i][j]=0;
}
}
return false;
}
}
System.out.println("Encontrada solución:");
imprimir(tablero);
return true;
}
public static boolean esPosibleInsertar(int [][] tablero,
int i, int j, int valor){
//Comprueba columna
for(int a=0; a<DIMENSION; a++){
if(a!=i &&tablero[a][j]==valor){
return false;
}
}
//Comprueba fila
for(int a=0; a<DIMENSION; a++){
if(a!=j &&tablero[i][a]==valor){
return false;
}
}
//Comprueba cuadardo
int y= (i/3)*3;
int x= (j/3)*3;
for(int a=0; a<DIMENSION/3;a++){
for(int
b=0;b<DIMENSION/3;b++){
if(a!=i
&&b!=j&&tablero[y+a][x+b]==valor){
return false;
}
}
}
return true;
}
}






CORRIDA DEL PROGRAMA
--------------------Configuration: <Default>--------------------

 070 000 080
 050 600 001
 003 140 000

 906 050 300
 000 000 000
 005 020 107

 000 065 700
 300 001 920
 040 000 010

Encontrada solución:

 471 592 683
 259 683 471
 683 147 259

 916 758 342
 724 316 598
 835 924 167

 192 865 734
 368 471 925
 547 239 816


Process completed.

miércoles, 11 de febrero de 2015

Algunos videos interesantes sobre programacion java







Como crear y personalizar un ejecutable jar y convertirlo a .EXE