From 6f59267df1f98c508e949dbc35e94bb4167fab2f Mon Sep 17 00:00:00 2001 From: Okunev Evgenij Date: Sun, 11 Oct 2015 11:50:38 +0300 Subject: [PATCH 1/3] home task --- HomeTask/HomeTask.iml | 11 +++ HomeTask/src/DigitToStringConverter.java | 36 ++++++++++ HomeTask/src/Factorial.java | 16 +++++ HomeTask/src/FibonacciSequence.java | 21 ++++++ HomeTask/src/Solution.java | 87 ++++++++++++++++++++++++ 5 files changed, 171 insertions(+) create mode 100644 HomeTask/HomeTask.iml create mode 100644 HomeTask/src/DigitToStringConverter.java create mode 100644 HomeTask/src/Factorial.java create mode 100644 HomeTask/src/FibonacciSequence.java create mode 100644 HomeTask/src/Solution.java diff --git a/HomeTask/HomeTask.iml b/HomeTask/HomeTask.iml new file mode 100644 index 0000000..37cc804 --- /dev/null +++ b/HomeTask/HomeTask.iml @@ -0,0 +1,11 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/HomeTask/src/DigitToStringConverter.java b/HomeTask/src/DigitToStringConverter.java new file mode 100644 index 0000000..309cdf3 --- /dev/null +++ b/HomeTask/src/DigitToStringConverter.java @@ -0,0 +1,36 @@ + +public class DigitToStringConverter { + private byte digit = 0; + + public DigitToStringConverter(byte digit) { + this.digit = digit; + } + + public String convert() { + switch (digit) { + case 0: + return "zero"; + case 1: + return "one"; + case 2: + return "two"; + case 3: + return "three"; + case 4: + return "four"; + case 5: + return "five"; + case 6: + return "six"; + case 7: + return "seven"; + case 8: + return "eight"; + case 9: + return "nine"; + default: + throw new IllegalArgumentException("Digit must be between 0 and 9"); + + } + } +} diff --git a/HomeTask/src/Factorial.java b/HomeTask/src/Factorial.java new file mode 100644 index 0000000..796de5e --- /dev/null +++ b/HomeTask/src/Factorial.java @@ -0,0 +1,16 @@ + +public class Factorial { + private int numberToCalculate = 0; + + public Factorial(int numberToCalculate) { + this.numberToCalculate = numberToCalculate; + } + + public long calculate() { + long result = 1; + for (int i = 1; i <= numberToCalculate; i++) { + result *= i; + } + return result; + } +} diff --git a/HomeTask/src/FibonacciSequence.java b/HomeTask/src/FibonacciSequence.java new file mode 100644 index 0000000..91e5823 --- /dev/null +++ b/HomeTask/src/FibonacciSequence.java @@ -0,0 +1,21 @@ +import java.util.ArrayList; +import java.util.List; + +public class FibonacciSequence { + private int numberOfTerms = 0; + private List sequence = new ArrayList(); + + public FibonacciSequence(int numberOfTerms) { + this.numberOfTerms = numberOfTerms; + } + public void displaySequence() { + sequence.add((long) 0); + sequence.add((long) 1); + for (int i = 2; i < numberOfTerms; i++) { + sequence.add(sequence.get(i - 1) + sequence.get(i - 2)); + } + for (Long term : sequence) { + System.out.println(term + " "); + } + } +} diff --git a/HomeTask/src/Solution.java b/HomeTask/src/Solution.java new file mode 100644 index 0000000..117f347 --- /dev/null +++ b/HomeTask/src/Solution.java @@ -0,0 +1,87 @@ +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; + +public class Solution { + public static void main(String argv[]) throws IOException { + System.out.println("Hello! What do you want to do?"); + System.out.println("1: calculate the factorial of a number"); + System.out.println("2: display the Fibonacci sequence"); + System.out.println("3: display digit as a string"); + System.out.println("4: nothing"); + + BufferedReader consoleReader = new BufferedReader(new InputStreamReader(System.in)); + byte requiredAction; + try { + requiredAction = Byte.parseByte(consoleReader.readLine()); + } catch (NumberFormatException e) { + System.out.println("You must enter a digit!"); + return; + } + + switch (requiredAction) { + case 1: + calculateFactorial(); + break; + case 2: + displayFibonacciSequence(); + break; + case 3: + convertDigitToString(); + break; + case 4: + System.out.println("Good bye"); + break; + default: + throw new IllegalArgumentException("Digit must be between 1 and 4"); + } + } + + private static void convertDigitToString() throws IOException { + System.out.println("Enter what digit do you want to convert"); + + BufferedReader consoleReader = new BufferedReader(new InputStreamReader(System.in)); + byte digitToConvert; + try { + digitToConvert = Byte.parseByte(consoleReader.readLine()); + } catch (NumberFormatException e) { + System.out.println("You must enter a digit!"); + return; + } + + DigitToStringConverter converter = new DigitToStringConverter(digitToConvert); + System.out.println(converter.convert()); + } + + private static void displayFibonacciSequence() throws IOException { + System.out.println("Enter the number of terms of the sequence"); + + BufferedReader consoleReader = new BufferedReader(new InputStreamReader(System.in)); + int numberOfTerms; + try { + numberOfTerms = Integer.parseInt(consoleReader.readLine()); + } catch (NumberFormatException e) { + System.out.println("You must enter a number!"); + return; + } + + FibonacciSequence fibonacciSequence = new FibonacciSequence(numberOfTerms); + fibonacciSequence.displaySequence(); + } + + private static void calculateFactorial() throws IOException { + System.out.println("Enter the number to calculate"); + + BufferedReader consoleReader = new BufferedReader(new InputStreamReader(System.in)); + int numberToCalculate; + try { + numberToCalculate = Integer.parseInt(consoleReader.readLine()); + } catch (NumberFormatException e) { + System.out.println("You must enter a number!"); + return; + } + + Factorial factorial = new Factorial(numberToCalculate); + System.out.println(factorial.calculate()); + } +} From 7bfec58631da4a2ffb5434918f3e9bee1933dea6 Mon Sep 17 00:00:00 2001 From: Okunev Evgenij Date: Sun, 11 Oct 2015 12:03:46 +0300 Subject: [PATCH 2/3] home task --- .idea/uiDesigner.xml | 124 +++++++++++++++++++++++ HomeTask/src/DigitToStringConverter.java | 32 ++---- HomeTask/src/FibonacciSequence.java | 2 +- HomeTask/src/Solution.java | 2 +- 4 files changed, 133 insertions(+), 27 deletions(-) create mode 100644 .idea/uiDesigner.xml diff --git a/.idea/uiDesigner.xml b/.idea/uiDesigner.xml new file mode 100644 index 0000000..e96534f --- /dev/null +++ b/.idea/uiDesigner.xml @@ -0,0 +1,124 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/HomeTask/src/DigitToStringConverter.java b/HomeTask/src/DigitToStringConverter.java index 309cdf3..915f98b 100644 --- a/HomeTask/src/DigitToStringConverter.java +++ b/HomeTask/src/DigitToStringConverter.java @@ -1,36 +1,18 @@ public class DigitToStringConverter { private byte digit = 0; + private String[] words = {"zero", "one", "two", "three", "four", + "five", "six", "seven", "eight", "nine"}; public DigitToStringConverter(byte digit) { this.digit = digit; } - public String convert() { - switch (digit) { - case 0: - return "zero"; - case 1: - return "one"; - case 2: - return "two"; - case 3: - return "three"; - case 4: - return "four"; - case 5: - return "five"; - case 6: - return "six"; - case 7: - return "seven"; - case 8: - return "eight"; - case 9: - return "nine"; - default: - throw new IllegalArgumentException("Digit must be between 0 and 9"); - + public void convert() { + try{ + System.out.println(words[digit]); + } catch (ArrayIndexOutOfBoundsException e){ + System.out.println("Digit must be between 0 and 9"); } } } diff --git a/HomeTask/src/FibonacciSequence.java b/HomeTask/src/FibonacciSequence.java index 91e5823..bd4e915 100644 --- a/HomeTask/src/FibonacciSequence.java +++ b/HomeTask/src/FibonacciSequence.java @@ -15,7 +15,7 @@ public void displaySequence() { sequence.add(sequence.get(i - 1) + sequence.get(i - 2)); } for (Long term : sequence) { - System.out.println(term + " "); + System.out.print(term + " "); } } } diff --git a/HomeTask/src/Solution.java b/HomeTask/src/Solution.java index 117f347..1e4ee32 100644 --- a/HomeTask/src/Solution.java +++ b/HomeTask/src/Solution.java @@ -50,7 +50,7 @@ private static void convertDigitToString() throws IOException { } DigitToStringConverter converter = new DigitToStringConverter(digitToConvert); - System.out.println(converter.convert()); + converter.convert(); } private static void displayFibonacciSequence() throws IOException { From 24c94c4ce70d8404e21c9a26a99cc1258384e499 Mon Sep 17 00:00:00 2001 From: Okunev Evgenij Date: Sun, 11 Oct 2015 12:07:14 +0300 Subject: [PATCH 3/3] home task --- HomeTask/src/Factorial.java | 4 ++-- HomeTask/src/FibonacciSequence.java | 1 + HomeTask/src/Solution.java | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/HomeTask/src/Factorial.java b/HomeTask/src/Factorial.java index 796de5e..b055b4a 100644 --- a/HomeTask/src/Factorial.java +++ b/HomeTask/src/Factorial.java @@ -6,11 +6,11 @@ public Factorial(int numberToCalculate) { this.numberToCalculate = numberToCalculate; } - public long calculate() { + public void calculate() { long result = 1; for (int i = 1; i <= numberToCalculate; i++) { result *= i; } - return result; + System.out.println(result); } } diff --git a/HomeTask/src/FibonacciSequence.java b/HomeTask/src/FibonacciSequence.java index bd4e915..21c6e26 100644 --- a/HomeTask/src/FibonacciSequence.java +++ b/HomeTask/src/FibonacciSequence.java @@ -8,6 +8,7 @@ public class FibonacciSequence { public FibonacciSequence(int numberOfTerms) { this.numberOfTerms = numberOfTerms; } + public void displaySequence() { sequence.add((long) 0); sequence.add((long) 1); diff --git a/HomeTask/src/Solution.java b/HomeTask/src/Solution.java index 1e4ee32..10adade 100644 --- a/HomeTask/src/Solution.java +++ b/HomeTask/src/Solution.java @@ -82,6 +82,6 @@ private static void calculateFactorial() throws IOException { } Factorial factorial = new Factorial(numberToCalculate); - System.out.println(factorial.calculate()); + factorial.calculate(); } }