Java - implementacion de cualquier AFD

 
Vista:
sin imagen de perfil
Val: 7
Ha aumentado su posición en 5 puestos en Java (en relación al último mes)
Gráfica de Java

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:

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..


img3


Pero como se hiciera si cambia desd el textarea


img4

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
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder