VS使用C#语言现在需要补充代码private void button7_Clickobject sender EventArgs e使用子集构造算法使得在lisview2中显示起始状态、接受符号、到达状态三列并在label5中显示初始状态集label7中显示终止状态集private void button3_Clickobject sender EventArgs e
private void button7_Click(object sender, EventArgs e) { //获取初始状态集 string[] startStates = startSymbol.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries); label5.Text = "初始状态集: " + startSymbol;
//获取终止状态集
string[] endStates = endSymbol.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
label7.Text = "终止状态集: " + endSymbol;
//将起始状态、接受符号、到达状态添加到lisview2中
listView2.Columns.Add("起始状态");
listView2.Columns.Add("接受符号");
listView2.Columns.Add("到达状态");
listView2.View = View.Details;
foreach (string state in startStates)
{
foreach (string symbol in symbolSet)
{
//获取到达状态
string nextState = GetNextState(state, symbol);
//添加到lisview2中
ListViewItem item = new ListViewItem(state);
item.SubItems.Add(symbol);
item.SubItems.Add(nextState);
listView2.Items.Add(item);
}
}
}
//获取到达状态 private string GetNextState(string startState, string inputSymbol) { string nextState = ""; for (int i = 0; i < lines.Length; i++) { string[] tokens = lines[i].Split(new char[] { '\t' }, StringSplitOptions.RemoveEmptyEntries); if (tokens[0] == startState && tokens[1] == inputSymbol) { nextState += tokens[2] + ","; } } return nextState.TrimEnd(',');
原文地址: https://www.cveoy.top/t/topic/cZyi 著作权归作者所有。请勿转载和采集!