iterazione.java

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

JAVA
61
字号
////  Iterazione.java////  Created by Dario Malchiodi on Jan 04 2006.//  Copyright (c) 2006 DSI. All rights reserved.//import java.util.*;public class Iterazione extends Istruzione {    String variabile;    Istruzione corpo;    String operazione;    int valore;        public Iterazione(String v, Istruzione c, String o, int val) {        variabile = new String(v);        corpo = (Istruzione)c.clone();        operazione = new String(o);        valore = val;    }        private boolean checkCondizione() {        boolean condizione;                int v = ((Integer)memoria.get(variabile)).intValue();        if(operazione.equals("<")) condizione = (v<valore);        else if(operazione.equals("<=")) condizione = (v<=valore);        else if(operazione.equals(">")) condizione = (v>valore);        else if(operazione.equals(">=")) condizione = (v>=valore);        else if(operazione.equals("==")) condizione = (v==valore);        else condizione = (v!=valore);                return condizione;    }        public void esegui() throws ExecutionException {        if(memoria.get(variabile) == null) throw new InvalidVariableException(variabile);                if((!operazione.equals("<"))&&(!operazione.equals("<="))          &&(!operazione.equals(">"))&&(!operazione.equals(">="))          &&(!operazione.equals("=="))&&(!operazione.equals("!=")))            throw new InvalidOperandException(operazione);                while(checkCondizione()) corpo.esegui();    }        public Object clone() {        return new Iterazione(variabile, (Istruzione)corpo.clone(), new String(operazione), valore);    }        public String toString() {        StringBuffer ret = new StringBuffer(indenta() + "WHILE("+variabile+"!=0"+")\n");        numSpazi +=2;        ret.append(corpo);        numSpazi -=2;        return ret.toString();    }}

⌨️ 快捷键说明

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