necesito ayuda compañeros
hola que tal compañeros necesito ayuda espero alguien me pueda ayudar
necesito programar un automata en java que lea la subcadena 1 1, ya sea que que la lleve al principio en medio o al final no importa el orden pero que no se repita.
ya lo tengo hecho pero me salen unos errores al momento de correr el programa al leer las cadenas en los diferentes estados del automata me arroja error
aqui les muestro el automata propuesto con las cadenas que acepta y que no cepta tambien
y aqui el codigo del programa
package miautomata;
import java.util.Scanner;
public class Miautomata {
int cont;
boolean cadAceptada;
char [] cadena;
public static void main(String[] args) {
int opcion=1;
Scanner in = new Scanner(System.in);
while(opcion == 1){
Miautomata a=new Miautomata();
System.out.println("AUTOMATA QUE CONTENGA LA SUBCADENA 11 AL PRINCIPIO AL MEDIO O AL FINAL ");
System.out.println("\nESCRIBA LA CADENA :");
String linea = in.next();
a.cadena = linea.toCharArray();
a.inicio();
a.resultado();
System.out.println("1. Probar otra cadena");
System.out.println("2. Salir ");
opcion = in.nextInt();
System.out.println("\n");
}
}
public void inicio(){
cont=1;
cadAceptada=false;
q0();
}
public void q0(){
System.out.println("\nEstoy en Q 0");
if(cont
- alexander92's blog
- Inicie sesión o regístrese para enviar comentarios
Automata
Tu diagrama del Autómata no corresponde con la expresión regular, Me gustó tu caso, en la tarde lo programaré.
Si la expresión regular es: 0*(11)+0*, entonces algunos ejemplos serían:
Aceptados:
001100000
0011111100
110000
0000001111
No aceptados:
110011
10101
00110011
00110010
Aquí una posible implementación
Estimado, aquí una posible solución, revisar Saludos.