java四則運算

2021-06-22 10:07:08 字數 1706 閱讀 8381

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...