资源简介
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
- 上一篇:java农夫过河问题
- 下一篇:Android自定义柱状图,带有标注和左右滑动效果
相关资源
- java农夫过河问题
- 图书进存销系统java完整代码
- GN算法Java版源码,个人鼎作
- java课程设计 客房管理系统
- c调用java的
- JAVA爬虫项目源代码
- java 聊天室 计算机网络
- JAVA算术编码
- 小叮当代码JAVA.rar
- java多线程文件传输基于swing
- SpringBoot实现Socket.io消息推送(java+h
- 图书馆管理系统java+S2SH+MySQL
- 数据库课程设计教务管理系统
- java数字波形生成器
- 简单的java实现数据库连接及宾馆客房
- Java编码规范
- java获取鼠标坐标位置swing
- java采用Bresenham算法画直线
- 选课授课信息管理系统
- SL275lab 练习答案
- JAVA修改AD域密码_免证书
- Java写的吃豆豆游戏源代码
- Java写的画图程序
- MIPS反编译器与模拟器使用JAVA
- JAVA管程解决哲学家问题
- android游戏开发,连连看源码
- java基于socket编写的聊天室程序
- Java重启式随机游走代码(Random Walk
- java 程序换头像
- 东北大学高级java期末试题
评论
共有 条评论