diff --git a/.classpath b/.classpath
new file mode 100644
index 0000000..af6f9dc
--- /dev/null
+++ b/.classpath
@@ -0,0 +1,6 @@
+
+
+
+
+
+
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/.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/Crypto.java b/src/crypto/Crypto.java
index 51d57b7..157d9ca 100644
--- a/src/crypto/Crypto.java
+++ b/src/crypto/Crypto.java
@@ -2,9 +2,17 @@
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);
- // 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());
}
}
diff --git a/src/translater/Decrypter.java b/src/translater/Decrypter.java
new file mode 100644
index 0000000..ac61c9c
--- /dev/null
+++ b/src/translater/Decrypter.java
@@ -0,0 +1,10 @@
+package translater;
+
+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/translater/Encrypter.java b/src/translater/Encrypter.java
new file mode 100644
index 0000000..1078945
--- /dev/null
+++ b/src/translater/Encrypter.java
@@ -0,0 +1,10 @@
+package translater;
+
+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/translater/Translater.java b/src/translater/Translater.java
new file mode 100644
index 0000000..e76697b
--- /dev/null
+++ b/src/translater/Translater.java
@@ -0,0 +1,20 @@
+package translater;
+
+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/translater/TranslaterFactory.java b/src/translater/TranslaterFactory.java
new file mode 100644
index 0000000..b8c51d3
--- /dev/null
+++ b/src/translater/TranslaterFactory.java
@@ -0,0 +1,14 @@
+package translater;
+
+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;
+ }
+ }
+}