• 大小: 4KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-18
  • 语言: Java
  • 标签: DFA  NFA  java  

资源简介

DFA NFA 用java实现,代码简单易懂,并附有程序设计文档。

资源截图

代码片段和文件信息

import java.util.*;
import java.io.*;

class DFA
{
boolean recognizeString(int move[][] int accept_state[] String word)
{
                int step = 0;
                char temp;
                int i;
                for(i = 0; i < word.length(); i++)
                {
                        int j = 0;
                        temp = word.charAt(i);
                        j = temp - ‘a‘;
                        step = move[step][j];                     
                }
                for(i = 0; i < accept_state.length; i++)
                {
                        if(step == accept_state[i])
                               return true;
                }
                return false;
}
public static void main(String args[]) throws IOException
{
int n m;
BufferedReader in = new BufferedReader(new FileReader(“DFA.in“));
StringTokenizer st = new StringTokenizer(in.readLine());
n = Integer.parseInt(st.nextToken());
m = Integer.parseInt(st.nextToken());
while (n != 0)
{
int[][] move = new int[n][m];
for(int i=0; i {
st = new StringTokenizer(in.readLine());
for (int j=0; j move[i][j] = Integer.parseInt(st.nextToken());
}
String[] temp = in.readLine().split(“\\s“);
int[] accept = new int[temp.length];
for (int i=0; i String word = in.readLine();
while (word.compareTo(“#“) != 0)
{
DFA dfa = new DFA();
if (dfa.recognizeString(move accept word)) System.out.println(“YES“); else System.out.println(“NO“);
word = in.readLine();
}
st = new StringTokenizer(in.readLine());
n = Integer.parseInt(st.nextToken());
m = Integer.parseInt(st.nextToken());
}
}
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        1048  2012-10-25 23:43  NFA\NFA.txt
     目录           0  2012-10-25 23:40  DFA\
     文件          24  2012-10-24 11:09  DFA\DFA.bat
     文件          89  2012-10-11 15:52  DFA\DFA.in
     文件        1736  2012-10-24 11:02  DFA\DFA.java
     文件         821  2012-10-24 11:27  DFA\DFA.txt
     目录           0  2012-10-25 23:39  NFA\
     文件          24  2012-10-24 11:28  NFA\NFA.bat
     文件          92  2012-10-11 15:52  NFA\NFA.in
     文件        3206  2012-10-25 20:49  NFA\NFA.java

评论

共有 条评论