From 2d8bf539ae9faa91c9de55b0d7c99f8e2c738ccd Mon Sep 17 00:00:00 2001 From: mmk2410 Date: Wed, 1 Apr 2015 01:21:30 +0200 Subject: [PATCH] Better handling of an empty input --- .../engine/DecodeNormalMorseManager.java | 422 +++++++++--------- .../engine/DecodeWrittenMorseManager.java | 422 +++++++++--------- .../engine/EncodeNormalMorseManager.java | 314 ++++++------- .../engine/EncodeWrittenMorseManager.java | 310 ++++++------- 4 files changed, 740 insertions(+), 728 deletions(-) diff --git a/app/src/main/java/de/marcelkapfer/morseconverter/engine/DecodeNormalMorseManager.java b/app/src/main/java/de/marcelkapfer/morseconverter/engine/DecodeNormalMorseManager.java index a92116a..efa7fdc 100644 --- a/app/src/main/java/de/marcelkapfer/morseconverter/engine/DecodeNormalMorseManager.java +++ b/app/src/main/java/de/marcelkapfer/morseconverter/engine/DecodeNormalMorseManager.java @@ -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(); } } \ No newline at end of file diff --git a/app/src/main/java/de/marcelkapfer/morseconverter/engine/DecodeWrittenMorseManager.java b/app/src/main/java/de/marcelkapfer/morseconverter/engine/DecodeWrittenMorseManager.java index fec2983..7eaef1c 100644 --- a/app/src/main/java/de/marcelkapfer/morseconverter/engine/DecodeWrittenMorseManager.java +++ b/app/src/main/java/de/marcelkapfer/morseconverter/engine/DecodeWrittenMorseManager.java @@ -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(); } } \ No newline at end of file diff --git a/app/src/main/java/de/marcelkapfer/morseconverter/engine/EncodeNormalMorseManager.java b/app/src/main/java/de/marcelkapfer/morseconverter/engine/EncodeNormalMorseManager.java index fea22da..7b86e12 100644 --- a/app/src/main/java/de/marcelkapfer/morseconverter/engine/EncodeNormalMorseManager.java +++ b/app/src/main/java/de/marcelkapfer/morseconverter/engine/EncodeNormalMorseManager.java @@ -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(); } } \ No newline at end of file diff --git a/app/src/main/java/de/marcelkapfer/morseconverter/engine/EncodeWrittenMorseManager.java b/app/src/main/java/de/marcelkapfer/morseconverter/engine/EncodeWrittenMorseManager.java index db00874..80293c5 100644 --- a/app/src/main/java/de/marcelkapfer/morseconverter/engine/EncodeWrittenMorseManager.java +++ b/app/src/main/java/de/marcelkapfer/morseconverter/engine/EncodeWrittenMorseManager.java @@ -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(); } }