导入java.io。*;
import java.util。*;
/ *
包含偶数的字符串
0 1
A * A B
B B A
* /
公共类FSM
{
final static int STATES = 2,INPUTS = 2;
公共静态无效对象main(String [] args)抛出IOException
{
布尔[]接受=新布尔[状态];
int [] [] fsm = new int [STATES] [INPUTS]; //状态表
accept [0] = true;
accept [1] = false;
fsm [0] [0] = 0;
fsm [0] [1] = 1;
fsm [1] [0] = 1;
fsm [1] [1] = 0;
//状态A = 0,状态B = 1
int inp = 0; //输入符号(0..INPUTS)
int状态= 0; //起始状态;
尝试
{
inp = System.in.read()-'0'; //字符输入,
//转换为整数。
while(inp> = 0 && inp
{
状态= fsm [状态] [inp]; //下一个状态
inp = System.in.read()-'0'; //获取下一个输入
}
}
catch(IOException ioe)
{
System.out.println(“ IO错误” + ioe ;;
}
如果(接受[状态])
System.out.println(“已接受”);
else
System.out.println(“已拒绝”);
}
}
有人可以为我解释该程序的作用吗?我在这里很困惑。我运行了程序,但在输入时,它几乎接受了所有包含输入符号的字符。这是什么意思?