selection.java

来自「myassembler(大学作业)」· Java 代码 · 共 39 行

JAVA
39
字号
public class Selection extends Statement {   private Expression condition;   private Statement ifStatement, elseStatement;   public Selection(Expression c, Statement ts, Statement fs) {      condition = (Expression)c.clone();      ifStatement = (Statement)ts.clone();      elseStatement = (Statement)fs.clone();   }   public void run() throws ExecutionException {      if (condition.eval() == 1) ifStatement.run();      else elseStatement.run();   }   public Object clone() {      return new Selection(condition, ifStatement, elseStatement);   }   /* ---------------------------------------     *    condition    *    jzero li    *    ifstatement    *    jump lj    * li:elsestatement    * lj:...       * @see java.lang.Object#toString()    */   public String toString() {      String result = condition.toString();      int truelabel = ++labels, falselabel = ++labels;      result += labelling()+"JZERO L"+falselabel+"\n"+ifStatement.toString()+labelling()+"JUMP L"+truelabel+"\n";      toLabel = falselabel;      result += elseStatement.toString();      toLabel = truelabel;      return result;   }}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?