Datos personales

miércoles, 15 de octubre de 2014

Calculadora en java Facil de programar

Les comparto una calculadora que hice algunas noches, esta muy facil de hacer, usa pocos metodos y sin recursividad, solo metodos y algunas variables, espero que les guste y si le pueden agregar mas cosas pueden publicarlo.

viernes, 10 de octubre de 2014

JPanel con Imagen en Java

En esta ocasión les enseñare como agregarle una imagen a un jpanel facil, rapido y sencillo, ademas de proveerles una libreria que les ayudara mucho la sencilla tarea de agregar imagenes a un jpanel.





Link Blogg: 

miércoles, 8 de octubre de 2014

Permutacion por medio de Numeros Psudoaleatorios

PERMUTACIONES DE CADENAS

En matemáticas, una permutación es la variación del orden o de la disposición de los elementos de un conjunto.Por ejemplo, en el conjunto {1,2,3}, cada ordenación posible de sus elementos, sin repetirlos, es una permutación. Existe un total de 6 permutaciones para estos elementos: "1,2,3", "1,3,2", "2,1,3", "2,3,1", "3,1,2" y "3,2,1". (Enlace de wikipedia)


El siguiente programa sera elaborado por medio de la obtención del factorial obtenido del numero total de caracteres de la cadena introducida.

Cabe mencionar que este programa esta elaborado de una manera ingeniosa, y es funcional, solo que usa mucho procesador, así que la respuesta puede variar dependiendo de la velocidad de su procesador.


VIDEO



CODIGO




import java.util.Scanner;
import java.util.Vector;

//GENERAR PERMUTACIONES DE CADENAS DE TEXTO
//EN ESTE PROGRAMA SE REALIZARA UTILIZANDO LA LIBRERIA MATH
//SE PREGUNTARAN COMO SERA ESO POSIBLE, PUES EN UN MOMENTO LO VEREMOS

//MORADOMX = Yhosimar Martinez MArcial

public class Permutaciones
{
//CREAMOS UNA VARIABLE TIPO STRING ESTATICA, YA QUE LA USAREMOS EN 
//METODOS POSTERIORES Y DENTRO DEL MAIN, AL SER EL MAIN UN METODO ESTATICO
//LAS VARIABLES GLOBALES DEBEN SER TAMBIEN ESTATICAS.
static String cadena="";
static int factorial=0;
static Vector permutaciones=new Vector();//AQUI SE GUARDARAN LAS PERMUTACIONES
public static void main(String[] args) 
{
//PRIMERO SOLICITAREMOS UNA CADENA DE TEXTO
//PARA ESTO USAREMOS SCANNER
Scanner teclado=new Scanner(System.in);
System.out.println("INTRODUCE UNA CADENA");
cadena=teclado.nextLine();
// VERIFICAREMOS QUE NO EXISTA NINGUN CARACTER REPETIDO EN LA CADENA
//SI EXISTE UN CARACTER REPETIDO EL PROGRAMA SE TERMINARA.
boolean repite=false;
for(int i=0;i<cadena.length();i++)
{
int cont=0;
for(int j=0;j<cadena.length();j++)
{
if(cadena.charAt(j)==cadena.charAt(i))
{
cont++;
}
}
if(cont>1)
{
repite=true;
}
}
if(repite==true)
{
System.out.print("LA CADENA CONTIENE CARACTERES REPETIDOS.");
//EL PROGRAMA ACABARIA AKI, SIN NECESIDAD DE ESCRBIR NADA MAS,
//SIN EMBARGO AGREGAREMOS UNA INSTRUCCION MAS, PARA OBLIGAR AL 
//PROGRAMA A TERMINAR, ESTA INSTRUCCION PUEDE SERVIRLES EN OTRO MOMENTO
System.exit(0);//CONESTA INSTRCCION EL PROGRAMA MUERE Y CON EL TODOS LOS HILOS
//QUE SE PUDIERAN HABER DESPRENDIDO DE EL.
}
else if(repite==false)
{
factorial();
for(int i=0;i<permutaciones.size();i++)
{
System.out.println((i+1)+" = "+permutaciones.get(i).toString());//SE MANDA A IMPRIMIR EN
//PANTALLA LAS PERMUTACIONES.
}
}
}
public static void factorial()//CREAREMOS UN METODO PARA OBTENER EL FACTORIAL
//DEL NUMERO TOTAL DE CARACTERES QUE CONTIENE LA CADENA
{
factorial=cadena.length();
for(int i=cadena.length()-1;i>0;i--)//COMUNMENTE ASI SE ESCRIBE UN FOR
//SIN EMBARGO TAMBIEN SE PUEDE HACER QUE DECREMENTE.
{
factorial*=i;//ASI SE MULTIPLICA EL VALOR QUE VAYA OBTENIENDO 
//LA VARIABLE FACTORIAL POR EL VALOR QUE CONTENGA LA VARIABLE i
}
//System.out.println("FACTORIAL : "+factorial);//IMPRIMIREMOS UNA PRUEBA
permutar();
}
public static void permutar()
{
for(int i=0;i<factorial;i++)//AKI SE DEBEN OBTENER EL NUMERO DE RESPUESTAS
//EQUIVALENTES AL FACTORIAL
{
int arreglo[]=new int[cadena.length()];//SE CREA UN ARREGLO DEL TAMAÑO DE LA CADENA
for(int j=0;j<arreglo.length;j++)
{
arreglo[j]=-1;//SE LE DESIGNA UN NUMERO NEGATIVO A CADA CASILLA DEL ARREGLO 
//PARA FACILITAR LA COMPARACION
}
for(int j=0;j<arreglo.length;j++)
{
boolean continuar=true;
do
{
boolean repite=false;
int random=(int) Math.rint(Math.random()*(cadena.length()-1));
//AKI OBTENEMOS UN 
//NUMERO ALEATORIO ENTRE 0 Y EL TAMAÑO DE LA CADENA
for(int m=0;m<arreglo.length;m++)
{
if(random==arreglo[m])//AKI SE COMPARA EL NUMERO ALEATORIO OBTENIDO
//CON LOS ELEMENTOS DEL ARREGLO, EN CASO DE EXISTIR LA COINCIDENCIA
//LA VARIABLE REPITE SE DESIGNARA COMO TRUE
{
repite=true;
}
}
if(repite==true)//EN CASO DE QUE LA VARIBALE REPITE SEAIGUAL A TRUE
//SE DEBE BUSCAR OTRO NUMERO ALEAORIO PARA COMPRAR NUEVAMENTE
{
continuar=true;
}
else if(repite==false)//DE CASO CONTRARIO EL NUMERO OBTENIDO SE
//GUARDA EN EL CASILLERO j Y SE TERMINA EL BUCLE DO-WHILE
{
arreglo[j]=random;
continuar=false;
}
}while(continuar);
}
String temp="";
for(int j=0;j<arreglo.length;j++)//SE CREA UNA CADENA DE LOS NUMEROS 
//OBTENIDOS
{
temp+=arreglo[j];
}
boolean repite=false;
for(int j=0;j<permutaciones.size();j++)
{
if(temp.equals(permutaciones.get(j).toString()))//SE COMPARA LA CADENA
//OBTENIDA AL UNIR LOS NUMEROS ALEATORIOS CONTODOS LOS ELEMENTOS
//DEL VECTOR, EN CASO DE REPETIRSE LA VARIABLE REPITE SERA IGUAL A TRUE
{
repite=true;
}
}
if(repite==true)//EN CASO DE REPETIRSE DICHA CADENA, EL VECTOR PERMANECERA 
//SIN MODIFICACIONES Y LA VARIBLE INCREMENTAL I SERA DECREMENTADA EN UNO
{
i--;
}
else if(repite==false)//EN CASO CONTRARIO LA CADENA TEMP SE 
//AGREGARA AL VECTOR PERMUTACIONES.
{
permutaciones.addElement(temp);
}
}
for(int i=0;i<permutaciones.size();i++)//EN ESTE FOR SE CONVIERTEN LOS NUMEROS 
//A LETRAS, Y SE VAN SUTITUYENDO LAS CADENAS EN EL VECTOR
{
String temp="";
char arr[]=permutaciones.get(i).toString().toCharArray();//SE CREA UN ARREGLO
//DE CARACTERES DE CADA UNA DE LAS PERMUTACIONES NUMERICAS OBTENIDAS.
for(int j=0;j<arr.length;j++)
{
temp+=cadena.charAt(Integer.parseInt(""+arr[j]));//SE OBTIENE EL NUMERO DE 
//LETRA OBTENIDA CONVIRTIENDO EL CARACTER DEL ARREGLO ARR
//A VALOR NUMERICO Y OBTENIENDO EL VALOR DE LETRA QUE CONTIENE ESA UBICACION
}
permutaciones.set(i, temp);
}
}


domingo, 6 de octubre de 2013

Septimo tutorial, Lectura y Escritura de Archivos .txt


En esta ocasion les muestro este tutorial de como leer y escribir archivos de texto desde consola en java, utilizando el JFileChooser de la clase File y el BufferedReader de la Clase IO, asi como tambien la implementacion de la lectura de las opciones del menu con el Scanner de la clase Util.


import java.io.*;
import java.util.Scanner;
import javax.swing.JFileChooser;

/**
 *
 * @author Override MMX
 */
public class Lectura_Escritura_txt
{
    public static void main(String [] args) throws IOException
    {
        Lectura_Escritura_txt let=new Lectura_Escritura_txt();
        let.menu();      
    }
 
    void menu() throws IOException
    {
        Scanner teclado=new Scanner(System.in);
        System.out.print("\n\nMENU\n\n");
        System.out.print("1.-LEER\n");
        System.out.print("2.-ESCRIBIR\n");
        System.out.print("3.-SALIR\n");
        int opc=teclado.nextInt();
     
        switch(opc)
        {
            case 1:
                lectura();
                break;
            case 2:
                escritura();
                break;
            case 3:
                System.exit(0);
                break;
        }
    }
 
    void lectura()throws IOException
    {
        JFileChooser jfc=new JFileChooser();
        jfc.showOpenDialog(null);
        BufferedReader archivo=new BufferedReader(new FileReader(jfc.getSelectedFile().getPath()));
     
        while(archivo.ready())
        {
            System.out.print(archivo.readLine()+"\n");
        }
        menu();
    }
 
    void escritura() throws IOException
    {
        Scanner teclado=new Scanner(System.in);
        JFileChooser jfc=new JFileChooser();
        jfc.showSaveDialog(null);
        FileWriter fw=new FileWriter(new File(jfc.getSelectedFile().getPath()));
     
        System.out.print("INTRODUCE PALABRA A ESCRIBIR :");
        String pal=teclado.next();
        fw.write(pal);
        fw.close();
        menu();
    }
}


VÍDEO TUTORIAL



Link: Archivo .JAVA
Link: Ejecutable .exe

Facebook: www.facebook.com/locoslosdos
E-Mail: Moradomx@gmail.com

viernes, 4 de octubre de 2013

Primer Recurso La Biblia de JAVA PDF

Ahora les traigo el primer recurso de mi parte, se trata de la biblia de JAVA, es un pdf que explica muy bien el lenguaje JAVA, asi como tambien muchos ejemplos y explicaciones.


LINK: LA BIBLIA DE JAVA .PDF

E-MAIL: Moradomx@gmail.com
Facebook: www.facebook.com/locoslosdos