* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package automata1;
import java.io.*;
import javax.swing.JOptionPane;
/**
*
* @author lklk
*/
public class Main {
public static void main(String args[]) throws IOException
{
String cadena;
try
{
BufferedReader n=new BufferedReader(new FileReader("Cadenas.txt"));
while((cadena=n.readLine())!=null){
//cadena=n.readLine();
comprueba(cadena);
}
}
catch(FileNotFoundException e)
{
System.out.println("No se encuentra el archivo");
}
}
public static void comprueba(String cadena)
{
String nuevacadena=cadena;
int tam=nuevacadena.length();
int matriz [][]=new int [8][6];
// [a-z] [0-9] + * FC
matriz[0][0]=2; matriz[0][1]=2; matriz[0][2]=4; matriz[0][3]=4; matriz[0][4]='E';
matriz[1][0]=5; matriz[1][1]=6; matriz[1][2]=3; matriz[1][3]=3; matriz[1][4]='A';
matriz[2][0]=2; matriz[2][1]=2; matriz[2][2]=7; matriz[2][3]=7; matriz[2][4]='E';
matriz[3][0]=4; matriz[3][1]=4; matriz[3][2]=4; matriz[3][3]=4; matriz[3][4]='E';
matriz[4][0]=5; matriz[4][1]=5; matriz[4][2]=5; matriz[4][3]=5; matriz[4][4]='E';
matriz[5][0]=6; matriz[5][1]=6; matriz[5][2]=6; matriz[5][3]=6; matriz[5][4]='E';
matriz[6][0]=7; matriz[6][1]=7; matriz[6][2]=7; matriz[7][3]=7; matriz[6][4]='E';
int ren=1, col=0;
try
{
for(int i=0; i
JOptionPane.showMessageDialog(null,nuevacadena.charAt(i));
ren=ren-1;
if(Character.isLetter(nuevacadena.charAt(i)))
{
col=0;
ren=matriz[ren][col];
JOptionPane.showMessageDialog(null,ren);
}
if(Character.isDigit(nuevacadena.charAt(i)))
{
col=1;
ren=matriz[ren][col];
JOptionPane.showMessageDialog(null,ren);
}
if(nuevacadena.charAt(i)=='+')
{
col=2;
ren=matriz[ren][col];
JOptionPane.showMessageDialog(null,ren);
}
if(nuevacadena.charAt(i)=='*')
{
col=3;
ren=matriz[ren][col];
JOptionPane.showMessageDialog(null,ren);
}
}
if (ren==2)
{JOptionPane.showMessageDialog(null,"Cadena Valida");}
else
{JOptionPane.showMessageDialog(null,"Cadena Invalida");}
} catch (ArrayIndexOutOfBoundsException exc){
}
}
}
No hay comentarios:
Publicar un comentario