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

📄 postoperating.java

📁 论坛软件系统亦称电子公告板(BBS)系统
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
		if(indexM<0){ 
			int indexD = expiression.indexOf("/");
			if(indexD<0){ 
				int indexA = expiression.indexOf("+");
				if(indexA<0){
					int indexS = expiression.indexOf("-");
					if(indexS>0){
						tempBuffer = getResult(indexS, expiression, "-");
					}else if(indexS==0){
						StringBuffer buffer = new StringBuffer(expiression);
						indexS = buffer.indexOf("-", 1);
						if(indexS>1){
							tempBuffer = getResult(indexS, expiression, "-");
						}else if(indexS==1){
							tempBuffer = new StringBuffer(buffer.replace(0, 2, "").toString());
						}else {
							tempBuffer = buffer;
						}
					}else{
						return expiression;
					}
				}else{
					tempBuffer = getResult(indexA, expiression, "+");
				}
			}else{
				tempBuffer = getResult(indexD, expiression, "/");
			}
		}else{
			tempBuffer = getResult(indexM, expiression, "*");
		}
		if(tempBuffer.indexOf("*")>0
				||tempBuffer.indexOf("/")>0
				||tempBuffer.indexOf("+")>0
				||tempBuffer.indexOf("-")>0
				||(tempBuffer.indexOf("-")==0
						&&tempBuffer.indexOf("-",1)>0)){
			return count(tempBuffer.toString());
		}else{
			return tempBuffer.toString();
		}
	}
	private StringBuffer getResult(int index,String expiression,String sign){
		StringBuffer tempBuffer = new StringBuffer(expiression);
		String leftNumber = getLeftNumber(index, expiression);
		String rightNumber = getRightNumber(index, expiression);
		Double result = null;
		if(sign.equals("*")){
			result = Double.valueOf(leftNumber)*Double.valueOf(rightNumber);
		}else if(sign.equals("/")){
			result = Double.valueOf(leftNumber)/Double.valueOf(rightNumber);
		}else if(sign.equals("+")){
			result = Double.valueOf(leftNumber)+Double.valueOf(rightNumber);
		}else if(sign.equals("-")){
			result = Double.valueOf(leftNumber)-Double.valueOf(rightNumber);
		}
		int firstIndexOfLeftNumber = index-leftNumber.length();
		int lastIndexOfRightNumber = index+rightNumber.length();
		tempBuffer.replace(firstIndexOfLeftNumber, lastIndexOfRightNumber+1, result.toString());
		return tempBuffer;
	}
	private String getLeftNumber(int singIndex,String expiression){
		StringBuffer tempBuffer = new StringBuffer();
		for(int i = singIndex-1;i>-1;i--){
			char temp = expiression.charAt(i);
			if(Character.isDigit(temp)||temp=='.'){
				tempBuffer.insert(0, temp);
			}else {
				if(temp=='-'&&(i==0||!Character.isDigit(expiression.charAt(i-1)))){
					tempBuffer.insert(0, temp);
				}else{
					break;
				}
			}
		}
		return tempBuffer.toString();
	}
	private String getRightNumber(int singIndex,String expiression){
		StringBuffer tempBuffer = new StringBuffer();
		for(int i = singIndex+1;i<expiression.length();i++){
			char temp = expiression.charAt(i);
			if(i==singIndex+1&&temp=='-'){
				tempBuffer.append(temp);
				continue;
			}
			if(Character.isDigit(temp)||temp=='.'){
				tempBuffer.append(temp);
			}else {
				break;
			}
		}
		return tempBuffer.toString();
	}
	
	public String  setCreditsbyMap(String creditsformula,Map<String,String>usermap,Map<String,String> updateField){
		StringBuffer operationString = new StringBuffer(creditsformula.replaceAll("\\s", ""));
		boolean sign = updateField==null;
		while (true) {
			if (operationString.indexOf("digestposts") >= 0) {
				operationString.replace(operationString.indexOf("digestposts"),operationString.indexOf("digestposts")+ "digestposts".length(), usermap.get("digestposts")==null?"0":usermap.get("digestposts"));
				if(!sign&&updateField.get("digestposts")!=null){
					sign = true;
				}
			} else if (operationString.indexOf("posts") >= 0) {
				operationString.replace(operationString.indexOf("posts"),operationString.indexOf("posts") + "posts".length(),usermap.get("posts")==null?"0":usermap.get("posts"));
				if(!sign&&updateField.get("posts")!=null){
					sign = true;
				}
			} else if (operationString.indexOf("oltime") >= 0) {
				operationString.replace(operationString.indexOf("oltime"), operationString.indexOf("oltime") + "oltime".length(),usermap.get("oltime")==null?"0":usermap.get("oltime"));
				if(!sign&&updateField.get("oltime")!=null){
					sign = true;
				}
			}else if(operationString.indexOf("pageviews")>=0){
				operationString.replace(
						operationString.indexOf("pageviews"), 
						operationString.indexOf("pageviews")+"pageviews".length(), usermap.get("pageviews")==null?"0":usermap.get("pageviews"));
				if(!sign&&updateField.get("pageviews")!=null){
					sign = true;
				}
			}else if(operationString.indexOf("extcredits1")>=0){
				operationString.replace(
						operationString.indexOf("extcredits1"), 
						operationString.indexOf("extcredits1")+"extcredits1".length(), usermap.get("extcredits1")==null?"0":usermap.get("extcredits1"));
				if(!sign&&updateField.get("extcredits1")!=null){
					sign = true;
				}
			}else if(operationString.indexOf("extcredits2")>=0){
				operationString.replace(
						operationString.indexOf("extcredits2"), 
						operationString.indexOf("extcredits2")+"extcredits2".length(), 
						usermap.get("extcredits2")==null?"0":usermap.get("extcredits2"));
				if(!sign&&updateField.get("extcredits2")!=null){
					sign = true;
				}
			}else if(operationString.indexOf("extcredits3")>=0){
				operationString.replace(
						operationString.indexOf("extcredits3"), 
						operationString.indexOf("extcredits3")+"extcredits3".length(), 
						usermap.get("extcredits3")==null?"0":usermap.get("extcredits3"));
				if(!sign&&updateField.get("extcredits3")!=null){
					sign = true;
				}
			}else if(operationString.indexOf("extcredits4")>=0){
				operationString.replace(
						operationString.indexOf("extcredits4"), 
						operationString.indexOf("extcredits4")+"extcredits4".length(), 
						usermap.get("extcredits4")==null?"0":usermap.get("extcredits4"));
				if(!sign&&updateField.get("extcredits4")!=null){
					sign = true;
				}
			}else if(operationString.indexOf("extcredits5")>=0){
				operationString.replace(
						operationString.indexOf("extcredits5"), 
						operationString.indexOf("extcredits5")+"extcredits5".length(), 
						usermap.get("extcredits5")==null?"0":usermap.get("extcredits5"));
				if(!sign&&updateField.get("extcredits5")!=null){
					sign = true;
				}
			}else if(operationString.indexOf("extcredits6")>=0){
				operationString.replace(
						operationString.indexOf("extcredits6"), 
						operationString.indexOf("extcredits6")+"extcredits6".length(), 
						usermap.get("extcredits6")==null?"0":usermap.get("extcredits6"));
				if(!sign&&updateField.get("extcredits6")!=null){
					sign = true;
				}
			}else if(operationString.indexOf("extcredits7")>=0){
				operationString.replace(
						operationString.indexOf("extcredits7"), 
						operationString.indexOf("extcredits7")+"extcredits7".length(), 
						usermap.get("extcredits7")==null?"0":usermap.get("extcredits7"));
				if(!sign&&updateField.get("extcredits7")!=null){
					sign = true;
				}
			}else if(operationString.indexOf("extcredits8")>=0){
				operationString.replace(
						operationString.indexOf("extcredits8"), 
						operationString.indexOf("extcredits8")+"extcredits8".length(), 
						usermap.get("extcredits8")==null?"0":usermap.get("extcredits8"));
				if(!sign&&updateField.get("extcredits8")!=null){
					sign = true;
				}
			}else{
				break;
			}
		}
		if(sign){
			String result = excute(operationString);
			Integer credits = Double.valueOf(result).intValue();
			return credits+"";
		}
		return null;
	}
}

⌨️ 快捷键说明

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