aboutsummaryrefslogtreecommitdiff
path: root/entries/nritschel/fib-java/src/Main.java
diff options
context:
space:
mode:
authorJames Yoo2022-10-24 23:47:51 +0000
committerJames Yoo2022-10-24 23:47:51 +0000
commit03315f012514bdcc5a4f654056f0103abe11eb83 (patch)
tree2b7c6e9233ecb503e7be0d8354483691f9a1e16c /entries/nritschel/fib-java/src/Main.java
parent0921d8222bb883ea86d51c7200a865a5e4dbc469 (diff)
parent7ed13a92711a35a9c263c1f53e33e308653ae727 (diff)
Merging local with remote main
Diffstat (limited to 'entries/nritschel/fib-java/src/Main.java')
-rw-r--r--entries/nritschel/fib-java/src/Main.java21
1 files changed, 21 insertions, 0 deletions
diff --git a/entries/nritschel/fib-java/src/Main.java b/entries/nritschel/fib-java/src/Main.java
new file mode 100644
index 0000000..8ae46f1
--- /dev/null
+++ b/entries/nritschel/fib-java/src/Main.java
@@ -0,0 +1,21 @@
+public class Main {
+ public static void main(String[] args) {
+ if (args.length < 1) {
+ System.out.println("""
+ Please provide:
+ 1. fibonacci number to compute, and
+ 2. (optional) the calculation method (naive or cached).""");
+ }
+ else {
+ FibonacciNumberFactory factory;
+ if (args.length >= 2 && args[1].equals("naive")) {
+ factory = new NaiveFibonacciNumberFactory();
+ }
+ else {
+ factory = new CachedFibonacciNumberFactory();
+ }
+ FibonacciCalculator calculator = new FibonacciCalculatorImpl(factory);
+ System.out.println(factory.getFibonacciNumber(Integer.parseInt(args[0])).calculate(calculator));
+ }
+ }
+}