From 5567354cd6916a5b6525f19a126e41198a04c3bd Mon Sep 17 00:00:00 2001 From: Ilya Date: Wed, 12 Dec 2018 16:14:42 +0300 Subject: [PATCH 1/3] Stage 3 completed --- .gitignore | 1 + src/crypto/Crypto.java | 9 +++++++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 0bb47a3..7ebc4a7 100644 --- a/.gitignore +++ b/.gitignore @@ -28,3 +28,4 @@ git.properties #IDEA Project Files .idea/ +/bin/ diff --git a/src/crypto/Crypto.java b/src/crypto/Crypto.java index 51d57b7..3f959c9 100644 --- a/src/crypto/Crypto.java +++ b/src/crypto/Crypto.java @@ -4,7 +4,12 @@ public class Crypto { public static void main(String[] args) { - Scanner scanner = new Scanner(System.in); - // write your code here + Scanner scanner = new Scanner(System.in); + String cmd = scanner.nextLine(); + String message = scanner.nextLine(); + int key = scanner.nextInt(); + scanner.close(); + Translater translater = TranslaterFactory.getTranslater(cmd,message,key); + System.out.println(translater.translate()); } } From aa610683a6049e567b89921291f53da1da0b9ef2 Mon Sep 17 00:00:00 2001 From: Ilya Date: Wed, 12 Dec 2018 16:15:50 +0300 Subject: [PATCH 2/3] Add new files --- .classpath | 6 ++++++ .project | 17 +++++++++++++++++ src/crypto/Decrypter.java | 10 ++++++++++ src/crypto/Encrypter.java | 10 ++++++++++ src/crypto/Translater.java | 20 ++++++++++++++++++++ src/crypto/TranslaterFactory.java | 14 ++++++++++++++ 6 files changed, 77 insertions(+) create mode 100644 .classpath create mode 100644 .project create mode 100644 src/crypto/Decrypter.java create mode 100644 src/crypto/Encrypter.java create mode 100644 src/crypto/Translater.java create mode 100644 src/crypto/TranslaterFactory.java diff --git a/.classpath b/.classpath new file mode 100644 index 0000000..af6f9dc --- /dev/null +++ b/.classpath @@ -0,0 +1,6 @@ + + + + + + diff --git a/.project b/.project new file mode 100644 index 0000000..e0ffbb5 --- /dev/null +++ b/.project @@ -0,0 +1,17 @@ + + + enc-dec + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + diff --git a/src/crypto/Decrypter.java b/src/crypto/Decrypter.java new file mode 100644 index 0000000..22b16cd --- /dev/null +++ b/src/crypto/Decrypter.java @@ -0,0 +1,10 @@ +package crypto; + +public class Decrypter extends Translater{ + public Decrypter(String message, int key) { + super(message,key); + } + public char symbolChange(char incomeWord) { + return (char)((incomeWord-key)%127); + } +} diff --git a/src/crypto/Encrypter.java b/src/crypto/Encrypter.java new file mode 100644 index 0000000..1409c18 --- /dev/null +++ b/src/crypto/Encrypter.java @@ -0,0 +1,10 @@ +package crypto; + +public class Encrypter extends Translater { + public Encrypter(String message, int key) { + super(message,key); + } + public char symbolChange(char incomeWord) { + return (char)((incomeWord+key)%127); + } +} diff --git a/src/crypto/Translater.java b/src/crypto/Translater.java new file mode 100644 index 0000000..734a358 --- /dev/null +++ b/src/crypto/Translater.java @@ -0,0 +1,20 @@ +package crypto; + +public abstract class Translater { + public String message; + public int key; + public Translater(String message, int key) { + this.message = message; + this.key = key; + } + //TRANSLATING STRING + public String translate() { + char[] tempArray = message.toCharArray(); + for (int i = 0; i < tempArray.length; i++) { + tempArray[i] = symbolChange(tempArray[i]); + } + return String.valueOf(tempArray); + } + //ABSTRACT SYMBOL CHANGE METHOD + public abstract char symbolChange(char incomeWord); +} diff --git a/src/crypto/TranslaterFactory.java b/src/crypto/TranslaterFactory.java new file mode 100644 index 0000000..f5e9edc --- /dev/null +++ b/src/crypto/TranslaterFactory.java @@ -0,0 +1,14 @@ +package crypto; + +public class TranslaterFactory { + public static Translater getTranslater(String cmd, String message, int key) { + switch (cmd){ + case "dec": + return new Decrypter(message, key); + case "enc": + return new Encrypter(message, key); + default: + return null; + } + } +} From 2322753436732fc6c9d0825c7951ca2a97b14628 Mon Sep 17 00:00:00 2001 From: Ilya Date: Wed, 12 Dec 2018 16:28:44 +0300 Subject: [PATCH 3/3] Refactoring folder in Stage 3 --- src/crypto/Crypto.java | 3 +++ src/{crypto => translater}/Decrypter.java | 2 +- src/{crypto => translater}/Encrypter.java | 2 +- src/{crypto => translater}/Translater.java | 2 +- src/{crypto => translater}/TranslaterFactory.java | 2 +- 5 files changed, 7 insertions(+), 4 deletions(-) rename src/{crypto => translater}/Decrypter.java (87%) rename src/{crypto => translater}/Encrypter.java (87%) rename src/{crypto => translater}/Translater.java (92%) rename src/{crypto => translater}/TranslaterFactory.java (88%) diff --git a/src/crypto/Crypto.java b/src/crypto/Crypto.java index 3f959c9..157d9ca 100644 --- a/src/crypto/Crypto.java +++ b/src/crypto/Crypto.java @@ -2,6 +2,9 @@ import java.util.Scanner; +import translater.Translater; +import translater.TranslaterFactory; + public class Crypto { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); diff --git a/src/crypto/Decrypter.java b/src/translater/Decrypter.java similarity index 87% rename from src/crypto/Decrypter.java rename to src/translater/Decrypter.java index 22b16cd..ac61c9c 100644 --- a/src/crypto/Decrypter.java +++ b/src/translater/Decrypter.java @@ -1,4 +1,4 @@ -package crypto; +package translater; public class Decrypter extends Translater{ public Decrypter(String message, int key) { diff --git a/src/crypto/Encrypter.java b/src/translater/Encrypter.java similarity index 87% rename from src/crypto/Encrypter.java rename to src/translater/Encrypter.java index 1409c18..1078945 100644 --- a/src/crypto/Encrypter.java +++ b/src/translater/Encrypter.java @@ -1,4 +1,4 @@ -package crypto; +package translater; public class Encrypter extends Translater { public Encrypter(String message, int key) { diff --git a/src/crypto/Translater.java b/src/translater/Translater.java similarity index 92% rename from src/crypto/Translater.java rename to src/translater/Translater.java index 734a358..e76697b 100644 --- a/src/crypto/Translater.java +++ b/src/translater/Translater.java @@ -1,4 +1,4 @@ -package crypto; +package translater; public abstract class Translater { public String message; diff --git a/src/crypto/TranslaterFactory.java b/src/translater/TranslaterFactory.java similarity index 88% rename from src/crypto/TranslaterFactory.java rename to src/translater/TranslaterFactory.java index f5e9edc..b8c51d3 100644 --- a/src/crypto/TranslaterFactory.java +++ b/src/translater/TranslaterFactory.java @@ -1,4 +1,4 @@ -package crypto; +package translater; public class TranslaterFactory { public static Translater getTranslater(String cmd, String message, int key) {