Generar Cadenas del Lenguage Gramáticas Libres de Contexto en Java
Hice una pequeña aplicación de generación de cadenas en una gramática libre de contexto dada por el usuario, es una aplicación dinámica que permite ingresar los símbolos de la gramática, símbolos terminales, no terminales con sus producciones, y por supuesto el símbolo inicial.
Pasos:
Paso 1. Definir elementos de la Gramática
Paso 2. Construir Tabla de Producción
Paso 3. Generar Cadenas
DESCARGAR
Bienvenidos Saludos a Todos!... Blog de Desarrollo de Aplicaciones en Java y PHP Escríbenos a desarrolloenjava@gmail.com
domingo, marzo 29, 2015
Generar Cadenas del Lenguage Gramáticas Libres de Contexto en Java
Etiquetas:
Aplicación,
Cadena,
Contexto,
Dinámico,
Generar,
Gramática,
Java,
Libre,
Reconocimiento
miércoles, marzo 04, 2015
Eliminar Virus Autorun (DeleteAutorun) Programa en Java
Eliminar Virus Autorun
Quien no se ha encontrado con el famoso virus que oculta los archivos y carpetas de las Memorias USB?... muchos de nosotros hemos sufrido por lo molesto e infeccioso que es este virus.
He desarrollado una aplicación en Java que detecta y elimina automáticamente cualquier amenaza de virus Autorun y todas sus variantes ya que ataca directamente los archivos causantes de la infección (autorun.inf, archivo ejecutable y carpetas ocultas), finaliza todos los procesos asociados y elimina los registros de virus del sistema.
Solo ataca los virus Autorun, que encuentre en el equipo o en las memorias usb.
Para que funcione necesitas tener instalado Java (JRE) versión 7.
Descargar
Quien no se ha encontrado con el famoso virus que oculta los archivos y carpetas de las Memorias USB?... muchos de nosotros hemos sufrido por lo molesto e infeccioso que es este virus.
He desarrollado una aplicación en Java que detecta y elimina automáticamente cualquier amenaza de virus Autorun y todas sus variantes ya que ataca directamente los archivos causantes de la infección (autorun.inf, archivo ejecutable y carpetas ocultas), finaliza todos los procesos asociados y elimina los registros de virus del sistema.
Solo ataca los virus Autorun, que encuentre en el equipo o en las memorias usb.
Para que funcione necesitas tener instalado Java (JRE) versión 7.
Descargar
domingo, agosto 24, 2014
Conexion Java con MySQL
Las Siguiente es la Clase Java para la conexión a cualquier Base de Datos de MySQL
Es Muy funcional y facilita la obtención de los resultados ya que tiene métodos para las inserciones y las consultas.
Datos Estandar:
Host: localhost
Puerto: 3306
Usuario: root
Password: (vacio)
Datos Estandar:
Host: localhost
Puerto: 3306
Usuario: root
Password: (vacio)
jueves, agosto 21, 2014
Juego de Memoria en Java (Memorama)
Hace poco hice un pequeño juego en java para unos amigos de la Universidad Simón Bolívar de Barranquilla - Colombia, se trata del popular juego Memorama que consiste en encontrar parejas de imágenes, en una matriz de n x m, utilizando botones, hilos de ejecucion y otros metodos utiles de mi autoria...
- Tiene cronómetros para limites de tiempo de juego
- Maneja Puntuación de acuerdo al tiempo
- Guarda Puntuaciones
- Skins intercambiables
- Puedes cambiar las imágenes que usa
- Personalizable
Hecho en NetBeans 7.2
Espero les sea de ayuda...
DESCARGAR
Etiquetas:
Archivos,
Cronometro,
Hilos,
Java,
Juego,
Memorama,
Memoria,
Programación,
Puntaje
lunes, junio 23, 2014
Autómata en Java Según Tabla de Transiciones
Tema: Reconocimiento de Cadenas Mediante
Autómatas
Lenguaje de Programación: JAVA
Descripción:
Presentamos una Aplicación
escrita en Java bajo el paradigma de programación orientada a objetos, que
permite construir un autómata dada su tabla de transición y una vez construido
el autómata el sistema puede hacer reconocimiento de cadenas, se le informa al
usuario si la cadena fue reconocida o no.
La tabla de transiciones se crea dinámicamente al insertar estados y símbolos, para crear las transiciones se debe hacer click sobre la tabla en la intersección del estado y el símbolo, luego aparecerá una caja de dialogo donde se podrán introducir los estados destino.
Se debe insertar al menos un estado y un símbolo, y crear la transición para que se construya el autómata en memoria, debe existir un estado inicial y un estado final para poder evaluar cadenas.
La tabla de transiciones se crea dinámicamente al insertar estados y símbolos, para crear las transiciones se debe hacer click sobre la tabla en la intersección del estado y el símbolo, luego aparecerá una caja de dialogo donde se podrán introducir los estados destino.
Se debe insertar al menos un estado y un símbolo, y crear la transición para que se construya el autómata en memoria, debe existir un estado inicial y un estado final para poder evaluar cadenas.
Estructura de Datos:
El sistema está construido
sobre estructuras dinámicas y estáticas, utilizando apuntadores y vectores de
objetos, de la siguiente forma:
Clase:
State
Esta clase representa a cada
estado del autómata. Posee una etiqueta de identificación, un campo booleano
para indicar si es un estado inicial, un campo booleano para indicar si es un
estado final, un vector de transiciones (Transition) dinámico que representa
las transiciones hacia otros estados. Esta clase esta integrada por métodos y
funciones necesarias para el funcionamiento del autómata tales como agregar
transición, eliminar una o todas las transiciones, además de los métodos set y
get de los atributos.
Clase:
Transition
Esta clase representa las
transiciones de los estados del autómata. Posee una etiqueta de transición un
apuntador al estado destino. Compuesta por métodos get y set de sus atributos.
Clase:
Automaton
Esta clase es la que permite
la construcción del autómata a partir de las clases anteriores, en esta se hace
el reconocimiento de cadenas. No se permiten estados con la misma etiqueta.
Clase:
NewStateForm
Formulario JDialog que
permite al sistema crear los estados de autómata mediante una interfaz gráfica
sencilla, no permite etiquetas vacías.
Clase:
NewSymbolForm
Formulario JDialog que
permite al sistema crear los símbolos del alfabeto del autómata mediante una
interfaz gráfica sencilla.
Clase:
NewTransitionForm
Formulario JDialog que permite
al sistema crear las transiciones del autómata a partir de los estados y los
símbolos del alfabeto, mediante una interfaz gráfica sencilla.
Clase: PlayAutomata
Formulario JFrame, es la
interfaz gráfica de usuario, esta clase hace validaciones necesarias para
evitar fallos durante la ejecución, es sencilla e intuitiva.
(No se utiliza la clase Pattern)
domingo, marzo 30, 2014
JScreenLock: Bloquear escritorio en Java
Este programa hecho en JAVA te permite bloquear tu escritorio con 2 clicks con una contraseña de super alta seguridad encriptada con CryptoNemesis ...
JScreenLock
* Puedes cambiar el Fondo (Background.jpg se encuentra en carpeta Images)
Etiquetas:
Bloqueo,
Contraseña,
Desktop,
Encriptacion,
Escritorio,
Java,
Lock
lunes, marzo 10, 2014
Metodo de Biseccion - Teorema del Valor Intermedio - Codigo Java - JBisection
Muestra el Resultado y las Iteraciones con el Procedimiento
Entrega el Resultado con una precisión de 10^-8.
Debes escribir la función matemática como la escribirías en una calculadora física convencional.
Si quieres el código completo en java escríbeme a desarrolloenjava@gmail.com y Negociamos (=$)
Teoria: Metodo de Biseccion (Wikipedia)
Etiquetas:
Análisis Numérico,
Biseccion,
Codigo,
Java,
Matemáticas,
Método
lunes, febrero 17, 2014
Epsilon de la Maquina en Java
Este un programa sencillo que calcula el epsilon de la maquina en java. No es nada del otro mundo pero ahi se los dejo...
Taller de Análisis Numérico - Universidad Simón Bolívar - Barranquilla
Descargar
Taller de Análisis Numérico - Universidad Simón Bolívar - Barranquilla
Descargar
lunes, febrero 10, 2014
Código Decimal a Binario Java
Codigo Decimal a Binario Utilizado en ComplexBinary
Etiquetas:
Binario,
bit,
byte,
Conversión,
Decimal,
Double,
Programación
Codigo Binario a Decimal en Java (Completo)
Etiquetas:
Binario,
Conversión,
Double,
Programación
viernes, noviembre 01, 2013
Obtener número de una cadena Alfanumérica
Obtener número de una cadena Alfanumérica
Esta función obtiene el primer numero real que encuentra en la cadena, no importa si esta en notación científica.
public boolean containsNumber(String str){
String aux="";
for(int i=0;i<str.length();i++){
aux=""+str.charAt(i);
if(this.isNumeric(aux)){
return true;
}
}
return false;
}
public double getFirstNumberFromString(String str){
double num=Double.NaN;
int i=0;
int j=0;
int p=0, p2=0;
String aux="";
String aux2="";
while(j<str.length()){
aux2=""+str.charAt(j);
if(this.isNumeric(aux2)){
if(j-1>=0){
aux2=""+str.charAt(j-1);
if(aux2.equals("-")){
j=j-1;
}
}
p=j;
j=str.length();
}
j++;
}
i=p;
while(i<str.length()){
aux=str.substring(p,i+1);
if(this.isNumeric(aux)){
num=Double.parseDouble(aux);
}
i++;
}
System.out.println(num);
return num;
}
Esta función obtiene el primer numero real que encuentra en la cadena, no importa si esta en notación científica.
public boolean containsNumber(String str){
String aux="";
for(int i=0;i<str.length();i++){
aux=""+str.charAt(i);
if(this.isNumeric(aux)){
return true;
}
}
return false;
}
public double getFirstNumberFromString(String str){
double num=Double.NaN;
int i=0;
int j=0;
int p=0, p2=0;
String aux="";
String aux2="";
while(j<str.length()){
aux2=""+str.charAt(j);
if(this.isNumeric(aux2)){
if(j-1>=0){
aux2=""+str.charAt(j-1);
if(aux2.equals("-")){
j=j-1;
}
}
p=j;
j=str.length();
}
j++;
}
i=p;
while(i<str.length()){
aux=str.substring(p,i+1);
if(this.isNumeric(aux)){
num=Double.parseDouble(aux);
}
i++;
}
System.out.println(num);
return num;
}
Convertir un numero Double a Cadena (Notación decimal Real)
Convertir un numero Double a Cadena (Notación decimal Real) No Notación Científica
Convierte:
1.0E-6
a una cadena
0.0000010
Convierte:
1.0E-6
a una cadena
0.0000010
public String doubleToString(double num){
String str="",aux="",aux2="";
aux=""+num;
int exp=0;
int p;
boolean positivo=true;
if(num<0){
positivo=false;
}
System.out.println(num);
if(aux.contains("E-")){
exp=Integer.parseInt(aux.substring(aux.lastIndexOf("E")+1));
exp=exp*(-1);
str=""+aux.substring(0,aux.lastIndexOf("E"));
str=str.replace("-","");
while(exp>0){
str="0"+str;
exp--;
}
str=str.replace(".","");
str=str.substring(0,1)+"."+str.substring(1);
if(positivo==false){
str="-"+str;
}
}else if(aux.contains("E")){
exp=Integer.parseInt(aux.substring(aux.lastIndexOf("E")+1));
int e=exp;
str=""+aux.substring(0,aux.lastIndexOf("E"));
if(str.contains(".")){
int e2=str.length()-str.indexOf(".")-1;
e=e-e2;
int pt=str.indexOf(".")+exp;
str=str.replace(".","");
while(e>0){
str=str+"0";
e--;
}
if(pt<str.length()){
str=str.substring(0,pt)+"."+str.substring(pt);
}
}
}else{
return aux;
}
return str;
}
Saber si la cadena es un numero
Saber si la cadena es un numero
Esta booleana devuelve verdadero si TODO el contenido de la cadena es un Numero.
public boolean isNumeric(String str){
try{
Double.parseDouble(str);
return true;
}catch(Exception ex){
return false;
}
}
Esta booleana devuelve verdadero si TODO el contenido de la cadena es un Numero.
public boolean isNumeric(String str){
try{
Double.parseDouble(str);
return true;
}catch(Exception ex){
return false;
}
}
Saber si una cadena contiene un Numero
Saber si una cadena contiene un Numero
Esta función booleana devuelve verdadero si existe un numero en la cadena.
public boolean containsNumber(String str){
String aux="";
for(int i=0;i<str.length();i++){
aux=""+str.charAt(i);
if(this.isNumeric(aux)){
return true;
}
}
return false;
}
Esta función booleana devuelve verdadero si existe un numero en la cadena.
public boolean containsNumber(String str){
String aux="";
for(int i=0;i<str.length();i++){
aux=""+str.charAt(i);
if(this.isNumeric(aux)){
return true;
}
}
return false;
}
lunes, septiembre 09, 2013
Convertidor Decimal - Binario en Java (Punto Flotante)
Convertidor Decimal - Binario
Convertidor hecho en java.
Convertidor hecho en java.
- Decimal a Binario
- Binario a Decimal
- Decimal a Binario en Punto Flotante
- Binario en Punto Flotante a Decimal
Les dejo el ejecutable en Windows.
Codigo:
Actividad de Métodos Numéricos (Análisis Numérico) - Universidad Simón Bolívar - Barranquilla, Colombia
Codigo:
Decimal a Binario Java
Si quieres el código completo escríbeme a mi email: desarrolloenjava@gmail.com y negociamos ($)... Lo reestructuro para que lo presentes como tuyo.Actividad de Métodos Numéricos (Análisis Numérico) - Universidad Simón Bolívar - Barranquilla, Colombia
Etiquetas:
Algoritmia,
Análisis,
Asignatura,
Aula,
Binario,
Conversión,
Decimal,
Estructura de Datos,
Ingeniería,
Java,
Netbeans,
Numérico,
Objetos,
Proyecto,
Sistemas
Tomar foto con webcam en Java: JCameraPlus Lite
Tomar foto con webcam en Java: JCameraPlus Lite (Java Media Framework)
Esta es una aplicación realizada en netbeans con la librería JMF que permite captura una foto con tu webcam si la tienes. También cuenta con una galería donde se muestran las fotos que se han tomado y hace capturas de la pantalla, es muy sencillo y dinámico.
Nota: Obviamente necesitas tener instalado Java y la librería JMF
Les dejo el código fuente de la aplicación y su ejecutable para windows, tambien el instalador de JMF.
DESCARGAR JCAMERAPLUS
DESCARGAR CÓDIGO FUENTE
DESCARGAR INSTALADOR JMF
Esta es una aplicación realizada en netbeans con la librería JMF que permite captura una foto con tu webcam si la tienes. También cuenta con una galería donde se muestran las fotos que se han tomado y hace capturas de la pantalla, es muy sencillo y dinámico.
Nota: Obviamente necesitas tener instalado Java y la librería JMF
Les dejo el código fuente de la aplicación y su ejecutable para windows, tambien el instalador de JMF.
DESCARGAR JCAMERAPLUS
DESCARGAR CÓDIGO FUENTE
DESCARGAR INSTALADOR JMF
Etiquetas:
Algoritmia,
Análisis,
Binario,
Cámara,
Captura,
Conversión,
Decimal,
Estructura de Datos,
Fotos,
Ingeniería,
Java,
Netbeans
viernes, agosto 16, 2013
Reproductor de Audio hecho en Java
Reproductor de Audio hecho en Java
JPLAYER MAX 1.0
Simple
Sencillo
Dinámico
Lista de Reproducción
Skins intercambiables
By Jose Meza Meza
Les dejo el link con el proyecto de netbeans y un ejecutable (.exe) windows
DESCARGAR
Simple
Sencillo
Dinámico
Lista de Reproducción
Skins intercambiables
By Jose Meza Meza
Les dejo el link con el proyecto de netbeans y un ejecutable (.exe) windows
DESCARGAR
Etiquetas:
Algoritmia,
Asignatura,
Aula,
Base de Datos,
Estructura de Datos,
Ingeniería,
Java,
Netbeans,
Objetos,
Proyecto,
Sistemas
lunes, agosto 05, 2013
Poner Icono a un JFrame en una Aplicación Java
Poner Icono a un JFrame en una Aplicación Java
Solo colocas esto en tu constructor.
Icon.png es la dirección de la imagen y debe estar dentro de la carpeta de tu aplicación, si es netbeans debe estar en la carpeta src.
this.setIconImage (new ImageIcon(getClass().getResource("Icon.png")).getImage());
Solo colocas esto en tu constructor.
Icon.png es la dirección de la imagen y debe estar dentro de la carpeta de tu aplicación, si es netbeans debe estar en la carpeta src.
this.setIconImage (new ImageIcon(getClass().getResource("Icon.png")).getImage());
Etiquetas:
Algoritmia,
Asignatura,
Aula,
Base de Datos,
Estructura de Datos,
Ingeniería,
Java,
Netbeans,
Objetos,
Proyecto,
Sistemas
Captura de Pantalla en Java
Captura de Pantalla en Java
import java.awt.*;
import java.awt.image.*;
import java.io.*;
import javax.imageio.ImageIO;
import javax.swing.JFileChooser;
import javax.swing.JOptionPane;
import javax.swing.filechooser.FileNameExtensionFilter;
public class Capture {
private BufferedImage image;
private FileNameExtensionFilter filter = new FileNameExtensionFilter("Archivos de Imagen","jpg");
private JFileChooser fileChooser = new JFileChooser();
/* CAPTURA LA PANTALLA */
public boolean captureScreen() {
try {
//crea el area de captura
Robot robot = new Robot();
image = robot.createScreenCapture(new Rectangle(Toolkit.getDefaultToolkit().getScreenSize()));
return getImage();
} catch (Exception ex) {
}
return false;
}
private boolean getImage(){
String file=null;
fileChooser = new JFileChooser();
fileChooser.setFileFilter(filter);
int result = fileChooser.showSaveDialog(null);
if ( result == JFileChooser.APPROVE_OPTION ){
file = fileChooser.getSelectedFile().toString();
return SaveImage(file + ".jpg");
}
return false;
}
/* guarda la imagen en disco*/
private boolean SaveImage(String f){
try {
//se escribe en disco en formato JPG
ImageIO.write(image, "jpg", new File(f));
return true;
} catch (IOException e) {
}
return false;
}
}
import java.awt.*;
import java.awt.image.*;
import java.io.*;
import javax.imageio.ImageIO;
import javax.swing.JFileChooser;
import javax.swing.JOptionPane;
import javax.swing.filechooser.FileNameExtensionFilter;
public class Capture {
private BufferedImage image;
private FileNameExtensionFilter filter = new FileNameExtensionFilter("Archivos de Imagen","jpg");
private JFileChooser fileChooser = new JFileChooser();
/* CAPTURA LA PANTALLA */
public boolean captureScreen() {
try {
//crea el area de captura
Robot robot = new Robot();
image = robot.createScreenCapture(new Rectangle(Toolkit.getDefaultToolkit().getScreenSize()));
return getImage();
} catch (Exception ex) {
}
return false;
}
private boolean getImage(){
String file=null;
fileChooser = new JFileChooser();
fileChooser.setFileFilter(filter);
int result = fileChooser.showSaveDialog(null);
if ( result == JFileChooser.APPROVE_OPTION ){
file = fileChooser.getSelectedFile().toString();
return SaveImage(file + ".jpg");
}
return false;
}
/* guarda la imagen en disco*/
private boolean SaveImage(String f){
try {
//se escribe en disco en formato JPG
ImageIO.write(image, "jpg", new File(f));
return true;
} catch (IOException e) {
}
return false;
}
}
Etiquetas:
Algoritmia,
Asignatura,
Aula,
Base de Datos,
Estructura de Datos,
Ingeniería,
Java,
Netbeans,
Objetos,
Proyecto,
Sistemas
Obtener las propiedades de Sistema en Java
Propiedades de Sistema en Java
Esta es una clase muy sencilla que los guiará sobre como obtener algunas de las propiedades del sistema mas importantes como sistema operativo, arquitectura del sistema, nombre de usuario, procesador, versión del JDK, etc.
Código
class InfoCompu
{
public static void main(String args[])
{
System.out.println("Nombre del PC: " + nombrePC());
System.out.println("Nombre usuario: " + usuario());
System.out.println("Procesador: " + procesador());
System.out.println("Sistema operativo: " + SO());
System.out.println("Version JDK: " + JDK());
System.out.println("Directorio actual: " + dir());
}
public static String nombrePC()
{
return System.getenv("COMPUTERNAME");
}
public static String usuario()
{
return System.getProperty("user.name");
}
public static String procesador()
{
return System.getenv("PROCESSOR_IDENTIFIER");
}
public static String SO()
{
return System.getProperty("os.name");
}
public static String JDK()
{
return System.getProperty("java.version");
}
public static String dir()
{
return System.getProperty("user.dir");
}
}
Esta es una clase muy sencilla que los guiará sobre como obtener algunas de las propiedades del sistema mas importantes como sistema operativo, arquitectura del sistema, nombre de usuario, procesador, versión del JDK, etc.
Código
class InfoCompu
{
public static void main(String args[])
{
System.out.println("Nombre del PC: " + nombrePC());
System.out.println("Nombre usuario: " + usuario());
System.out.println("Procesador: " + procesador());
System.out.println("Sistema operativo: " + SO());
System.out.println("Version JDK: " + JDK());
System.out.println("Directorio actual: " + dir());
}
public static String nombrePC()
{
return System.getenv("COMPUTERNAME");
}
public static String usuario()
{
return System.getProperty("user.name");
}
public static String procesador()
{
return System.getenv("PROCESSOR_IDENTIFIER");
}
public static String SO()
{
return System.getProperty("os.name");
}
public static String JDK()
{
return System.getProperty("java.version");
}
public static String dir()
{
return System.getProperty("user.dir");
}
}
Etiquetas:
Algoritmia,
Asignatura,
Aula,
Base de Datos,
Estructura de Datos,
Ingeniería,
Java,
Netbeans,
Objetos,
Proyecto,
Sistemas,
Windows
Suscribirse a:
Entradas (Atom)









