Better handling of an empty input
This commit is contained in:
parent
93bf3f101c
commit
2d8bf539ae
4 changed files with 740 additions and 728 deletions
|
@ -24,220 +24,222 @@ package de.marcelkapfer.morseconverter.engine;
|
|||
public class DecodeNormalMorseManager {
|
||||
|
||||
public static String getDecodedString(String inputMessage) {
|
||||
StringBuffer message = new StringBuffer(inputMessage);
|
||||
if (message.toString().endsWith(" ")) {
|
||||
message = message.deleteCharAt(message.length() - 1);
|
||||
}
|
||||
// Variables
|
||||
StringBuffer input = new StringBuffer();
|
||||
input = input.replace(0, input.length(), message.toString().toUpperCase());
|
||||
StringBuffer output = new StringBuffer();
|
||||
if (input.toString().equals("")) {
|
||||
output.replace(0, output.length(), "Please enter at least one character");
|
||||
} else if (input.toString().equals("LETTERSPACE")) {
|
||||
output.replace(0, output.length(), " ");
|
||||
} else if (input.toString().equals("END OF WORK")) {
|
||||
output.replace(0, output.length(), "...-.-");
|
||||
} else if (input.toString().equals("ERROR")) {
|
||||
output.replace(0, output.length(), "........");
|
||||
} else if (input.toString().equals("STARTING SIGNAL")) {
|
||||
output.replace(0, output.length(), "-.-.-");
|
||||
} else if (input.toString().equals("ENDING SIGNAL")) {
|
||||
output.replace(0, output.length(), ".-.-.");
|
||||
} else if (input.toString().equals("UNDERSTOOD")) {
|
||||
output.replace(0, output.length(), "...-.");
|
||||
} else if (input.toString().equals("WAIT")) {
|
||||
output.replace(0, output.length(), ".-...");
|
||||
} else if (input.toString().equals("SOS")) {
|
||||
output.replace(0, output.length(), "...---...");
|
||||
} else if (input.toString().equals("LETTER SPACE")) {
|
||||
output.replace(0, output.length(), " ");
|
||||
} else if (input.toString().equals("WORD SPACE")) {
|
||||
output.replace(0, output.length(), " ");
|
||||
if(inputMessage.equals("")){
|
||||
return "Please enter at least one character";
|
||||
} else {
|
||||
for (int c = input.length(); c > 0; c--) {
|
||||
if (input.toString().startsWith(" ")) {
|
||||
if (output.toString().endsWith(" ")) {
|
||||
output.delete(output.length() - 3, output.length());
|
||||
StringBuffer message = new StringBuffer(inputMessage);
|
||||
if (message.toString().endsWith(" ")) {
|
||||
message = message.deleteCharAt(message.length() - 1);
|
||||
}
|
||||
// Variables
|
||||
StringBuffer input = new StringBuffer();
|
||||
input = input.replace(0, input.length(), message.toString().toUpperCase());
|
||||
StringBuffer output = new StringBuffer();
|
||||
if (input.toString().equals("LETTERSPACE")) {
|
||||
output.replace(0, output.length(), " ");
|
||||
} else if (input.toString().equals("END OF WORK")) {
|
||||
output.replace(0, output.length(), "...-.-");
|
||||
} else if (input.toString().equals("ERROR")) {
|
||||
output.replace(0, output.length(), "........");
|
||||
} else if (input.toString().equals("STARTING SIGNAL")) {
|
||||
output.replace(0, output.length(), "-.-.-");
|
||||
} else if (input.toString().equals("ENDING SIGNAL")) {
|
||||
output.replace(0, output.length(), ".-.-.");
|
||||
} else if (input.toString().equals("UNDERSTOOD")) {
|
||||
output.replace(0, output.length(), "...-.");
|
||||
} else if (input.toString().equals("WAIT")) {
|
||||
output.replace(0, output.length(), ".-...");
|
||||
} else if (input.toString().equals("SOS")) {
|
||||
output.replace(0, output.length(), "...---...");
|
||||
} else if (input.toString().equals("LETTER SPACE")) {
|
||||
output.replace(0, output.length(), " ");
|
||||
} else if (input.toString().equals("WORD SPACE")) {
|
||||
output.replace(0, output.length(), " ");
|
||||
} else {
|
||||
for (int c = input.length(); c > 0; c--) {
|
||||
if (input.toString().startsWith(" ")) {
|
||||
if (output.toString().endsWith(" ")) {
|
||||
output.delete(output.length() - 3, output.length());
|
||||
}
|
||||
output.append(" ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("A")) {
|
||||
output.append(".- ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("B")) {
|
||||
output.append("-... ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("C")) {
|
||||
output.append("-.-. ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("D")) {
|
||||
output.append("-.. ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("E")) {
|
||||
output.append(". ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("F")) {
|
||||
output.append("..-. ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("G")) {
|
||||
output.append("--. ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("H")) {
|
||||
output.append(".... ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("I")) {
|
||||
output.append(".. ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("J")) {
|
||||
output.append(".--- ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("K")) {
|
||||
output.append("-.- ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("L")) {
|
||||
output.append(".-.. ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("M")) {
|
||||
output.append("-- ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("N")) {
|
||||
output.append("-. ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("O")) {
|
||||
output.append("--- ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("P")) {
|
||||
output.append(".--. ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("Q")) {
|
||||
output.append("--.- ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("R")) {
|
||||
output.append(".-. ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("S")) {
|
||||
output.append("... ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("T")) {
|
||||
output.append("- ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("U")) {
|
||||
output.append("..- ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("V")) {
|
||||
output.append("...- ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("W")) {
|
||||
output.append(".-- ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("X")) {
|
||||
output.append("-..- ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("Y")) {
|
||||
output.append("-.-- ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("Z")) {
|
||||
output.append("--.. ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("0")) {
|
||||
output.append("----- ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("1")) {
|
||||
output.append(".---- ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("2")) {
|
||||
output.append("..--- ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("3")) {
|
||||
output.append("...-- ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("4")) {
|
||||
output.append("....- ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("5")) {
|
||||
output.append("..... ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("6")) {
|
||||
output.append("-.... ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("7")) {
|
||||
output.append("--... ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("8")) {
|
||||
output.append("---.. ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("9")) {
|
||||
output.append("----. ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("Ä")) {
|
||||
output.append(".-.- ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("Ö")) {
|
||||
output.append("---. ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("Ü")) {
|
||||
output.append("..-- ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("ß")) {
|
||||
output.append("...--... ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith(".")) {
|
||||
output.append(".-.-.- ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith(",")) {
|
||||
output.append("--..-- ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith(":")) {
|
||||
output.append("---... ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith(";")) {
|
||||
output.append("-.-.-. ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("?")) {
|
||||
output.append("..--.. ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("!")) {
|
||||
output.append("-.-.-- ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("-")) {
|
||||
output.append("-....- ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("_")) {
|
||||
output.append("..--.- ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("(")) {
|
||||
output.append("-.--. ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith(")")) {
|
||||
output.append("-.--.- ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("=")) {
|
||||
output.append("-...- ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("+")) {
|
||||
output.append(".-.-. ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("/")) {
|
||||
output.append("-..-. ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("@")) {
|
||||
output.append(".--.-. ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("'")) {
|
||||
output.append(".----. ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("$")) {
|
||||
output.append("...-..- ");
|
||||
input.delete(0, 1);
|
||||
} else {
|
||||
output.replace(0, output.length(), "Code not listed or wrong.");
|
||||
}
|
||||
output.append(" ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("A")) {
|
||||
output.append(".- ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("B")) {
|
||||
output.append("-... ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("C")) {
|
||||
output.append("-.-. ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("D")) {
|
||||
output.append("-.. ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("E")) {
|
||||
output.append(". ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("F")) {
|
||||
output.append("..-. ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("G")) {
|
||||
output.append("--. ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("H")) {
|
||||
output.append(".... ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("I")) {
|
||||
output.append(".. ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("J")) {
|
||||
output.append(".--- ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("K")) {
|
||||
output.append("-.- ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("L")) {
|
||||
output.append(".-.. ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("M")) {
|
||||
output.append("-- ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("N")) {
|
||||
output.append("-. ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("O")) {
|
||||
output.append("--- ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("P")) {
|
||||
output.append(".--. ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("Q")) {
|
||||
output.append("--.- ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("R")) {
|
||||
output.append(".-. ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("S")) {
|
||||
output.append("... ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("T")) {
|
||||
output.append("- ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("U")) {
|
||||
output.append("..- ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("V")) {
|
||||
output.append("...- ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("W")) {
|
||||
output.append(".-- ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("X")) {
|
||||
output.append("-..- ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("Y")) {
|
||||
output.append("-.-- ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("Z")) {
|
||||
output.append("--.. ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("0")) {
|
||||
output.append("----- ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("1")) {
|
||||
output.append(".---- ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("2")) {
|
||||
output.append("..--- ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("3")) {
|
||||
output.append("...-- ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("4")) {
|
||||
output.append("....- ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("5")) {
|
||||
output.append("..... ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("6")) {
|
||||
output.append("-.... ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("7")) {
|
||||
output.append("--... ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("8")) {
|
||||
output.append("---.. ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("9")) {
|
||||
output.append("----. ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("Ä")) {
|
||||
output.append(".-.- ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("Ö")) {
|
||||
output.append("---. ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("Ü")) {
|
||||
output.append("..-- ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("ß")) {
|
||||
output.append("...--... ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith(".")) {
|
||||
output.append(".-.-.- ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith(",")) {
|
||||
output.append("--..-- ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith(":")) {
|
||||
output.append("---... ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith(";")) {
|
||||
output.append("-.-.-. ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("?")) {
|
||||
output.append("..--.. ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("!")) {
|
||||
output.append("-.-.-- ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("-")) {
|
||||
output.append("-....- ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("_")) {
|
||||
output.append("..--.- ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("(")) {
|
||||
output.append("-.--. ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith(")")) {
|
||||
output.append("-.--.- ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("=")) {
|
||||
output.append("-...- ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("+")) {
|
||||
output.append(".-.-. ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("/")) {
|
||||
output.append("-..-. ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("@")) {
|
||||
output.append(".--.-. ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("'")) {
|
||||
output.append(".----. ");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("$")) {
|
||||
output.append("...-..- ");
|
||||
input.delete(0, 1);
|
||||
} else {
|
||||
output.replace(0, output.length(), "Code not listed or wrong.");
|
||||
}
|
||||
if (output.toString().endsWith(" ")) {
|
||||
output.delete(output.length() - 3, output.length());
|
||||
}
|
||||
}
|
||||
if (output.toString().endsWith(" ")) {
|
||||
output.delete(output.length() - 3, output.length());
|
||||
}
|
||||
return output.toString();
|
||||
}
|
||||
return output.toString();
|
||||
}
|
||||
}
|
|
@ -24,221 +24,223 @@ package de.marcelkapfer.morseconverter.engine;
|
|||
public class DecodeWrittenMorseManager {
|
||||
|
||||
public static String getDecodedString(String inputMessage) {
|
||||
StringBuffer message = new StringBuffer(inputMessage);
|
||||
if (message.toString().endsWith(" ")) {
|
||||
message = message.deleteCharAt(message.length() - 1);
|
||||
}
|
||||
// Variables
|
||||
StringBuffer input = new StringBuffer();
|
||||
input = input.replace(0, input.length(), message.toString().toUpperCase());
|
||||
StringBuffer output = new StringBuffer();
|
||||
if (input.toString().equals("")) {
|
||||
output.replace(0, output.length(), "Please enter at least one character");
|
||||
} else if (input.toString().equals("LETTERSPACE")) {
|
||||
output.replace(0, output.length(), "#");
|
||||
} else if (input.toString().equals("END OF WORK")) {
|
||||
output.replace(0, output.length(), "000101");
|
||||
} else if (input.toString().equals("ERROR")) {
|
||||
output.replace(0, output.length(), "00000000");
|
||||
} else if (input.toString().equals("STARTING SIGNAL")) {
|
||||
output.replace(0, output.length(), "10101");
|
||||
} else if (input.toString().equals("ENDING SIGNAL")) {
|
||||
output.replace(0, output.length(), "01010");
|
||||
} else if (input.toString().equals("UNDERSTOOD")) {
|
||||
output.replace(0, output.length(), "00010");
|
||||
} else if (input.toString().equals("WAIT")) {
|
||||
output.replace(0, output.length(), "01000");
|
||||
} else if (input.toString().equals("SOS")) {
|
||||
output.replace(0, output.length(), "000111000");
|
||||
} else if (input.toString().equals("LETTER SPACE")) {
|
||||
output.replace(0, output.length(), "##");
|
||||
} else if (input.toString().equals("WORD SPACE")) {
|
||||
output.replace(0, output.length(), "+");
|
||||
if(inputMessage.equals("")){
|
||||
return "Please enter at least one character";
|
||||
} else {
|
||||
for (int c = input.length(); c > 0; c--) {
|
||||
StringBuffer message = new StringBuffer(inputMessage);
|
||||
if (message.toString().endsWith(" ")) {
|
||||
message = message.deleteCharAt(message.length() - 1);
|
||||
}
|
||||
// Variables
|
||||
StringBuffer input = new StringBuffer();
|
||||
input = input.replace(0, input.length(), message.toString().toUpperCase());
|
||||
StringBuffer output = new StringBuffer();
|
||||
if (input.toString().equals("LETTERSPACE")) {
|
||||
output.replace(0, output.length(), "#");
|
||||
} else if (input.toString().equals("END OF WORK")) {
|
||||
output.replace(0, output.length(), "000101");
|
||||
} else if (input.toString().equals("ERROR")) {
|
||||
output.replace(0, output.length(), "00000000");
|
||||
} else if (input.toString().equals("STARTING SIGNAL")) {
|
||||
output.replace(0, output.length(), "10101");
|
||||
} else if (input.toString().equals("ENDING SIGNAL")) {
|
||||
output.replace(0, output.length(), "01010");
|
||||
} else if (input.toString().equals("UNDERSTOOD")) {
|
||||
output.replace(0, output.length(), "00010");
|
||||
} else if (input.toString().equals("WAIT")) {
|
||||
output.replace(0, output.length(), "01000");
|
||||
} else if (input.toString().equals("SOS")) {
|
||||
output.replace(0, output.length(), "000111000");
|
||||
} else if (input.toString().equals("LETTER SPACE")) {
|
||||
output.replace(0, output.length(), "##");
|
||||
} else if (input.toString().equals("WORD SPACE")) {
|
||||
output.replace(0, output.length(), "+");
|
||||
} else {
|
||||
for (int c = input.length(); c > 0; c--) {
|
||||
|
||||
if (input.toString().startsWith(" ")) {
|
||||
if (output.toString().endsWith("#")) {
|
||||
output.delete(output.length() - 1, output.length());
|
||||
if (input.toString().startsWith(" ")) {
|
||||
if (output.toString().endsWith("#")) {
|
||||
output.delete(output.length() - 1, output.length());
|
||||
}
|
||||
output.append("+");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("A")) {
|
||||
output.append("01#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("B")) {
|
||||
output.append("1000#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("C")) {
|
||||
output.append("1010#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("D")) {
|
||||
output.append("100#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("E")) {
|
||||
output.append("0#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("F")) {
|
||||
output.append("0010#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("G")) {
|
||||
output.append("110#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("H")) {
|
||||
output.append("0000#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("I")) {
|
||||
output.append("00#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("J")) {
|
||||
output.append("0111#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("K")) {
|
||||
output.append("101#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("L")) {
|
||||
output.append("0100#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("M")) {
|
||||
output.append("11#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("N")) {
|
||||
output.append("10#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("O")) {
|
||||
output.append("111#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("P")) {
|
||||
output.append("0110#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("Q")) {
|
||||
output.append("1101#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("R")) {
|
||||
output.append("010#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("S")) {
|
||||
output.append("000#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("T")) {
|
||||
output.append("1#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("U")) {
|
||||
output.append("001#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("V")) {
|
||||
output.append("0001#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("W")) {
|
||||
output.append("011#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("X")) {
|
||||
output.append("1001#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("Y")) {
|
||||
output.append("1011#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("Z")) {
|
||||
output.append("1100#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("0")) {
|
||||
output.append("11111#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("1")) {
|
||||
output.append("01111#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("2")) {
|
||||
output.append("00111#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("3")) {
|
||||
output.append("00011#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("4")) {
|
||||
output.append("00001#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("5")) {
|
||||
output.append("00000#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("6")) {
|
||||
output.append("10000#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("7")) {
|
||||
output.append("11000#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("8")) {
|
||||
output.append("11100#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("9")) {
|
||||
output.append("11110#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("Ä")) {
|
||||
output.append("0101#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("Ö")) {
|
||||
output.append("1110#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("Ü")) {
|
||||
output.append("0011#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("ß")) {
|
||||
output.append("00011000#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith(".")) {
|
||||
output.append("010101#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith(",")) {
|
||||
output.append("110011#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith(":")) {
|
||||
output.append("111000#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith(";")) {
|
||||
output.append("101010#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("?")) {
|
||||
output.append("001100#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("!")) {
|
||||
output.append("101011#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("-")) {
|
||||
output.append("100001#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("_")) {
|
||||
output.append("001101#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("(")) {
|
||||
output.append("10110#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith(")")) {
|
||||
output.append("101101#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("=")) {
|
||||
output.append("10001#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("+")) {
|
||||
output.append("01010#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("/")) {
|
||||
output.append("10010#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("@")) {
|
||||
output.append("011010#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("'")) {
|
||||
output.append("011110#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("$")) {
|
||||
output.append("0001001#");
|
||||
input.delete(0, 1);
|
||||
} else {
|
||||
output.replace(0, output.length(), "Code not listed or wrong.");
|
||||
}
|
||||
output.append("+");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("A")) {
|
||||
output.append("01#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("B")) {
|
||||
output.append("1000#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("C")) {
|
||||
output.append("1010#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("D")) {
|
||||
output.append("100#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("E")) {
|
||||
output.append("0#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("F")) {
|
||||
output.append("0010#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("G")) {
|
||||
output.append("110#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("H")) {
|
||||
output.append("0000#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("I")) {
|
||||
output.append("00#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("J")) {
|
||||
output.append("0111#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("K")) {
|
||||
output.append("101#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("L")) {
|
||||
output.append("0100#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("M")) {
|
||||
output.append("11#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("N")) {
|
||||
output.append("10#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("O")) {
|
||||
output.append("111#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("P")) {
|
||||
output.append("0110#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("Q")) {
|
||||
output.append("1101#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("R")) {
|
||||
output.append("010#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("S")) {
|
||||
output.append("000#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("T")) {
|
||||
output.append("1#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("U")) {
|
||||
output.append("001#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("V")) {
|
||||
output.append("0001#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("W")) {
|
||||
output.append("011#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("X")) {
|
||||
output.append("1001#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("Y")) {
|
||||
output.append("1011#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("Z")) {
|
||||
output.append("1100#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("0")) {
|
||||
output.append("11111#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("1")) {
|
||||
output.append("01111#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("2")) {
|
||||
output.append("00111#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("3")) {
|
||||
output.append("00011#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("4")) {
|
||||
output.append("00001#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("5")) {
|
||||
output.append("00000#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("6")) {
|
||||
output.append("10000#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("7")) {
|
||||
output.append("11000#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("8")) {
|
||||
output.append("11100#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("9")) {
|
||||
output.append("11110#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("Ä")) {
|
||||
output.append("0101#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("Ö")) {
|
||||
output.append("1110#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("Ü")) {
|
||||
output.append("0011#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("ß")) {
|
||||
output.append("00011000#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith(".")) {
|
||||
output.append("010101#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith(",")) {
|
||||
output.append("110011#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith(":")) {
|
||||
output.append("111000#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith(";")) {
|
||||
output.append("101010#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("?")) {
|
||||
output.append("001100#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("!")) {
|
||||
output.append("101011#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("-")) {
|
||||
output.append("100001#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("_")) {
|
||||
output.append("001101#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("(")) {
|
||||
output.append("10110#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith(")")) {
|
||||
output.append("101101#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("=")) {
|
||||
output.append("10001#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("+")) {
|
||||
output.append("01010#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("/")) {
|
||||
output.append("10010#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("@")) {
|
||||
output.append("011010#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("'")) {
|
||||
output.append("011110#");
|
||||
input.delete(0, 1);
|
||||
} else if (input.toString().startsWith("$")) {
|
||||
output.append("0001001#");
|
||||
input.delete(0, 1);
|
||||
} else {
|
||||
output.replace(0, output.length(), "Code not listed or wrong.");
|
||||
}
|
||||
if (output.toString().endsWith("#")) {
|
||||
output.delete(output.length() - 1, output.length());
|
||||
}
|
||||
}
|
||||
if (output.toString().endsWith("#")) {
|
||||
output.delete(output.length() - 1, output.length());
|
||||
}
|
||||
return output.toString();
|
||||
}
|
||||
return output.toString();
|
||||
}
|
||||
}
|
|
@ -27,166 +27,170 @@ package de.marcelkapfer.morseconverter.engine;
|
|||
public class EncodeNormalMorseManager {
|
||||
|
||||
public static String getEncodedString(String inputMessage) {
|
||||
// Converts the input string into a StringBuffer
|
||||
StringBuffer message = new StringBuffer(inputMessage);
|
||||
// Delete the space at the end which is automatically set through some keyboards
|
||||
if (message.toString().endsWith(" ")) {
|
||||
message = message.deleteCharAt(message.length() - 1);
|
||||
}
|
||||
// Declaring variables
|
||||
String input;
|
||||
StringBuffer output = new StringBuffer();
|
||||
input = message.toString() + " ";
|
||||
StringBuffer inputToSign = new StringBuffer(input);
|
||||
while (!inputToSign.toString().equals(" ")) {
|
||||
int d = 0;
|
||||
boolean signFull = true;
|
||||
StringBuffer sign = new StringBuffer();
|
||||
while (signFull) {
|
||||
if (inputToSign.toString().startsWith(" ")) {
|
||||
output.append(" ");
|
||||
inputToSign.delete(d, d + 7);
|
||||
} else if (inputToSign.toString().substring(d, d + 3).equals(" ")) {
|
||||
if (d == 0) {
|
||||
inputToSign.delete(0, 3);
|
||||
if(inputMessage.equals("")){
|
||||
return "Please enter at least one character";
|
||||
} else {
|
||||
// Converts the input string into a StringBuffer
|
||||
StringBuffer message = new StringBuffer(inputMessage);
|
||||
// Delete the space at the end which is automatically set through some keyboards
|
||||
if (message.toString().endsWith(" ")) {
|
||||
message = message.deleteCharAt(message.length() - 1);
|
||||
}
|
||||
// Declaring variables
|
||||
String input;
|
||||
StringBuffer output = new StringBuffer();
|
||||
input = message.toString() + " ";
|
||||
StringBuffer inputToSign = new StringBuffer(input);
|
||||
while (!inputToSign.toString().equals(" ")) {
|
||||
int d = 0;
|
||||
boolean signFull = true;
|
||||
StringBuffer sign = new StringBuffer();
|
||||
while (signFull) {
|
||||
if (inputToSign.toString().startsWith(" ")) {
|
||||
output.append(" ");
|
||||
inputToSign.delete(d, d + 7);
|
||||
} else if (inputToSign.toString().substring(d, d + 3).equals(" ")) {
|
||||
if (d == 0) {
|
||||
inputToSign.delete(0, 3);
|
||||
} else {
|
||||
sign.replace(0, sign.length(), inputToSign
|
||||
.toString().substring(0, d));
|
||||
inputToSign.delete(0, d);
|
||||
signFull = false;
|
||||
}
|
||||
} else {
|
||||
sign.replace(0, sign.length(), inputToSign
|
||||
.toString().substring(0, d));
|
||||
inputToSign.delete(0, d);
|
||||
signFull = false;
|
||||
d++;
|
||||
}
|
||||
}
|
||||
if (sign.toString().equals(".-")) {
|
||||
output.append("A");
|
||||
} else if (sign.toString().equals("-...")) {
|
||||
output.append("B");
|
||||
} else if (sign.toString().equals("-.-.")) {
|
||||
output.append("C");
|
||||
} else if (sign.toString().equals("-..")) {
|
||||
output.append("D");
|
||||
} else if (sign.toString().equals(".")) {
|
||||
output.append("E");
|
||||
} else if (sign.toString().equals("..-.")) {
|
||||
output.append("F");
|
||||
} else if (sign.toString().equals("--.")) {
|
||||
output.append("G");
|
||||
} else if (sign.toString().equals("....")) {
|
||||
output.append("H");
|
||||
} else if (sign.toString().equals("..")) {
|
||||
output.append("I");
|
||||
} else if (sign.toString().equals(".---")) {
|
||||
output.append("J");
|
||||
} else if (sign.toString().equals("-.-")) {
|
||||
output.append("K");
|
||||
} else if (sign.toString().equals(".-..")) {
|
||||
output.append("L");
|
||||
} else if (sign.toString().equals("--")) {
|
||||
output.append("M");
|
||||
} else if (sign.toString().equals("-.")) {
|
||||
output.append("N");
|
||||
} else if (sign.toString().equals("---")) {
|
||||
output.append("O");
|
||||
} else if (sign.toString().equals(".--.")) {
|
||||
output.append("P");
|
||||
} else if (sign.toString().equals("--.-")) {
|
||||
output.append("Q");
|
||||
} else if (sign.toString().equals(".-.")) {
|
||||
output.append("R");
|
||||
} else if (sign.toString().equals("...")) {
|
||||
output.append("S");
|
||||
} else if (sign.toString().equals("-")) {
|
||||
output.append("T");
|
||||
} else if (sign.toString().equals("..-")) {
|
||||
output.append("U");
|
||||
} else if (sign.toString().equals("...-")) {
|
||||
output.append("V");
|
||||
} else if (sign.toString().equals(".--")) {
|
||||
output.append("W");
|
||||
} else if (sign.toString().equals("-..-")) {
|
||||
output.append("X");
|
||||
} else if (sign.toString().equals("-.--")) {
|
||||
output.append("Y");
|
||||
} else if (sign.toString().equals("--..")) {
|
||||
output.append("Z");
|
||||
} else if (sign.toString().equals("-----")) {
|
||||
output.append(". (zero)");
|
||||
} else if (sign.toString().equals(".----")) {
|
||||
output.append("-");
|
||||
} else if (sign.toString().equals("..---")) {
|
||||
output.append("2");
|
||||
} else if (sign.toString().equals("...--")) {
|
||||
output.append("3");
|
||||
} else if (sign.toString().equals("....-")) {
|
||||
output.append("4");
|
||||
} else if (sign.toString().equals(".....")) {
|
||||
output.append("5");
|
||||
} else if (sign.toString().equals("-....")) {
|
||||
output.append("6");
|
||||
} else if (sign.toString().equals("--...")) {
|
||||
output.append("7");
|
||||
} else if (sign.toString().equals("---..")) {
|
||||
output.append("8");
|
||||
} else if (sign.toString().equals("----.")) {
|
||||
output.append("9");
|
||||
} else if (sign.toString().equals(".-.-")) {
|
||||
output.append("Ä");
|
||||
} else if (sign.toString().equals("---.")) {
|
||||
output.append("Ö");
|
||||
} else if (sign.toString().equals("..--")) {
|
||||
output.append("Ü");
|
||||
} else if (sign.toString().equals("...--...")) {
|
||||
output.append("ß");
|
||||
} else if (sign.toString().equals("----")) {
|
||||
output.append("CH");
|
||||
} else if (sign.toString().equals(".-.-.-")) {
|
||||
output.append(".");
|
||||
} else if (sign.toString().equals("--..--")) {
|
||||
output.append(",");
|
||||
} else if (sign.toString().equals("---...")) {
|
||||
output.append(":");
|
||||
} else if (sign.toString().equals("-.-.-.")) {
|
||||
output.append(";");
|
||||
} else if (sign.toString().equals("..--..")) {
|
||||
output.append("?");
|
||||
} else if (sign.toString().equals("-.-.--")) {
|
||||
output.append("!");
|
||||
} else if (sign.toString().equals("-....-")) {
|
||||
output.append("-");
|
||||
} else if (sign.toString().equals("..--.-")) {
|
||||
output.append("_");
|
||||
} else if (sign.toString().equals("-.--.")) {
|
||||
output.append("(");
|
||||
} else if (sign.toString().equals("-.--.-")) {
|
||||
output.append(")");
|
||||
} else if (sign.toString().equals(".----.")) {
|
||||
output.append("'");
|
||||
} else if (sign.toString().equals("-...-")) {
|
||||
output.append("=");
|
||||
} else if (sign.toString().equals(".-.-.")) {
|
||||
output.append("+ or End of the signal");
|
||||
} else if (sign.toString().equals("-..-.")) {
|
||||
output.append("/");
|
||||
} else if (sign.toString().equals(".--.-.")) {
|
||||
output.append("@");
|
||||
} else if (sign.toString().equals("-.-.-")) {
|
||||
output.append("Begin of the signal");
|
||||
} else if (sign.toString().equals("-...-")) {
|
||||
output.append("Wait");
|
||||
} else if (sign.toString().equals("...-.")) {
|
||||
output.append("Understood");
|
||||
} else if (sign.toString().equals("...-.-")) {
|
||||
output.append("End of work");
|
||||
} else if (sign.toString().equals("...---...")) {
|
||||
output.append("SOS");
|
||||
} else if (sign.toString().equals("........")) {
|
||||
output.append("Error");
|
||||
} else {
|
||||
d++;
|
||||
output.replace(0, output.length(), "Code not listed or wrong.");
|
||||
}
|
||||
}
|
||||
if (sign.toString().equals(".-")) {
|
||||
output.append("A");
|
||||
} else if (sign.toString().equals("-...")) {
|
||||
output.append("B");
|
||||
} else if (sign.toString().equals("-.-.")) {
|
||||
output.append("C");
|
||||
} else if (sign.toString().equals("-..")) {
|
||||
output.append("D");
|
||||
} else if (sign.toString().equals(".")) {
|
||||
output.append("E");
|
||||
} else if (sign.toString().equals("..-.")) {
|
||||
output.append("F");
|
||||
} else if (sign.toString().equals("--.")) {
|
||||
output.append("G");
|
||||
} else if (sign.toString().equals("....")) {
|
||||
output.append("H");
|
||||
} else if (sign.toString().equals("..")) {
|
||||
output.append("I");
|
||||
} else if (sign.toString().equals(".---")) {
|
||||
output.append("J");
|
||||
} else if (sign.toString().equals("-.-")) {
|
||||
output.append("K");
|
||||
} else if (sign.toString().equals(".-..")) {
|
||||
output.append("L");
|
||||
} else if (sign.toString().equals("--")) {
|
||||
output.append("M");
|
||||
} else if (sign.toString().equals("-.")) {
|
||||
output.append("N");
|
||||
} else if (sign.toString().equals("---")) {
|
||||
output.append("O");
|
||||
} else if (sign.toString().equals(".--.")) {
|
||||
output.append("P");
|
||||
} else if (sign.toString().equals("--.-")) {
|
||||
output.append("Q");
|
||||
} else if (sign.toString().equals(".-.")) {
|
||||
output.append("R");
|
||||
} else if (sign.toString().equals("...")) {
|
||||
output.append("S");
|
||||
} else if (sign.toString().equals("-")) {
|
||||
output.append("T");
|
||||
} else if (sign.toString().equals("..-")) {
|
||||
output.append("U");
|
||||
} else if (sign.toString().equals("...-")) {
|
||||
output.append("V");
|
||||
} else if (sign.toString().equals(".--")) {
|
||||
output.append("W");
|
||||
} else if (sign.toString().equals("-..-")) {
|
||||
output.append("X");
|
||||
} else if (sign.toString().equals("-.--")) {
|
||||
output.append("Y");
|
||||
} else if (sign.toString().equals("--..")) {
|
||||
output.append("Z");
|
||||
} else if (sign.toString().equals("-----")) {
|
||||
output.append(". (zero)");
|
||||
} else if (sign.toString().equals(".----")) {
|
||||
output.append("-");
|
||||
} else if (sign.toString().equals("..---")) {
|
||||
output.append("2");
|
||||
} else if (sign.toString().equals("...--")) {
|
||||
output.append("3");
|
||||
} else if (sign.toString().equals("....-")) {
|
||||
output.append("4");
|
||||
} else if (sign.toString().equals(".....")) {
|
||||
output.append("5");
|
||||
} else if (sign.toString().equals("-....")) {
|
||||
output.append("6");
|
||||
} else if (sign.toString().equals("--...")) {
|
||||
output.append("7");
|
||||
} else if (sign.toString().equals("---..")) {
|
||||
output.append("8");
|
||||
} else if (sign.toString().equals("----.")) {
|
||||
output.append("9");
|
||||
} else if (sign.toString().equals(".-.-")) {
|
||||
output.append("Ä");
|
||||
} else if (sign.toString().equals("---.")) {
|
||||
output.append("Ö");
|
||||
} else if (sign.toString().equals("..--")) {
|
||||
output.append("Ü");
|
||||
} else if (sign.toString().equals("...--...")) {
|
||||
output.append("ß");
|
||||
} else if (sign.toString().equals("----")) {
|
||||
output.append("CH");
|
||||
} else if (sign.toString().equals(".-.-.-")) {
|
||||
output.append(".");
|
||||
} else if (sign.toString().equals("--..--")) {
|
||||
output.append(",");
|
||||
} else if (sign.toString().equals("---...")) {
|
||||
output.append(":");
|
||||
} else if (sign.toString().equals("-.-.-.")) {
|
||||
output.append(";");
|
||||
} else if (sign.toString().equals("..--..")) {
|
||||
output.append("?");
|
||||
} else if (sign.toString().equals("-.-.--")) {
|
||||
output.append("!");
|
||||
} else if (sign.toString().equals("-....-")) {
|
||||
output.append("-");
|
||||
} else if (sign.toString().equals("..--.-")) {
|
||||
output.append("_");
|
||||
} else if (sign.toString().equals("-.--.")) {
|
||||
output.append("(");
|
||||
} else if (sign.toString().equals("-.--.-")) {
|
||||
output.append(")");
|
||||
} else if (sign.toString().equals(".----.")) {
|
||||
output.append("'");
|
||||
} else if (sign.toString().equals("-...-")) {
|
||||
output.append("=");
|
||||
} else if (sign.toString().equals(".-.-.")) {
|
||||
output.append("+ or End of the signal");
|
||||
} else if (sign.toString().equals("-..-.")) {
|
||||
output.append("/");
|
||||
} else if (sign.toString().equals(".--.-.")) {
|
||||
output.append("@");
|
||||
} else if (sign.toString().equals("-.-.-")) {
|
||||
output.append("Begin of the signal");
|
||||
} else if (sign.toString().equals("-...-")) {
|
||||
output.append("Wait");
|
||||
} else if (sign.toString().equals("...-.")) {
|
||||
output.append("Understood");
|
||||
} else if (sign.toString().equals("...-.-")) {
|
||||
output.append("End of work");
|
||||
} else if (sign.toString().equals("...---...")) {
|
||||
output.append("SOS");
|
||||
} else if (sign.toString().equals("........")) {
|
||||
output.append("Error");
|
||||
} else {
|
||||
output.replace(0, output.length(), "Code not listed or wrong.");
|
||||
}
|
||||
return output.toString();
|
||||
}
|
||||
return output.toString();
|
||||
}
|
||||
}
|
|
@ -28,166 +28,170 @@ package de.marcelkapfer.morseconverter.engine;
|
|||
public class EncodeWrittenMorseManager {
|
||||
|
||||
public static String getEncodedString(String inputMessage) {
|
||||
StringBuffer message = new StringBuffer(inputMessage);
|
||||
if (message.toString().endsWith(" ")) {
|
||||
message = message.deleteCharAt(message.length() - 1);
|
||||
}
|
||||
// Variables
|
||||
String input;
|
||||
StringBuffer output = new StringBuffer();
|
||||
input = message.toString().toUpperCase() + "#";
|
||||
StringBuffer inputToSign = new StringBuffer(input);
|
||||
while (!inputToSign.toString().equals("#")) {
|
||||
int d = 0;
|
||||
boolean signFull = true;
|
||||
StringBuffer sign = new StringBuffer();
|
||||
while (signFull) {
|
||||
if (inputToSign.toString().charAt(d) == '+'
|
||||
|| inputToSign.toString().charAt(d) == '#') {
|
||||
if (d == 0) {
|
||||
if (inputToSign.toString().startsWith("+")) {
|
||||
output.append(" ");
|
||||
if(inputMessage.equals("")){
|
||||
return "Please enter at least one character";
|
||||
} else {
|
||||
StringBuffer message = new StringBuffer(inputMessage);
|
||||
if (message.toString().endsWith(" ")) {
|
||||
message = message.deleteCharAt(message.length() - 1);
|
||||
}
|
||||
// Variables
|
||||
String input;
|
||||
StringBuffer output = new StringBuffer();
|
||||
input = message.toString().toUpperCase() + "#";
|
||||
StringBuffer inputToSign = new StringBuffer(input);
|
||||
while (!inputToSign.toString().equals("#")) {
|
||||
int d = 0;
|
||||
boolean signFull = true;
|
||||
StringBuffer sign = new StringBuffer();
|
||||
while (signFull) {
|
||||
if (inputToSign.toString().charAt(d) == '+'
|
||||
|| inputToSign.toString().charAt(d) == '#') {
|
||||
if (d == 0) {
|
||||
if (inputToSign.toString().startsWith("+")) {
|
||||
output.append(" ");
|
||||
}
|
||||
inputToSign.deleteCharAt(0);
|
||||
} else {
|
||||
sign.replace(0, sign.length(), inputToSign
|
||||
.toString().substring(0, d));
|
||||
inputToSign.delete(0, d);
|
||||
signFull = false;
|
||||
}
|
||||
inputToSign.deleteCharAt(0);
|
||||
} else {
|
||||
sign.replace(0, sign.length(), inputToSign
|
||||
.toString().substring(0, d));
|
||||
inputToSign.delete(0, d);
|
||||
signFull = false;
|
||||
d++;
|
||||
}
|
||||
}
|
||||
if (sign.toString().equals("01")) {
|
||||
output.append("A");
|
||||
} else if (sign.toString().equals("1000")) {
|
||||
output.append("B");
|
||||
} else if (sign.toString().equals("1010")) {
|
||||
output.append("C");
|
||||
} else if (sign.toString().equals("100")) {
|
||||
output.append("D");
|
||||
} else if (sign.toString().equals("0")) {
|
||||
output.append("E");
|
||||
} else if (sign.toString().equals("0010")) {
|
||||
output.append("F");
|
||||
} else if (sign.toString().equals("110")) {
|
||||
output.append("G");
|
||||
} else if (sign.toString().equals("0000")) {
|
||||
output.append("H");
|
||||
} else if (sign.toString().equals("00")) {
|
||||
output.append("I");
|
||||
} else if (sign.toString().equals("0111")) {
|
||||
output.append("J");
|
||||
} else if (sign.toString().equals("101")) {
|
||||
output.append("K");
|
||||
} else if (sign.toString().equals("0100")) {
|
||||
output.append("L");
|
||||
} else if (sign.toString().equals("11")) {
|
||||
output.append("M");
|
||||
} else if (sign.toString().equals("10")) {
|
||||
output.append("N");
|
||||
} else if (sign.toString().equals("111")) {
|
||||
output.append("O");
|
||||
} else if (sign.toString().equals("0110")) {
|
||||
output.append("P");
|
||||
} else if (sign.toString().equals("1101")) {
|
||||
output.append("Q");
|
||||
} else if (sign.toString().equals("010")) {
|
||||
output.append("R");
|
||||
} else if (sign.toString().equals("000")) {
|
||||
output.append("S");
|
||||
} else if (sign.toString().equals("1")) {
|
||||
output.append("T");
|
||||
} else if (sign.toString().equals("001")) {
|
||||
output.append("U");
|
||||
} else if (sign.toString().equals("0001")) {
|
||||
output.append("V");
|
||||
} else if (sign.toString().equals("011")) {
|
||||
output.append("W");
|
||||
} else if (sign.toString().equals("1001")) {
|
||||
output.append("X");
|
||||
} else if (sign.toString().equals("1011")) {
|
||||
output.append("Y");
|
||||
} else if (sign.toString().equals("1100")) {
|
||||
output.append("Z");
|
||||
} else if (sign.toString().equals("11111")) {
|
||||
output.append("0 (zero)");
|
||||
} else if (sign.toString().equals("01111")) {
|
||||
output.append("1");
|
||||
} else if (sign.toString().equals("00111")) {
|
||||
output.append("2");
|
||||
} else if (sign.toString().equals("00011")) {
|
||||
output.append("3");
|
||||
} else if (sign.toString().equals("00001")) {
|
||||
output.append("4");
|
||||
} else if (sign.toString().equals("00000")) {
|
||||
output.append("5");
|
||||
} else if (sign.toString().equals("10000")) {
|
||||
output.append("6");
|
||||
} else if (sign.toString().equals("11000")) {
|
||||
output.append("7");
|
||||
} else if (sign.toString().equals("11100")) {
|
||||
output.append("8");
|
||||
} else if (sign.toString().equals("11110")) {
|
||||
output.append("9");
|
||||
} else if (sign.toString().equals("0101")) {
|
||||
output.append("Ä");
|
||||
} else if (sign.toString().equals("1110")) {
|
||||
output.append("Ö");
|
||||
} else if (sign.toString().equals("0011")) {
|
||||
output.append("Ü");
|
||||
} else if (sign.toString().equals("00011000")) {
|
||||
output.append("ß");
|
||||
} else if (sign.toString().equals("1111")) {
|
||||
output.append("CH");
|
||||
} else if (sign.toString().equals("010101")) {
|
||||
output.append(".");
|
||||
} else if (sign.toString().equals("110011")) {
|
||||
output.append(",");
|
||||
} else if (sign.toString().equals("111000")) {
|
||||
output.append(":");
|
||||
} else if (sign.toString().equals("101010")) {
|
||||
output.append(";");
|
||||
} else if (sign.toString().equals("001100")) {
|
||||
output.append("?");
|
||||
} else if (sign.toString().equals("101011")) {
|
||||
output.append("!");
|
||||
} else if (sign.toString().equals("100001")) {
|
||||
output.append("-");
|
||||
} else if (sign.toString().equals("001101")) {
|
||||
output.append("_");
|
||||
} else if (sign.toString().equals("10110")) {
|
||||
output.append("(");
|
||||
} else if (sign.toString().equals("101101")) {
|
||||
output.append(")");
|
||||
} else if (sign.toString().equals("011110")) {
|
||||
output.append("'");
|
||||
} else if (sign.toString().equals("10001")) {
|
||||
output.append("=");
|
||||
} else if (sign.toString().equals("01010")) {
|
||||
output.append("+ or End of the signal");
|
||||
} else if (sign.toString().equals("10010")) {
|
||||
output.append("/");
|
||||
} else if (sign.toString().equals("011010")) {
|
||||
output.append("@");
|
||||
} else if (sign.toString().equals("10101")) {
|
||||
output.append("Begin of the signal");
|
||||
} else if (sign.toString().equals("10001")) {
|
||||
output.append("Wait");
|
||||
} else if (sign.toString().equals("00010")) {
|
||||
output.append("Understood");
|
||||
} else if (sign.toString().equals("000101")) {
|
||||
output.append("End of work");
|
||||
} else if (sign.toString().equals("000111000")) {
|
||||
output.append("SOS");
|
||||
} else if (sign.toString().equals("00000000")) {
|
||||
output.append("Error");
|
||||
} else {
|
||||
d++;
|
||||
output.replace(0, output.length(), "Code not listed or wrong.");
|
||||
}
|
||||
}
|
||||
if (sign.toString().equals("01")) {
|
||||
output.append("A");
|
||||
} else if (sign.toString().equals("1000")) {
|
||||
output.append("B");
|
||||
} else if (sign.toString().equals("1010")) {
|
||||
output.append("C");
|
||||
} else if (sign.toString().equals("100")) {
|
||||
output.append("D");
|
||||
} else if (sign.toString().equals("0")) {
|
||||
output.append("E");
|
||||
} else if (sign.toString().equals("0010")) {
|
||||
output.append("F");
|
||||
} else if (sign.toString().equals("110")) {
|
||||
output.append("G");
|
||||
} else if (sign.toString().equals("0000")) {
|
||||
output.append("H");
|
||||
} else if (sign.toString().equals("00")) {
|
||||
output.append("I");
|
||||
} else if (sign.toString().equals("0111")) {
|
||||
output.append("J");
|
||||
} else if (sign.toString().equals("101")) {
|
||||
output.append("K");
|
||||
} else if (sign.toString().equals("0100")) {
|
||||
output.append("L");
|
||||
} else if (sign.toString().equals("11")) {
|
||||
output.append("M");
|
||||
} else if (sign.toString().equals("10")) {
|
||||
output.append("N");
|
||||
} else if (sign.toString().equals("111")) {
|
||||
output.append("O");
|
||||
} else if (sign.toString().equals("0110")) {
|
||||
output.append("P");
|
||||
} else if (sign.toString().equals("1101")) {
|
||||
output.append("Q");
|
||||
} else if (sign.toString().equals("010")) {
|
||||
output.append("R");
|
||||
} else if (sign.toString().equals("000")) {
|
||||
output.append("S");
|
||||
} else if (sign.toString().equals("1")) {
|
||||
output.append("T");
|
||||
} else if (sign.toString().equals("001")) {
|
||||
output.append("U");
|
||||
} else if (sign.toString().equals("0001")) {
|
||||
output.append("V");
|
||||
} else if (sign.toString().equals("011")) {
|
||||
output.append("W");
|
||||
} else if (sign.toString().equals("1001")) {
|
||||
output.append("X");
|
||||
} else if (sign.toString().equals("1011")) {
|
||||
output.append("Y");
|
||||
} else if (sign.toString().equals("1100")) {
|
||||
output.append("Z");
|
||||
} else if (sign.toString().equals("11111")) {
|
||||
output.append("0 (zero)");
|
||||
} else if (sign.toString().equals("01111")) {
|
||||
output.append("1");
|
||||
} else if (sign.toString().equals("00111")) {
|
||||
output.append("2");
|
||||
} else if (sign.toString().equals("00011")) {
|
||||
output.append("3");
|
||||
} else if (sign.toString().equals("00001")) {
|
||||
output.append("4");
|
||||
} else if (sign.toString().equals("00000")) {
|
||||
output.append("5");
|
||||
} else if (sign.toString().equals("10000")) {
|
||||
output.append("6");
|
||||
} else if (sign.toString().equals("11000")) {
|
||||
output.append("7");
|
||||
} else if (sign.toString().equals("11100")) {
|
||||
output.append("8");
|
||||
} else if (sign.toString().equals("11110")) {
|
||||
output.append("9");
|
||||
} else if (sign.toString().equals("0101")) {
|
||||
output.append("Ä");
|
||||
} else if (sign.toString().equals("1110")) {
|
||||
output.append("Ö");
|
||||
} else if (sign.toString().equals("0011")) {
|
||||
output.append("Ü");
|
||||
} else if (sign.toString().equals("00011000")) {
|
||||
output.append("ß");
|
||||
} else if (sign.toString().equals("1111")) {
|
||||
output.append("CH");
|
||||
} else if (sign.toString().equals("010101")) {
|
||||
output.append(".");
|
||||
} else if (sign.toString().equals("110011")) {
|
||||
output.append(",");
|
||||
} else if (sign.toString().equals("111000")) {
|
||||
output.append(":");
|
||||
} else if (sign.toString().equals("101010")) {
|
||||
output.append(";");
|
||||
} else if (sign.toString().equals("001100")) {
|
||||
output.append("?");
|
||||
} else if (sign.toString().equals("101011")) {
|
||||
output.append("!");
|
||||
} else if (sign.toString().equals("100001")) {
|
||||
output.append("-");
|
||||
} else if (sign.toString().equals("001101")) {
|
||||
output.append("_");
|
||||
} else if (sign.toString().equals("10110")) {
|
||||
output.append("(");
|
||||
} else if (sign.toString().equals("101101")) {
|
||||
output.append(")");
|
||||
} else if (sign.toString().equals("011110")) {
|
||||
output.append("'");
|
||||
} else if (sign.toString().equals("10001")) {
|
||||
output.append("=");
|
||||
} else if (sign.toString().equals("01010")) {
|
||||
output.append("+ or End of the signal");
|
||||
} else if (sign.toString().equals("10010")) {
|
||||
output.append("/");
|
||||
} else if (sign.toString().equals("011010")) {
|
||||
output.append("@");
|
||||
} else if (sign.toString().equals("10101")) {
|
||||
output.append("Begin of the signal");
|
||||
} else if (sign.toString().equals("10001")) {
|
||||
output.append("Wait");
|
||||
} else if (sign.toString().equals("00010")) {
|
||||
output.append("Understood");
|
||||
} else if (sign.toString().equals("000101")) {
|
||||
output.append("End of work");
|
||||
} else if (sign.toString().equals("000111000")) {
|
||||
output.append("SOS");
|
||||
} else if (sign.toString().equals("00000000")) {
|
||||
output.append("Error");
|
||||
} else {
|
||||
output.replace(0, output.length(), "Code not listed or wrong.");
|
||||
}
|
||||
return output.toString();
|
||||
}
|
||||
return output.toString();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Reference in a new issue