AUTOMATAS FINITOS DETERMINISTAS
Publicado por Fernado (5 intervenciones) el 29/11/2018 22:42:45
Tengo un afd sencillo que lo eh realizado con metodo y con funciones del ArrayChar, pero quisiera que ese valor que me botan los metodos sean presentados despues de presionar un boton a un Text Area este es el codigo:
Lo que muestra al ejecutarse en consola seria asi:
Como es en consola yo kisiera que lo q pide la clase scanner sea igual a lo que uno escriba en un textfield y luego al presionar el boton analizar me muestre lo q aparecio en consola anteriormente
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
package afd;
import java.util.Scanner;
import java.util.StringTokenizer;
import javax.swing.JOptionPane;
public class Afd {
static char [] caracteres;
boolean aceptacion;
int contador;
public static void main(String[] args) {
//new JFrameAFD().setVisible(true);
Scanner sc = new Scanner(System.in);
Afd automata = new Afd();
System.out.println("Ingrese La cadena");
String cad;
cad = sc.nextLine();
while (cad.contains("bb")||(cad.contains("ba")||(cad.contains(" ")))){
System.out.println("Cadena no Aceptada");
System.out.println("\n");
System.out.print("Ingrese La cadena que desea determinar si se encuentra en el AFD: ");
cad = sc.nextLine();
System.out.println("\f");
}
caracteres = cad.toCharArray();
automata.Inicial();
if(automata.aceptacion){
System.out.println("\n");
System.out.println("La Cadena es Aceptada");
}else{
System.out.println("\n");
System.out.println("La Cadena no es Aceptada");
}
}
public void Inicial() {
contador = 0; //Declaramos en 0 para empezar las transiciones
q0();
}
public void q0() {
aceptacion = false;
if(contador<caracteres.length){
if(caracteres[contador]== 'a'){ //Si es el caracter que define el automata para la transicion
String a = "Estado q0";
System.out.println("Estado q0");
contador++;
q0(); //Transiciones si vale 'a' se mantenga en el estado q0
}else if (caracteres[contador]=='b'){
contador++;
q1();
}
}
}
public void q1() {
System.out.println("Estado q1 de Aceptacion");
aceptacion = true;
if(contador<caracteres.length){
if(caracteres[contador]== 'a'){
contador++;
q2();
}else if (caracteres[contador]=='b'){
contador++;
q2();
}
}
}
public void q2() {
System.out.println("Estado q2");
aceptacion = false;
if(contador<caracteres.length){
if(caracteres[contador]== 'a'){
contador++;
q2();
}else if (caracteres[contador]=='b'){
contador++;
q2();
return;
}
}
}
}
Lo que muestra al ejecutarse en consola seria asi:
Como es en consola yo kisiera que lo q pide la clase scanner sea igual a lo que uno escriba en un textfield y luego al presionar el boton analizar me muestre lo q aparecio en consola anteriormente
Valora esta pregunta
0