• Sábado 21 de Septiembre de 2024, 14:49

Autor Tema:  Problema con una condicion AFD  (Leído 2280 veces)

Tho0m87

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Problema con una condicion AFD
« en: Lunes 21 de Diciembre de 2009, 00:35 »
0
Buenas aqui tengo un pequeño problema en el que me perdi quisiera poner modificar mi codigo para que me de esta condicion
1. Adaptado con el AFD que no me acepte palabras que comiencen con la subcadena 001 (Dije que no comiencen pero una vez que no comenzaron pueden contener la cadena)

Aqui esta el codigo que hice:
Código: Text
  1. import java.io.*;
  2. public class Afd { //acepta cadenas con numero de a impar
  3.    
  4. public static void main (String[] arg) {
  5.       try{
  6.       BufferedReader lect=new BufferedReader(new FileReader("afd.txt"));  //Lee el archivo afd con las cadenas
  7.       String lin=lect.readLine();
  8.       char c=' ';
  9.       int mov=0;
  10.       int v[][]=
  11.       { //a b
  12.          {1,0},   //0
  13.          {0,1},   //1
  14.       };
  15.       while(lin!=null){
  16.         for(int x=0;x<lin.length();x++){
  17.          c=lin.charAt(x);
  18.          System.out.println("recibimos el caracter:"+" "+c);
  19.            if(c=='a'){
  20.              mov=v[mov][0];
  21.            }
  22.            if(c=='b'){
  23.              mov=v[mov][1];
  24.            }  
  25.         }if(mov==1){
  26.             System.out.println("la cadena fue aceptada");
  27.             mov=0;
  28.            }else{
  29.              System.out.println("la cadena no fue aceptada");
  30.             }  
  31.         lin=lect.readLine();
  32.        }
  33.      }catch(Exception e){
  34.        System.out.println("no se encontro el archivo");
  35.       }
  36.     }
  37.    
  38.    
  39. }
  40.  





Aqui esta el codigo
si alguen pudiera ayudarme con este problema Gracias =)

gophlb

  • Visitante
Re: Problema con una condicion AFD
« Respuesta #1 en: Lunes 21 de Diciembre de 2009, 08:21 »
0
Cita de: "Tho0m87"
Buenas aqui tengo un pequeño problema en el que me perdi quisiera poner modificar mi codigo para que me de esta condicion
1. Adaptado con el AFD que no me acepte palabras que comiencen con la subcadena 001 (Dije que no comiencen pero una vez que no comenzaron pueden contener la cadena)

Aqui esta el codigo que hice:
Código: Text
  1. import java.io.*;
  2. public class Afd { //acepta cadenas con numero de a impar
  3.    
  4. public static void main (String[] arg) {
  5.       try{
  6.       BufferedReader lect=new BufferedReader(new FileReader("afd.txt"));  //Lee el archivo afd con las cadenas
  7.       String lin=lect.readLine();
  8.       char c=' ';
  9.       int mov=0;
  10.       int v[][]=
  11.       { //a b
  12.          {1,0},   //0
  13.          {0,1},   //1
  14.       };
  15.       while(lin!=null){
  16.         for(int x=0;x<lin.length();x++){
  17.          c=lin.charAt(x);
  18.          System.out.println("recibimos el caracter:"+" "+c);
  19.            if(c=='a'){
  20.              mov=v[mov][0];
  21.            }
  22.            if(c=='b'){
  23.              mov=v[mov][1];
  24.            }  
  25.         }if(mov==1){
  26.             System.out.println("la cadena fue aceptada");
  27.             mov=0;
  28.            }else{
  29.              System.out.println("la cadena no fue aceptada");
  30.             }  
  31.         lin=lect.readLine();
  32.        }
  33.      }catch(Exception e){
  34.        System.out.println("no se encontro el archivo");
  35.       }
  36.     }
  37.    
  38.    
  39. }
  40.  





Aqui esta el codigo
si alguen pudiera ayudarme con este problema Gracias =)

no me he enterado muy bien del tema, pero si lo que quieres es que no te acepte algo del tipo 001* ... usa expresiones regulares :D
asi te evitas tener que usar bucles y busquedas y solo tienes que usar un pattern y un matcher.

http://www.programacion.com/java/articu ... sionesreg/

si es eso, suerte !!!
y si no es eso...intenta especificar un poco mas, porque yo no he oido nunca nada sobre algo que se llame "condicion AFD"