資源簡介
《文本計(jì)算器》字符串轉(zhuǎn)數(shù)學(xué)表達(dá)式,如替換變量前:(a+b+2)+x*3+1
替換變量后:(3+2+2)+4*3+1
計(jì)算結(jié)果:20
代碼片段和文件信息
package?文本計(jì)算器;
import?java.util.ArrayList;
import?java.util.Stack;
/**?
*?文本計(jì)算器
*?@author?YuJing
*?@date?2017年5月8日?下午3:57:49?
*/
public?class?計(jì)算器?{
private?final?static?String?ERR_NOT_END_VALID?=?“你表達(dá)的最后一個(gè)字符必須是‘#‘!“;
private?final?static?String?ERR_PARENTHESE_NOT_PAIR?=?“括號不配對!“;
private?final?static?String?ERR_CHAR_NOT_SUPPORT?=?“不支持的字符!“;
private?final?static?String?ERR_OPERATION_NOT_SUPPORTED?=?“不支持的操作!“;
private?final?static?String?ERR_OPERATOR_NOT_VALID?=?“?不支持double數(shù)據(jù)!“;
private?final?static?String?ERR_UNKNOWN?=?“未知錯(cuò)誤!“;
private?static?boolean?isDouble;//?輸入的類型是否是double類型
//?傳入字符串表達(dá)式如:“1-(2*2)+6“
public?static?String?eval(String?expression)?{
expression?=?expression.replaceAll(“?“?““);//?去掉全部空格
expression?+=?“#“;//?#為結(jié)束標(biāo)記
ArrayList?li
評論
共有 條評論