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










lunes, 27 de octubre de 2014

Agregar, eliminar, modificar y listar en JTable en Netbeans usando base de datos








Este ejemplo muestra como hacer una conexion a a base de datos y hacer consultas como eliminar, agregar, modificar y listar los datos de la base de datos, usando componentes graficos como botones,campos de texto , jtable y labels,  Para mostrar la informacion se usan resultset, etc.y muchas otras cosas Espero y les sea de utilidad para los que quieren aprender mas como yop 




 AQUI ABAJO LES DEJO EL CODIGO UTILIZADO PARA EL PROYECTO, sigan las instrucciones de los 2 videos. esta facil de entender
package dba;
import java.sql.Connection;
import java.sql.DriverManager;
import javax.swing.JOptionPane;

public class Mysql {
private static String db="unalm";
private static String user="root";
private static String pass="aquitupassword";
private static String url="jdbc:mysql://localhost:3306/"+db;
private static Connection Conn;

public static Connection getConnection(){
    try{
        Class.forName("com.mysql.jdbc.Driver");
        Conn=DriverManager.getConnection(url, user, pass);

}catch(Exception e){
    JOptionPane.showMessageDialog(null,"Error"+e.getMessage());
}
    return Conn;
}


}

----------------------------------------------------------------------------------------------------------

package form;

import javax.swing.table.DefaultTableModel;
import dba.Mysql;
import java.sql.*;
import javax.swing.JOptionPane;

public class Cliente extends javax.swing.JFrame {
DefaultTableModel model;
Connection Conn;
Statement sent;

public Cliente() {
        initComponents();
        Conn=Mysql.getConnection();
        Deshabilitar();
        Llenar();
    }
void Deshabilitar(){
    txtNombre.setEditable(false);

    txtDireccion.setEditable(false);
    txtCorreo.setEditable(false);
    txtTelefono.setEditable(false);
}
void Limpiar(){
    txtNombre.setText("");
    txtDireccion.setText("");
    txtCorreo.setText("");
    txtTelefono.setText("");
}
void Habilitar(){
    txtNombre.setEditable(true);
    txtCorreo.setEditable(true);
    txtDireccion.setEditable(true);
    txtTelefono.setEditable(true);
    txtNombre.requestFocus();
}
void Llenar(){
    try{
        Conn=Mysql.getConnection();
        String [] titulos ={"Id","Nombre","Direccion", "Telefono", "Correo"};
        String sql="select * from contactos";
        model=new DefaultTableModel(null, titulos);
        sent=Conn.createStatement();
        ResultSet rs=sent.executeQuery(sql);

        String fila []= new String [5];

        while(rs.next()){
            fila [0]=rs.getString("id");
            fila [1]=rs.getString("nombre");
            fila [2]=rs.getString("direccion");
            fila [3]=rs.getString("telefono");
            fila [4]=rs.getString("correo");

            model.addRow(fila);

        }
jTable1.setModel(model);
       
    }catch(Exception e){
e.printStackTrace();
    }
}

private void btnEliminarActionPerformed(java.awt.event.ActionEvent evt) {                                           
try{
    int fila=jTable1.getSelectedRow();
    String sql="delete from contactos where id="+jTable1.getValueAt(fila,0);
    sent=Conn.createStatement();
    int n=sent.executeUpdate(sql);
    if(n>0){
        Llenar();
        JOptionPane.showMessageDialog(null, "datos eliminados");
        Limpiar();
    }
}catch(Exception e){
    JOptionPane.showMessageDialog(null, "error"+e.getMessage());
}
  }

  private void btnGuardarActionPerformed(java.awt.event.ActionEvent evt) {                                          
try{
    String sql="insert into contactos ( direccion ,nombre, telefono, correo)" +
           "Values (?,?,?,?) ";
PreparedStatement ps=Conn.prepareCall(sql);
ps.setString(1, txtNombre.getText());
ps.setString(2, txtDireccion.getText());
ps.setString(3, txtTelefono.getText());
ps.setString(4, txtCorreo.getText());


int n=ps.executeUpdate();
if(n>0)
JOptionPane.showMessageDialog(null, "datos guardados");
}catch(Exception e){
    JOptionPane.showMessageDialog(null, "error"+ e.getMessage());
}
Llenar();
Limpiar();
    }                                          

    private void btnNuevoActionPerformed(java.awt.event.ActionEvent evt) {                                        
Limpiar();
Habilitar();
        // TODO add your handling code here:
    }
  private void jTable1MouseClicked(java.awt.event.MouseEvent evt) {                                    
 if(evt.getButton()==1){
   try{
       Habilitar();
        int fila=jTable1.getSelectedRow();
        String sql="select * from contactos where id="+jTable1.getValueAt(fila,0);
        sent=Conn.createStatement();
        ResultSet rs=sent.executeQuery(sql);
        rs.next();
        txtNombre.setText(rs.getString("nombre"));
        txtDireccion.setText(rs.getString("direccion"));
        txtTelefono.setText(rs.getString("telefono"));
        txtCorreo.setText(rs.getString("correo"));

}catch(Exception e){
    e.printStackTrace();
}
    }
    }        

private void btnModificarActionPerformed(java.awt.event.ActionEvent evt) {                                            
try{
    String sql="Update contactos set nombre=?, direccion=?, telefono=?, correo=?"+
            "where id=?";
    int fila=jTable1.getSelectedRow();
    String dao=(String)jTable1.getValueAt(fila,0);
    PreparedStatement ps=Conn.prepareCall(sql);
    ps.setString(1,txtNombre.getText());
    ps.setString(2,txtDireccion.getText());
    ps.setString(3,txtTelefono.getText());
    ps.setString(4,txtCorreo.getText());//valor de campos de texto a pasar a
    //BasedeDatos

   ps.setString(5,dao);//la llamada sql se muestra en la tabla

    int n=ps.executeUpdate();
    if(n>0){
        Limpiar();
        Llenar();
        JOptionPane.showMessageDialog(null, "datos modificados");
       
    }
}catch (Exception e){
    JOptionPane.showMessageDialog(null, "error"+ e.getMessage());
}
        // TODO add your handling code here:
    }             

private void btnCerrarActionPerformed(java.awt.event.ActionEvent evt) {                                         
System.exit(0);
        // TODO add your handling code here:
    }

public static void main(String args[]) {
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                new Cliente().setVisible(true);
            }
        });
    }
   private javax.swing.JButton btnCerrar;
    private javax.swing.JButton btnEliminar;
    private javax.swing.JButton btnGuardar;
    private javax.swing.JButton btnModificar;
    private javax.swing.JButton btnNuevo;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JLabel jLabel4;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JTable jTable1;
    private javax.swing.JTextField txtCorreo;
    private javax.swing.JTextField txtDireccion;
    private javax.swing.JTextField txtNombre;
    private javax.swing.JTextField txtTelefono;
    // End of variables declaration                  

}

Como crear campo de texto, una area de texto, boton y etquetas en un frame en java usando jcreator

Este ejemplo hecho en jcreator 





import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JLabel;
import javax.swing.JTextField;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextArea;
import javax.swing.JScrollPane;

public class Formulario extends JFrame implements ActionListener{
JLabel etiNombre, etiApellido, etiEdad;
JTextField txtNombre, txtApellido, txtEdad;
JButton boton;
JTextArea area;
JPanel panel;


    public Formulario() {
    etiNombre = new JLabel("nombre");
    etiNombre.setBounds(10,20,80,20);

    etiApellido = new JLabel("Apellido");
    etiApellido.setBounds(10,50,80,20);

    etiEdad = new JLabel("Edad");
    etiEdad.setBounds(10,80,80,20);

    txtNombre = new JTextField();
    txtNombre.setBounds(100,20,80,20);

    txtApellido = new JTextField();
    txtApellido.setBounds(100,50,80,20);

    txtEdad = new JTextField();
    txtEdad.setBounds(100,80,80,20);

    boton = new JButton("Aceptar");
    boton.setBounds(200,20,80,20);
    boton.addActionListener(this);

    area = new JTextArea();
    area.setBounds(10,110,300,250);
     
    panel=new JPanel();
    panel.setLayout(null);
    panel.add(etiNombre);
    panel.add(etiApellido);
    panel.add(etiEdad);
    panel.add(txtNombre);
    panel.add(txtApellido);
    panel.add(txtEdad);
    panel.add(boton);
    panel.add(area);
 
    add(panel);
    setSize(500,500);
    setVisible(true);
    }

    public static void main (String[] args) {
Formulario p=new Formulario();
}
    public  void actionPerformed(ActionEvent e){
    if(e.getSource()==boton)
    capturar();
    }

    public void capturar(){
    area.setText("\nLos datos capturaadps son nombre"+txtNombre.getText()+
    "\napellido"+txtApellido.getText()
    +"\nedad"+txtEdad.getText());
    }
}

A continuacion se muestra la explicacion del codigo hecho en Netbeans


jueves, 23 de octubre de 2014

Hacer cálculos estadísticos: moda, mediana, varianza, media, desviación típica, cuartil










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

public class Probabilidad_Estadistica extends JFrame implements ActionListener{

                JPanel paneldatos, paneldatosarriba, paneldatosabajo, paneldatoscentro,paneldatoscentroi, paneldatoscentroc, paneldatoscentrod, panelcalculos;
                JLabel lbldato, lblmedia, lblmoda, lblmediana, lblcuartil1, lblcuartil3, lbldtipica, lblvarianza;
                JTextField txtdato, txtmedia, txtmoda, txtmediana, txtcuartil1, txtcuartil3, txtdtipica, txtvarianza;
                JButton btnagregar, btnup, btndown, btnquitar, btnlimpiar, btnordenar, btncalcular;
                JList lista;
                JScrollPane desliza;
                DefaultListModel modelo;
                Dimension d;
                              
                public Probabilidad_Estadistica(){
                               //Inicializando el JFRAME con los valores deseados
                               super("Probabilidad & Estadistica");
                               this.setLayout(new GridLayout(1,2,15,15));
                               this.setVisible(true);
                               this.setSize(1000,300);
                               this.setLocationRelativeTo(null);
                               this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
                              
                               //Creando los paneles principales
                               paneldatos=new JPanel(new BorderLayout());
                               paneldatos.setBorder(new TitledBorder("Datos"));
                               panelcalculos=new JPanel(new GridLayout(7,2,10,10));
                               panelcalculos.setBorder(new TitledBorder("Calculos"));
                              
                               //Creando los paneles secundarios
                               paneldatosarriba=new JPanel(new FlowLayout());
                               paneldatosabajo=new JPanel(new FlowLayout());
                               paneldatoscentro=new JPanel(new FlowLayout());
                               paneldatoscentroi=new JPanel(new GridLayout(2,1,5,5));
                               paneldatoscentroc=new JPanel();
                               paneldatoscentrod=new JPanel(new GridLayout(2,1,5,5));
                              
                               //Agregando objetos a paneldatosarriba
                               lbldato=new JLabel("Dato");
                               txtdato=new JTextField(10);
                               btnagregar=new JButton("Agregar");
                               paneldatosarriba.add(lbldato);
                               paneldatosarriba.add(txtdato);
                               paneldatosarriba.add(btnagregar);
                              
                               //Agregando objetos a paneldatoscentro
                               btnup=new JButton("Arriba");
                               btndown=new JButton("Abajo");
                               paneldatoscentroi.add(btnup);
                               paneldatoscentroi.add(btndown);
                              
                               lista=new JList();
                               modelo=new DefaultListModel();
                               lista.setModel(modelo);
                               d=new Dimension(150,300);
                               lista.setPreferredSize(d);
                               desliza=new JScrollPane(lista);
                               paneldatoscentroc.add(desliza);
                              
                               btnquitar=new JButton("Quitar");
                               btnlimpiar=new JButton("Limpiar");
                               paneldatoscentrod.add(btnquitar);
                               paneldatoscentrod.add(btnlimpiar);
                              
                               //Agregando objetos a paneldatosabajo
                               btnordenar=new JButton("Ordenar");
                               btncalcular=new JButton("Calcular");
                               paneldatosabajo.add(btnordenar);
                               paneldatosabajo.add(btncalcular);
                              
                               //Agregando objetos a panelcalculos
                               lblmedia=new JLabel("Media");
                               lblmoda=new JLabel("Moda");
                               lblmediana=new JLabel("Mediana");
                                lblcuartil1=new JLabel("Cuartil 1");
                               lblcuartil3=new JLabel("Cuartil 3");
                               lbldtipica=new JLabel("Desviacion Tipica");
                               lblvarianza=new JLabel("Varianza");
                               txtmedia=new JTextField(15);
                               txtmoda=new JTextField(15);
                               txtmediana=new JTextField(15);
                                txtcuartil1=new JTextField(15);
                               txtcuartil3=new JTextField(15);
                               txtdtipica=new JTextField(15);
                               txtvarianza=new JTextField(15);
                               panelcalculos.add(lblmedia);
                               panelcalculos.add(txtmedia);
                               panelcalculos.add(lblmoda);
                               panelcalculos.add(txtmoda);
                               panelcalculos.add(lblmediana);
                               panelcalculos.add(txtmediana);
                               panelcalculos.add(lblcuartil1);
                               panelcalculos.add(txtcuartil1);
                               panelcalculos.add(lblcuartil3);
                               panelcalculos.add(txtcuartil3);
                               panelcalculos.add(lbldtipica);
                               panelcalculos.add(txtdtipica);
                               panelcalculos.add(lblvarianza);
                               panelcalculos.add(txtvarianza);
                                                                                             
                               //Agregando los paneles
                               paneldatoscentro.add(paneldatoscentroi, FlowLayout.LEFT);
                               paneldatoscentro.add(paneldatoscentroc, FlowLayout.CENTER);
                               paneldatoscentro.add(paneldatoscentrod, FlowLayout.RIGHT);
                               paneldatos.add(paneldatosarriba, BorderLayout.NORTH);
                               paneldatos.add(paneldatoscentro, BorderLayout.CENTER);
                               paneldatos.add(paneldatosabajo, BorderLayout.SOUTH);
                               this.add(paneldatos);
                               this.add(panelcalculos);
                              
                               //Agregando eventos
                               btnagregar.addActionListener(this);
                               btnquitar.addActionListener(this);
                               btnlimpiar.addActionListener(this);
                               btnup.addActionListener(this);
                               btndown.addActionListener(this);
                               btnordenar.addActionListener(this);
                               btncalcular.addActionListener(this);                     
                              
                }

                public void actionPerformed(ActionEvent e){
                               if(e.getActionCommand().equals(btnagregar.getText())){
                                               Agregarobjeto();
                               }
                               if(e.getActionCommand().equals(btnquitar.getText())){
                                               Quitar();
                               }
                               if(e.getActionCommand().equals(btnlimpiar.getText())){
                                               Limpiar();
                               }
                               if(e.getActionCommand().equals(btnup.getText())){
                                               Up();
                               }
                               if(e.getActionCommand().equals(btndown.getText())){
                                               Down();
                               }
                               if(e.getActionCommand().equals(btnordenar.getText())){
                                               Ordenar();
                               }
                               if(e.getActionCommand().equals(btncalcular.getText())){
                                               //Agregando la instancia de la clase Calcular, la cual realiza las operaciones
                                               Calcular totales=new Calcular();
                                               totales.Media();
                                               totales.Moda();
                                               totales.Mediana();
                                               totales.Cuartil1();
                                               totales.Cuartil3();
                                               totales.DesviacionTipica();
                                               totales.Varianza();
                               }
                }
               
                //METODOS PARA LOS BOTONES
                //Metodo Agregar: Agrega el dato del txtdato al JList
                public void Agregarobjeto(){
                               modelo.addElement(txtdato.getText());
                               txtdato.setText("");                     
                }
               
                //Metodo Quitar: Elimina el elemento seleccionado del JList
                public void Quitar(){
                               int seleccion;
                               seleccion=lista.getSelectedIndex();
                               modelo.removeElementAt(seleccion);
                }

                //Metodo Limpiar: Elimina todos los elementos del Jlist
                public void Limpiar(){
                               modelo.removeAllElements();
                               txtmedia.setText("");
                               txtmoda.setText("");
                               txtmediana.setText("");
                               txtcuartil1.setText("");
                               txtcuartil3.setText("");
                               txtdtipica.setText("");
                               txtvarianza.setText("");
                }
               
                //Metodo Up: Mueve el objeto seleccionado hacia arriba
                public void Up(){
                               int subir,bajar;
                               Object up, down;
                               subir=lista.getSelectedIndex()-1;
                               bajar=lista.getSelectedIndex();
                               if(subir<0){
                                               JOptionPane.showMessageDialog(this,"No se puede mover hacia arriba porque es el primer elemento","Atencion!!!",JOptionPane.INFORMATION_MESSAGE);
                               }else{
                               up=modelo.getElementAt(bajar);
                               down=modelo.getElementAt(subir);
                               modelo.setElementAt(up,subir);
                               modelo.setElementAt(down,bajar);
                               lista.setSelectedIndex(subir);
                               }
                }
               
                //Metodo Down: Mueve el objeto seleccionado hacia abajo
                public void Down(){
                               int subir, bajar;
                               Object up,down;
                               bajar=lista.getSelectedIndex()+1;
                               subir=lista.getSelectedIndex();

                               if(bajar==modelo.getSize()){
                                               JOptionPane.showMessageDialog(this,"No se puede mover hacia abajo porque es el ultimo elemento","Atencion!!!",JOptionPane.INFORMATION_MESSAGE);
                               }else{
                               down=modelo.getElementAt(subir);
                               up=modelo.getElementAt(bajar);
                               modelo.setElementAt(down,bajar);
                               modelo.setElementAt(up,subir);
                               lista.setSelectedIndex(bajar);
                               }
                }
               
                //Metodo Ordenar: Ordena de menor a mayor los datos del JList
                public void Ordenar(){
                        for(int i=0;i<modelo.getSize()-1;i++){
                                               for(int a=i+1;a<modelo.getSize();a++){
                                                               String objeto1=String.valueOf(modelo.getElementAt(i));
                                                       String objeto2=String.valueOf(modelo.getElementAt(a));
                                                       double p1=Double.parseDouble(objeto1);
                                                               double p2=Double.parseDouble(objeto2);
                                                                              if(p1>p2){
                                                                                              Object temporal;
                                                                                              temporal=modelo.getElementAt(a);
                                                                                              modelo.setElementAt(modelo.getElementAt(i),a);
                                                                                              modelo.setElementAt(temporal,i);       
                                                               }                             
                                               }
                               }
                }
               
                //Clase Calcular: Calcula los datos necesarios con los datos que estan en la JList
                class Calcular{
                               //Calcular la Media Aritmetica
                               public void Media(){
                                               double total=0;
                                               double resultado;
                                               Object vector[]=modelo.toArray();
                                               String cadena[]=new String[modelo.getSize()];
                                               double numeros[]=new double[modelo.getSize()];
                                               //Primer for para convertir de tipo Object a String
                                               for(int i=0;i<modelo.getSize();i++){
                                                               cadena[i]=String.valueOf(vector[i]);
                                               }
                                               //Segundo for para convertir de tipo String a double
                                               for(int b=0;b<cadena.length;b++){
                                                               numeros[b]=Double.parseDouble(cadena[b]);
                                               }
                                               //Tercer for para sumar los valores del vector;
                                               for(int c=0;c<numeros.length;c++){
                                                               total+=numeros[c];
                                               }
                                               resultado=total/numeros.length;
                                               txtmedia.setText(String.valueOf(resultado));                 
                               }

                               //Calcula la Moda, el valor que mas se repite
                               public void Moda(){
                                               int total=0;
                                               double nummoda;
                                               Object vector[]=modelo.toArray();
                                               String cadena[]=new String[modelo.getSize()];
                                               double numeros[]=new double[modelo.getSize()];
                                               //Primer for para convertir de tipo Object a String
                                               for(int i=0;i<modelo.getSize();i++){
                                                               cadena[i]=String.valueOf(vector[i]);
                                               }
                                               //Segundo for para convertir de tipo String a double
                                               for(int b=0;b<cadena.length;b++){
                                                               numeros[b]=Double.parseDouble(cadena[b]);
                                               }
                                               //Recorre el vector y si halla un valor igual al primero va aumentando en 1 el contador de veces
                                               for(int c=0;c<numeros.length;c++){
                                                               double numero=numeros[c];
                                                               int totalveces=0;
                                                               for(int d=0;d<numeros.length;d++){
                                                                              if(numero==numeros[d]){
                                                                                              totalveces++;
                                                                               }
                                                               }                                                            
                                                               if(totalveces>total){
                                                                                              total=totalveces;
                                                                                              txtmoda.setText("El numero "+String.valueOf(numero)+" Se Repite "+String.valueOf(total)+" Veces");
                                                               }
                                               }
                               }
                              
                               //Calcula la Mediana, el valor del centro de la lista de datos
                               public void Mediana(){
                                               Object vector[]=modelo.toArray();
                                               String cadena[]=new String[modelo.getSize()];
                                               double numeros[]=new double[modelo.getSize()];
                                               int posicion=0;
                                               int division=0;
                                               double mediana=0;
                                               //Primer for para convertir de tipo Object a String
                                               for(int i=0;i<modelo.getSize();i++){
                                                               cadena[i]=String.valueOf(vector[i]);
                                               }
                                               //Segundo for para convertir de tipo String a double
                                               for(int b=0;b<cadena.length;b++){
                                                               numeros[b]=Double.parseDouble(cadena[b]);
                                               }
                                              
                                               posicion=numeros.length%2;
                                               if(posicion==0){
                                                               division=numeros.length/2;
                                                               mediana=(numeros[division]+numeros[division+1])/2;
                                                               txtmediana.setText(""+String.valueOf(mediana));
                                               }
                                               if(posicion==1){
                                                               division=(numeros.length+1)/2;
                                                               txtmediana.setText(""+String.valueOf(numeros[division-1]));
                                               }
                               }
                              
                               //Metodo Cuartil 1
                               public void Cuartil1(){
                                               double cuartil=0.25*modelo.getSize();
                                               double residuo=cuartil%1;
                                               double total=0;
                                               if(residuo>0){
                                                               double entero=(cuartil/1)-(cuartil%1);
                                                               total=(entero+1)*2;
                                                               txtcuartil3.setText(String.valueOf(total));
                                               }
                                               if(residuo==0){
                                                               double entero=(cuartil/1)-(cuartil%1);                                
                                                               total=(entero+1)/2;
                                                               txtcuartil3.setText(String.valueOf(total));
                                               }
                               }
                              
                               //Metodo Cuartil 3
                               public void Cuartil3(){
                                               double cuartil=0.75*modelo.getSize();
                                               double residuo=cuartil%1;
                                               double total=0;
                                               if(residuo>0){
                                                               double entero=(cuartil/1)-(cuartil%1);
                                                               total=(entero+1)*2;
                                                               txtcuartil1.setText(String.valueOf(total));
                                               }
                                               if(residuo==0){
                                                               double entero=(cuartil/1)-(cuartil%1);                                
                                                               total=(entero+1)/2;
                                                               txtcuartil1.setText(String.valueOf(total));
                                               }
                               }
                              
                               //Metodo Desviacion Tipica
                               public void DesviacionTipica(){
                                               Object vector[]=modelo.toArray();
                                               String cadena[]=new String[modelo.getSize()];
                                               double numeros[]=new double[modelo.getSize()];
                                               double radical=0;
                                               double desviacion=0;
                                               double desviaciontotal=0;
                                               double total=0;
                                               //Primer for para convertir de tipo Object a String
                                               for(int i=0;i<modelo.getSize();i++){
                                                               cadena[i]=String.valueOf(vector[i]);
                                               }
                                               //Segundo for para convertir de tipo String a double
                                               for(int b=0;b<cadena.length;b++){
                                                               numeros[b]=Double.parseDouble(cadena[b]);
                                               }
                                              
                                               for(int c=0;c<numeros.length;c++){
                                                               radical=(Math.pow((numeros[0]-numeros.length),2))/numeros.length;
                                                               desviacion=Math.sqrt(radical);
                                                               desviaciontotal+=desviacion;
                                               }
                                               total=desviaciontotal/numeros.length;
                                               txtdtipica.setText(String.valueOf(total));
                               }
                              
                               //Metodo Varianza
                               public void Varianza(){
                                               Object vector[]=modelo.toArray();
                                               String cadena[]=new String[modelo.getSize()];
                                               double numeros[]=new double[modelo.getSize()];
                                               double radical=0;
                                               double desviacion=0;
                                               double desviaciontotal=0;
                                               double total=0;
                                               double var=0;
                                               //Primer for para convertir de tipo Object a String
                                               for(int i=0;i<modelo.getSize();i++){
                                                               cadena[i]=String.valueOf(vector[i]);
                                               }
                                               //Segundo for para convertir de tipo String a double
                                               for(int b=0;b<cadena.length;b++){
                                                               numeros[b]=Double.parseDouble(cadena[b]);
                                               }
                                              
                                               for(int c=0;c<numeros.length;c++){
                                                               radical=(Math.pow((numeros[0]-numeros.length),2))/numeros.length;
                                                               desviacion=Math.sqrt(radical);
                                                               desviaciontotal+=desviacion;
                                               }
                                               total=desviaciontotal/numeros.length;
                                               var=Math.sqrt(total);
                                               txtvarianza.setText(String.valueOf(var));
                                              
                               }
                              
                }//Fin de la clase Calcular
               
               
                                               public static void main(String []args){
                                                               new Probabilidad_Estadistica();
                                               }




}