public class arithmetic implements serializable
/*** 除法
* @param number1 除數
* @param number2 被除數
* @param decimal 保留幾位小數點
* @return
*/public static double divide(string number1, string number2,
integer decimal) else
}} catch (arithmeticexception ae) catch (exception e)
return result;
}/**
* 保留小數點幾位
* @param result
* @param decimal
* @return
*/public static double decimalformat(double result, integer decimal)
/*** 解析計算四則運算表示式,例:2+((3+4)*2-22)/2*3 描述
* @param expression
* @return
*/public static string parseexp(string expression)
// 計算不帶括號的四則運算
string noparentheses = "^[^\\(\\)]+$";
string prioroperatorexp = "(((\\d+(\\.\\d+)?)|(\\[\\-\\d+(\\.\\d+)?\\]))[\\*\\/]((\\d+(\\.\\d+)?)|(\\[\\-\\d+(\\.\\d+)?\\])))";
string operatorexp = "(((\\d+(\\.\\d+)?)|(\\[\\-\\d+(\\.\\d+)?\\]))[\\+\\-]((\\d+(\\.\\d+)?)|(\\[\\-\\d+(\\.\\d+)?\\])))";
if (expression.matches(noparentheses)) else
}return parseexp(expression);
}// 計算帶括號的四則運算
string minparentheses = "\\([^\\(\\)]+\\)";
pattern patt = pattern.compile(minparentheses);
matcher mat = patt.matcher(expression);
if (mat.find())
return parseexp(expression);
}/**
* 計算最小單位四則運算表示式(兩個數字) 描述
* @param exp
* @return
*/public static string calculate(string exp) else if ("-".equals(operator)) else if ("*".equals(operator)) else if ("/".equals(operator))
return result != null ? result.tostring() : null;
}public static void main(string args)
}
四則運算java版
本題目要求編寫的是乙個簡單的計算器,該計算器目前只需要支援單位正整數的加 減 乘 除運算,並支援用括號表示優先級別。和我們小學時學過的算術規則一致,乘法和除法的優先順序一樣,加法和減法的優先順序一樣。乘除法的優先順序高於加減法。括號的優先順序最高。同一優先順序的運算順序為自左向右。public cl...
java實現四則運算
最近在考慮乙個問題 公司專案可能會使用運算模板來計算相應的值,模板freemarker velocity都是不錯的選擇。那通過模板將計算公式字串組裝出來後,就需要解析字串得到計算結果,以下是我的實現 public class arithmetic public static void main st...
python四則運算程式 四則運算(Python)
四則運算程式 一 資訊 二.題目要求 寫乙個能自動生成小學四則運算題目的程式,然後在此基礎上擴充套件 除了整數以外,還要支援真分數的四則運算,例如 1 6 1 8 7 24 程式要求能處理使用者的輸入,判斷對錯,累積分數 程式支援可以由使用者自行選擇加 減 乘 除運算 三 import random...