Skip to content
Snippets Groups Projects

Resolve "Init String calculator project"

Merged Colin DAMON requested to merge 11-init-string-calculator-project into master
3 files
+ 134
0
Compare changes
  • Side-by-side
  • Inline
Files
3
package fr.ippon.stringcalculator;
import java.math.BigDecimal;
import java.util.function.BinaryOperator;
public class Calculator {
public static String sum(String first, String second) {
return operate(first, second, BigDecimal::add);
}
public static String substract(String first,
String second) {
return operate(first, second, BigDecimal::subtract);
}
private static String operate(String first,
String second, BinaryOperator<BigDecimal> operation) {
notNull(first);
notNull(second);
return operation
.apply(toBigDecimal(first), toBigDecimal(second))
.toPlainString();
}
private static BigDecimal toBigDecimal(String value) {
if (value.isBlank()) {
return BigDecimal.ZERO;
}
return new BigDecimal(value.replace(",", "."));
}
private static void notNull(String first) {
if (first == null) {
throw new IllegalArgumentException();
}
}
}
Loading