folder structure
This commit is contained in:
21
src/main/java/org/lumijiez/caesar/DoubleCaesar.java
Normal file
21
src/main/java/org/lumijiez/caesar/DoubleCaesar.java
Normal file
@@ -0,0 +1,21 @@
|
||||
package org.lumijiez.caesar;
|
||||
|
||||
import org.lumijiez.Utils;
|
||||
|
||||
public class DoubleCaesar {
|
||||
public static String encode(int key, String keyWord, String content) {
|
||||
StringBuilder encoded = new StringBuilder();
|
||||
|
||||
String fixedContent = content.replaceAll("\\s","");
|
||||
|
||||
Utils.ALPHABET = Utils.getDoubleCaesarAlphabet(Utils.toCaesarKey(keyWord));
|
||||
|
||||
for (char ch : fixedContent.toCharArray()) {
|
||||
encoded.append(Utils.toNthLetter((Utils.getPos(ch) + key) % Utils.ALPHABET.length()));
|
||||
}
|
||||
|
||||
Utils.returnAlphabet();
|
||||
|
||||
return encoded.toString();
|
||||
}
|
||||
}
|
||||
35
src/main/java/org/lumijiez/caesar/SimpleCaesar.java
Normal file
35
src/main/java/org/lumijiez/caesar/SimpleCaesar.java
Normal file
@@ -0,0 +1,35 @@
|
||||
package org.lumijiez.caesar;
|
||||
|
||||
import org.lumijiez.Utils;
|
||||
|
||||
public class SimpleCaesar {
|
||||
public static String encode(int key, String content) {
|
||||
StringBuilder encoded = new StringBuilder();
|
||||
|
||||
String fixedContent = content.replaceAll("\\s","");
|
||||
|
||||
for (char ch : fixedContent.toCharArray()) {
|
||||
encoded.append(Utils.toNthLetter((Utils.getPos(ch) + key) % Utils.ALPHABET.length()));
|
||||
}
|
||||
return encoded.toString();
|
||||
}
|
||||
|
||||
public static String decode(int key, String content) {
|
||||
StringBuilder decoded = new StringBuilder();
|
||||
|
||||
for (char ch : content.toCharArray()) {
|
||||
int currentPosition = Utils.getPos(ch);
|
||||
|
||||
int newPosition = (currentPosition - key) % Utils.ALPHABET.length();
|
||||
|
||||
if (newPosition < 0) {
|
||||
newPosition += Utils.ALPHABET.length();
|
||||
}
|
||||
|
||||
decoded.append(Utils.toNthLetter(newPosition));
|
||||
}
|
||||
|
||||
return decoded.toString();
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user