📄 postoperating.java
字号:
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 + -