Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 6 additions & 0 deletions .classpath
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="src" path="src"/>
<classpathentry kind="output" path="bin"/>
</classpath>
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -28,3 +28,4 @@ git.properties

#IDEA Project Files
.idea/
/bin/
17 changes: 17 additions & 0 deletions .project
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>enc-dec</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jdt.core.javanature</nature>
</natures>
</projectDescription>
12 changes: 10 additions & 2 deletions src/crypto/Crypto.java
Original file line number Diff line number Diff line change
Expand Up @@ -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());
}
}
10 changes: 10 additions & 0 deletions src/translater/Decrypter.java
Original file line number Diff line number Diff line change
@@ -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);
}
}
10 changes: 10 additions & 0 deletions src/translater/Encrypter.java
Original file line number Diff line number Diff line change
@@ -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);
}
}
20 changes: 20 additions & 0 deletions src/translater/Translater.java
Original file line number Diff line number Diff line change
@@ -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);
}
14 changes: 14 additions & 0 deletions src/translater/TranslaterFactory.java
Original file line number Diff line number Diff line change
@@ -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;
}
}
}