miércoles, 14 de octubre de 2009

Automata Numero 2

package automata2;
import java.io.*;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.JOptionPane;
/**
*
* @author lklk
*/
public class Main {

public static void main(String[] args) {

String cadena;
try
{

BufferedReader n=new BufferedReader(new FileReader("Cadenas.txt"));
try {
while ((cadena = n.readLine()) != null) {
//cadena=n.readLine();
comprueba(cadena);
}
} catch (IOException ex) {
Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
}

}
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];
// l N - FC
matriz[0][0]=2; matriz[0][1]=4; matriz[0][2]=2; matriz[0][3]='E';
matriz[1][0]=3; matriz[1][1]=3; matriz[1][2]=3; matriz[1][3]='A';
matriz[2][0]=3; matriz[2][1]=3; matriz[2][2]=3; matriz[2][3]='E';
matriz[3][0]=4; matriz[3][1]=4; matriz[3][2]=4; matriz[3][3]='E';

int r=0,k=0,p;

for(int i=0;i<1;i++)
{
if(nuevacadena.charAt(i)=='f')
{
p=i;
p=p+1;
if(nuevacadena.charAt(p)=='o')
{
p=p+1;
if(nuevacadena.charAt(p)=='r')
{
r=4;
}
}
}//else{k=k+1;}

if(nuevacadena.charAt(i)=='d')
{
p=i;
p=p+1;
if(nuevacadena.charAt(p)=='o')
{
r=4;
}
}//else{k=k+1;}
if(nuevacadena.charAt(i)=='w')
{
p=i;
p=p+1;
if(nuevacadena.charAt(p)=='h')
{
p=p+1;
if(nuevacadena.charAt(p)=='i')
{
p=p+1;
if(nuevacadena.charAt(p)=='l')
{
p=p+1;
if(nuevacadena.charAt(p)=='e')
{
r=4;
}
}
}
}
}//else{k=k+1;}
if(nuevacadena.charAt(i)=='b')
{
p=i;
p=p+1;
if(nuevacadena.charAt(p)=='r')
{
p=p+1;
if(nuevacadena.charAt(p)=='e')
{
p=p+1;
if(nuevacadena.charAt(p)=='a')
{
p=p+1;
if(nuevacadena.charAt(p)=='k')
{
r=4;
}
}
}
}
}//else{k=k+1;}
}

int ren=1, col=0;
k=0;
try
{
JOptionPane.showMessageDialog(null,r);
if(r!=4)
{
for(int i=0; i {
k=0;
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);

}
else{k=k+1;}

if(Character.isDigit(nuevacadena.charAt(i)))
{
col=1;
ren=matriz[ren][col];
JOptionPane.showMessageDialog(null,ren);

}
else{k=k+1;}

if(nuevacadena.charAt(i)=='-')
{
col=2;
ren=matriz[ren][col];
JOptionPane.showMessageDialog(null,ren);

} else{k=k+1;}

if(k==3)
{r=1;}

}
}else{ren=3;};
if(r==1)
{ren=4; }
if (ren==4)
{JOptionPane.showMessageDialog(null,"Cadena Invalida");}
else
{JOptionPane.showMessageDialog(null,"Cadena Valida");}
} catch (ArrayIndexOutOfBoundsException exc){
}
}
}

No hay comentarios:

Publicar un comentario