Está en la página 1de 3

package teoria1;

import java.util.Scanner;

public class Teoria1 {

public static void main(String[] args) {

Scanner L= new Scanner (System.in);

String estado[]=new String[3];

String alfabeto[]=new String[3];

String lenguaje;

alfabeto[0]="a";

alfabeto[1]="b";

alfabeto[2]="c";

estado[0]="s0";

estado[1]="s1";

estado[2]="s2";

int Long_alfabeto=alfabeto.length;

int Long_estado=estado.length;

String matrizTransicion[][]= new String[Long_alfabeto][Long_estado];

//System.out.println("ESTADO/ALFABETO");

for (int i=0;i<3;i++){

for (int j=0;j<3;j++){

System.out.println("Ingrese relación en "+estado[i]+", "+alfabeto[j]);

matrizTransicion[i][j]=L.nextLine();

System.out.println("Ingrese estado inicial:");

String estado_inicial=L.nextLine();

System.out.println("Ingrese estado final:");

String estado_final=L.nextLine();
System.out.println("Ingrese el lenguaje que satisface a la máquina");

lenguaje=L.nextLine();

if (recorrer(matrizTransicion,estado_inicial,estado_final,lenguaje,estado,alfabeto)){

System.out.println("El lenguaje cumple la condicion");

else{

System.out.println("El lenguaje no cumple con la condicion");

static boolean recorrer (String matrizTransicion[][], String estado_inicial, String estado_final,


String lenguaje, String estado[], String alfabeto[]){

int letra;

int estadop;

String actual=estado_inicial;

System.out.println("ESTADO INICIAL: "+estado_inicial);

for (int j=0;j<lenguaje.length();j++){

letra=letra(alfabeto,lenguaje.charAt(j));

estadop=estado(estado,estado_inicial);

if (letra!=-1 && estadop!=-1){

System.out.println("ESTADO ACTUAL: "+matrizTransicion[estadop][letra]);

actual=estado_inicial=matrizTransicion[estadop][letra];

else {

return false;

if (actual.equals(estado_final)){

return true;

}
return false;

static int letra (String alfabeto[],char letra){

for (int i=0; i<alfabeto.length; i++){

if ((alfabeto[i]).equals(String.valueOf(letra))){

return i;

return -1;

static int estado (String estado[], String letra){

for (int i=0; i<estado.length; i++){

if (estado[i].equals(letra)){

return i;

return -1;

También podría gustarte