fork download
  1. interface BinaryOp<T> {
  2. public T apply(T x, T y);
  3. }
  4.  
  5. enum BinOps implements BinaryOp<Double> {
  6. Add {
  7. public Double apply(Double x, Double y) { return x + y; }
  8. },
  9. Sub {
  10. public Double apply(Double x, Double y) { return x - y; }
  11. },
  12. Mult {
  13. public Double apply(Double x, Double y) { return x * y; }
  14. },
  15. Div {
  16. public Double apply(Double x, Double y) { return x / y; }
  17. }
  18. }
  19.  
  20. class Main {
  21. public static void main(String... args) {
  22. for (BinaryOp<Double> op: BinOps.values()) {
  23. System.out.println(op.apply(3.14159265358979, 100500.0));
  24. }
  25. }
  26. }
Success #stdin #stdout 0.03s 245632KB
stdin
Standard input is empty
stdout
100503.14159265358
-100496.85840734642
315730.0616857739
3.1259628393928255E-5