📄 function.java
字号:
import java.io.FileOutputStream;
import java.io.PrintStream;
import java.util.Stack;
import java.util.Vector;
public class Function {
public void display(Stack statusstack,Stack charstack,Vector<String> vector,PrintStream ps){
for(int i=0;i<charstack.size();i++){
ps.print(charstack.get(i));
}
ps.print(" ");
for(int i=0;i<vector.size();i++){
ps.print(vector.get(i));
}
ps.print(" ");
for(int i=0;i<statusstack.size();i++){
ps.print(statusstack.get(i));
}
ps.println();
}
public void function(Vector<String> v) throws Exception{
Stack statusstack=new Stack();
statusstack.push("0");
Stack charstack=new Stack();
charstack.push("#");
Vector<String> vector=new Vector<String>();
for(int i=0;i<v.size();i++){
vector.add(v.get(i));
}
vector.add("#");
FileOutputStream fos=new FileOutputStream("Result.txt");
PrintStream ps=new PrintStream(fos);
while(!statusstack.peek().equals("1")||!charstack.peek().equals("S")||!vector.get(0).equals("#")){
display(statusstack,charstack,vector,ps);
if(statusstack.peek().equals("0")){
if(vector.get(0).equals("a")){
statusstack.push("2");
charstack.push("a");
vector.remove(0);
}else{
ps.println("分析失败");
break;
}
}else if(statusstack.peek().equals("1")){
if(vector.get(0).equals("#")){
display(statusstack,charstack,vector,ps);
ps.println("分析成功");
}else{
ps.println("分析失败");
break;
}
}else if(statusstack.peek().equals("2")){
if(vector.get(0).equals("b")){
statusstack.push("4");
charstack.push("b");
vector.remove(0);
}else{
ps.println("分析失败");
break;
}
}else if(statusstack.peek().equals("3")){
if(vector.get(0).equals("c")){
statusstack.push("5");
charstack.push("c");
vector.remove(0);
}else if(vector.get(0).equals("b")){
statusstack.push("6");
charstack.push("b");
vector.remove(0);
}else{
ps.println("分析失败");
break;
}
}else if(statusstack.peek().equals("4")){
if(vector.get(0).equals("a")||vector.get(0).equals("c")||vector.get(0).equals("e")||vector.get(0).equals("b")||vector.get(0).equals("d")||vector.get(0).equals("#")){
statusstack.pop();
charstack.pop();
charstack.push("A");
statusstack.push("3");
}
}else if(statusstack.peek().equals("5")){
if(vector.get(0).equals("d")){
statusstack.push("8");
charstack.push("d");
vector.remove(0);
}else{
ps.println("分析失败");
break;
}
}else if(statusstack.peek().equals("6")){
if(vector.get(0).equals("a")||vector.get(0).equals("c")||vector.get(0).equals("e")||vector.get(0).equals("b")||vector.get(0).equals("d")||vector.get(0).equals("#")){
statusstack.pop();
statusstack.pop();
charstack.pop();
charstack.pop();
charstack.push("A");
statusstack.push("3");
}
}else if(statusstack.peek().equals("7")){
if(vector.get(0).equals("e")){
statusstack.push("9");
charstack.push("e");
vector.remove(0);
}else{
ps.println("分析失败");
break;
}
}else if(statusstack.peek().equals("8")){
if(vector.get(0).equals("a")||vector.get(0).equals("c")||vector.get(0).equals("e")||vector.get(0).equals("b")||vector.get(0).equals("d")||vector.get(0).equals("#")){
statusstack.pop();
charstack.pop();
charstack.push("B");
statusstack.push("7");
}
}else if(statusstack.peek().equals("9")){
if(vector.get(0).equals("a")||vector.get(0).equals("c")||vector.get(0).equals("e")||vector.get(0).equals("b")||vector.get(0).equals("d")||vector.get(0).equals("#")){
statusstack.pop();
statusstack.pop();
statusstack.pop();
statusstack.pop();
statusstack.pop();
charstack.pop();
charstack.pop();
charstack.pop();
charstack.pop();
charstack.pop();
charstack.push("S");
statusstack.push("1");
}
}
}
if(statusstack.peek().equals("1")){
if(vector.get(0).equals("#")){
display(statusstack,charstack,vector,ps);
ps.println("分析成功");
}
}
ps.close();
fos.close();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -