?? stdlib.java
字號:
package gscript;
import java.util.*;
import gscript.Interpreter;
/**
* 標準方法庫 standard method lib
* <p>Title: </p>
* <p>Description: </p>
* <p>Copyright: Copyright (c) 2007</p>
* <p>Company: </p>
* @author not attributable
* @version 1.0
*/
public class Stdlib
extends Lib {
{
methodNames = new String[] {
"print" //0 向控制臺輸出字符串
, "min" //1 求最小值
, "max" //2 求最大值
, "asize" //3 求數組大小
, "abs" //4 求取對值
, "random" //5 得到一個隨機數
, "mod" //6 取余
, "println" //7 輸出回車
, "ssize" //8 字符串長度
};
}
public DataType call(Vector para, int methodID) {
switch (methodID) {
case 0:
return print(para);
case 1:
return min(para);
case 2:
return max(para);
case 3:
return asize(para);
case 4:
return abs(para);
case 5:
return random();
case 6:
return mod(para);
case 7:
return println(para);
case 8:
return ssize(para);
}
return null;
}
/**
* 向控制臺輸出字符串
*
* @param para String
* @return Object
*/
private DataType print(Vector para) {
String s = ( (DataType) (Interpreter.vPopBack(para))).getString();
System.out.print(s);
return null;
}
/**
* 向控制臺輸出字符串
*
* @param para String
* @return Object
*/
private DataType println(Vector para) {
DataType dt = (DataType) Interpreter.vPopBack(para);
String s = dt == null ? null : dt.getString();
if (s == null) {
System.out.println();
}
else {
System.out.println(s);
}
return null;
}
/**
* 求最小值
*
* @param para int
* @return Integer
*/
private Int min(Vector para) {
int x = ( (Int) Interpreter.vPopBack(para)).getVal();
int y = ( (Int) Interpreter.vPopBack(para)).getVal();
return new Int(x > y ? y : x);
}
/**
* 求最大值
*
* @param para int
* @return Integer
*/
private Int max(Vector para) {
int x = ( (Int) Interpreter.vPopBack(para)).getVal();
int y = ( (Int) Interpreter.vPopBack(para)).getVal();
return new Int(x > y ? x : y);
}
/**
* 求數組大小
*
* @param para int
* @return Integer
*/
private Int asize(Vector para) {
Array arr = (Array) Interpreter.vPopBack(para);
return new Int(arr.elements.length);
}
/**
* 求最大值
*
* @param para int
* @return Integer
*/
private Int abs(Vector para) {
int x = ( (Int) Interpreter.vPopBack(para)).getVal();
return new Int(Math.abs(x));
}
//隨機數基石
private static Random random = new Random(); //定義一個隨機值
/**
* 產生一個隨機數,這個數一定是正數
* @return int 返回一個正數
*/
public static DataType random() {
return new Int(random.nextInt());
}
/**
* 取余
*
* @param para int
* @return gscript.Int
*/
private Int mod(Vector para) {
int x = ( (Int) Interpreter.vPopBack(para)).getVal();
int y = ( (Int) Interpreter.vPopBack(para)).getVal();
return (new Int(x % y));
}
/**
* 字符串長度
*
* @param para int
* @return Integer
*/
private Int ssize(Vector para) {
String s = Interpreter.vPopBack(para).toString();
return new Int(s.length());
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -