⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 parameterizedmessage.java

📁 ALGAE是一个快速创建算法演示的框架。目前支持的算法实现语言包括java和c
💻 JAVA
字号:
package edu.odu.cs.zeil.AlgAE;import edu.odu.cs.zeil.AlgAE.Message;import java.util.Vector;/** * ParameterizedMessage.java * * * Created: Thu May 07 12:49:36 1998 * * @author Steven Zeil * @version */public class ParameterizedMessage {    Message message;  Vector params;    public ParameterizedMessage(Message msg, Vector parameters) {    message = msg;    params = parameters;  }    public ParameterizedMessage(Message msg) {    message = msg;    params = new Vector();  }    public ParameterizedMessage(Message msg, int i) {    message = msg;    params = new Vector();    params.addElement(new Integer(i));  }    public ParameterizedMessage(Message msg, String s) {    message = msg;    params = new Vector();    params.addElement(s);  }    static private final Class stringClass = ("").getClass();  public static String decode (String str)  {    StringBuffer decoded = new StringBuffer();    int i = 0;    int last = str.length();    if ((last > 0) && (str.charAt(i) == '"'))      ++i;    if ((last > i) && (str.charAt(last-1) == '"'))      --last;    while ( i < last)      {	char ch = str.charAt(i);	if (ch == '\\')	  {	    char c = str.charAt(i+1);	    int k;	    if (c >= 'A')	      k = c - 'A' + 10;	    else	      k = c - '0';	    c = str.charAt(i+2);	    if (c >= 'A')	      k = 16*k + c - 'A' + 10;	    else	      k = 16*k + c - '0';	    decoded.append ((char)k);	    i += 3;	  }	else	  {	    decoded.append(ch);	    ++i;	  }      }    return decoded.toString();  }    public static String encode (String str)  {    StringBuffer encoded = new StringBuffer();    int len = str.length();    if (len == 0)      return "" + '"' + '"';    else      {	if ((len > 0) && (str.charAt(0) != '"'))	  encoded.append ('"');	    	for (int i = 0; i < len; ++i)	  {	   char ch = str.charAt(i);	   if ((ch < ' ') || (ch > 'z') || (ch == '\\') || (ch == '"'))	     {	      encoded.append ('\\');	      int k = ch / 16;	      encoded.append ((k > 9) ? (char)('A' - 10 + k) : (char)('0' + k));	      k = ch % 16;	      encoded.append ((k > 9) ? (char)('A' - 10 + k) : (char)('0' + k));	     }	   else	     encoded.append (ch);	  }	    	if ((len > 0) && (str.charAt(len-1) != '"'))	  encoded.append ('"');	    	return encoded.toString();      }  }      public String toString()  {    StringBuffer str = new StringBuffer(20);    str.append(message.getMessageKind());    for (int i = 0; i < params.size(); ++i)      {	str.append (' ');	Object param = params.elementAt(i);	if (param.getClass() == stringClass)	  {	    str.append (encode((String)param));	  }	else	  str.append (param.toString());      }    return str.toString();  }    /**     * Get the value of message.     * @return Value of message.     */  public Message getMessage() {return message;}    /**     * Set the value of message.     * @param v  Value to assign to message.     */  public void setMessage(Message  v) {message = v;}    /**     * Get the value of params.     * @return Value of params.     */  public Vector getParams() {return params;}    /**     * Set the value of params.     * @param v  Value to assign to params.     */  public void setParams(Vector  v) {params = v;}  } // ParameterizedMessage

⌨️ 快捷键说明

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