implementacion de cualquier AFD
Publicado por Fernado (5 intervenciones) el 30/11/2018 07:35:27
Chicos poseo un codigo de automatas, lo malo es que como todos sabemos los automatas finitos deterministas tienes una estructura llamada quintupla.
q0,q1,q2 --> Estados del afd
q0 --> Estado inicial del Afd
a,b --> alfabeto
q0,a=q0; q0,b=q1; q1,a=q2; q1,b=q2; q2,a=q2; q2,b=q2 --> Transiciones
q2 --> estado final
Consiste en q en un txt se cargue es configuracion y a partir de ella se ingrese valores x ejemplo aceptaria la cadena---> aaabbbbba
Pero la cuestion es q no se como hacerle para que si me modifica el txt entonces tendria otra configuracion y aceptaria otro tipos de cadenas, x ejemplo que se cambia a esto en el txt.
q0,q1,q2 --> Estados del afd
q0 --> Estado inicial del Afd
a,b --> alfabeto
q0,a=q0; q0,b=q1; q1,a=q1; q1,b=q2; q2,a=q1; q2,b=q2 --> Transiciones
q1 --> estado final
Entonces si cambiaria asi el formato del txt por medio de un textArea luego de modificarla ya no aceptaria cadenas como ---> aaabbbbbb
En otras palabras que el afd y sus transiciones dependeran de lo que yo cambie en el txt...
Intenete con ArrayList tome la Carga del txt pero no se como hacer aquello al modificar el txt mantener un codigo
Poseeo lo siguiente:
Hasta ahi poseo la carga, lo q no se es que clases o metodo aplicar, para q el AFD se cargue automatico segun los que indique su estrucura con el txtx y se pueda ingresar una cadena y la acepte o la rechace... esto muestra..

Pero como se hiciera si cambia desd el textarea

En el boton Cargar AFD poseo el sgte codigo:
q0,q1,q2 --> Estados del afd
q0 --> Estado inicial del Afd
a,b --> alfabeto
q0,a=q0; q0,b=q1; q1,a=q2; q1,b=q2; q2,a=q2; q2,b=q2 --> Transiciones
q2 --> estado final
Consiste en q en un txt se cargue es configuracion y a partir de ella se ingrese valores x ejemplo aceptaria la cadena---> aaabbbbba
Pero la cuestion es q no se como hacerle para que si me modifica el txt entonces tendria otra configuracion y aceptaria otro tipos de cadenas, x ejemplo que se cambia a esto en el txt.
q0,q1,q2 --> Estados del afd
q0 --> Estado inicial del Afd
a,b --> alfabeto
q0,a=q0; q0,b=q1; q1,a=q1; q1,b=q2; q2,a=q1; q2,b=q2 --> Transiciones
q1 --> estado final
Entonces si cambiaria asi el formato del txt por medio de un textArea luego de modificarla ya no aceptaria cadenas como ---> aaabbbbbb
En otras palabras que el afd y sus transiciones dependeran de lo que yo cambie en el txt...
Intenete con ArrayList tome la Carga del txt pero no se como hacer aquello al modificar el txt mantener un codigo
Poseeo lo siguiente:
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
package arraylist;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Scanner;
import javax.swing.JFileChooser;
import javax.swing.JOptionPane;
public class Arraylist {
public static void main(String[] args) {
File fichero = null;
FileReader fr = null;
ArrayList lineas = new ArrayList(); //Declaramos el ArrayList
/**
* Cargamos en la clase File el fichero que tenemos Almacenado en nuestro Pc
* Y luego lo añadimos al ArrayList
*/
try {
fichero = new File ("E:/afd.txt"); //Añadimos el txt
String linea; // String para leer fichero
fr = new FileReader (fichero); //Añadimos el valor la clase File
BufferedReader br = new BufferedReader(fr);
while((linea = br.readLine())!=null){
lineas.add(linea); //Añade las lineas que se encuentran en el txt al ArrayÑist
}
System.out.print ("El afd contine:\n ");//MOSTRAR LOS DATOS DEL ARREGLO
for (int j = 0 ; j < lineas.size() ; j++){
linea = (String)lineas.get(j);
System.out.print (linea+"\n"); // si uso lineas.get("Posicion que deseo")
}
}//Fin_Try
catch(IOException e){
}
finally{
}
}
}
Hasta ahi poseo la carga, lo q no se es que clases o metodo aplicar, para q el AFD se cargue automatico segun los que indique su estrucura con el txtx y se pueda ingresar una cadena y la acepte o la rechace... esto muestra..
Pero como se hiciera si cambia desd el textarea
En el boton Cargar AFD poseo el sgte codigo:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
String vacio = "";
String texto = "";
String resultado = "";
try {
JFileChooser file = new JFileChooser(System.getProperty("C:"));
file.showOpenDialog(this);
File archivo = file.getSelectedFile();
if (archivo != null) {
FileReader archivos = new FileReader(archivo);
BufferedReader leer = new BufferedReader(archivos);
while ((vacio = leer.readLine()) != null) {
texto += vacio + "\n";
}
leer.close();
}
} catch (IOException ex) {
JOptionPane.showMessageDialog(null, "Error Importando - " + ex);
}
TextArea1.setText(texto); //DEFINIR EL NOMBRE DE LA VARIABLE DEL TEXTAREA
Valora esta pregunta


0