データセットに対して数学演算を行っています。プロジェクトの要件に応じて、数式/ロジックはいつでも変更できます。したがって、これらのフォーマルをJavaコードから除外することを考えています。構成ファイルに含まれている可能性があります。以下は設定ファイルの例です。
formula.properties
ファイル-
formula_a=(a+b)/(7*c+b^2)
formula_b=(a^(1/2)-formula_a*13)
formula_c=spilt_time(formula_b,a,b)
Calculator.java
(ダミーの Java ファイル。デモ目的のみのため、正しくない可能性があります)
public class Calculator
{
private final static String FORMULA_A = "formula_a";
private final static String FORMULA_B = "formula_b";
private final static String FORMULA_C = "formula_c";
public static void main(String[] args)
{
long a = 1738342634L;
long b = 273562347895L;
long c = 89346755249L;
long ansFromFormulaA = applyFormulaFromConfig(FORMULA_A, new long[] { a, b, c });
long ansFromFormulaB = applyFormulaFromConfig(FORMULA_B, new long[] { a, b, c });
long ansFromFormulaC = applyFormulaFromConfig(FORMULA_C, new long[] { a, b });
}
// spilt_time is used in formula_c
public static long[] spilt_time(long[] params)
{
final long[] split = new long[2];
// Some logic here which is applied on params array and answer is pushed
// into split array
return split;
}
private static long applyFormulaFromConfig(String formulaName, long[] params)
{
long ans = 0L;
// Read formula from property file here and apply the params over it and
// return the answer
return ans;
}
}
これに対する解決策を設計するのを手伝ってください。