mirror of
https://github.com/LucasVbr/morseTools.git
synced 2026-05-13 17:11:48 +00:00
Tool to convert text to Morse
This commit is contained in:
@@ -0,0 +1 @@
|
|||||||
|
/.idea/*
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<module type="JAVA_MODULE" version="4">
|
||||||
|
<component name="NewModuleRootManager" inherit-compiler-output="true">
|
||||||
|
<exclude-output />
|
||||||
|
<content url="file://$MODULE_DIR$">
|
||||||
|
<sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
|
||||||
|
</content>
|
||||||
|
<orderEntry type="inheritedJdk" />
|
||||||
|
<orderEntry type="sourceFolder" forTests="false" />
|
||||||
|
</component>
|
||||||
|
</module>
|
||||||
Binary file not shown.
@@ -0,0 +1,93 @@
|
|||||||
|
/*
|
||||||
|
* Morse, 18/09/2021
|
||||||
|
* IUT Rodez 2021, INFO2 TD3
|
||||||
|
* pas de copyright, aucun droits
|
||||||
|
*/
|
||||||
|
|
||||||
|
import java.util.Locale;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Outils de conversion en code morse
|
||||||
|
*
|
||||||
|
* @author Lucas Vabre
|
||||||
|
*/
|
||||||
|
public class Morse {
|
||||||
|
|
||||||
|
private static final int CARATERE = 0;
|
||||||
|
private static final int CODE = 1;
|
||||||
|
private static final String DELIMITEUR = " ";
|
||||||
|
|
||||||
|
public static final String[][] TABLE_CONVERSION = {
|
||||||
|
{"A", ".-"}, {"B", "-..."}, {"C", "-.-."}, {"D", "-.."}, {"E", "."},
|
||||||
|
{"F", "..-."}, {"G", "--."}, {"H", "...."}, {"I", ".."}, {"J", ".---"},
|
||||||
|
{"K", "-.-"}, {"L", ".-.."}, {"M", "--"}, {"N", "-."}, {"O", "---"},
|
||||||
|
{"P", ".--."}, {"Q", "--.-"}, {"R", ".-."}, {"S", "..."}, {"T", "-"},
|
||||||
|
{"U", "..-"}, {"V", "...-"}, {"W", ".--"}, {"X", "-..-"}, {"Y", "-.--"},
|
||||||
|
{"Z", "--.."}, {"0", "-----"}, {"1", ".----"}, {"2", "..---"},
|
||||||
|
{"3", "...--"}, {"4", "....-"}, {"5", "....."}, {"6", "-...."},
|
||||||
|
{"7", "--..."}, {"8", "---.."}, {"9", "----."}, {".", ".-.-.-"},
|
||||||
|
{",", "--..--"}, {"'", ".----."}, {"?", "..--.."}, {":", "---..."},
|
||||||
|
{"-", "-....-"}, {"/", "-..-."}, {"[", "-.--."}, {"(", "-.--."},
|
||||||
|
{"]", "-.--.-"}, {")", "-.--.-"}, {"\"", ".-..-."}, {"_", "..--.-"},
|
||||||
|
{"=", "-...-"}, {"+", ".-.-."}, {"@", ".--.-."}, {"Ä", ".-.-"},
|
||||||
|
{"Å", ".--.-"}, {"É", "..-.."}, {"Ñ", "--.--"}, {"Ö", "---."},
|
||||||
|
{"Ü", "..--"}
|
||||||
|
};
|
||||||
|
|
||||||
|
public static String convertStringToMorse(String aConvertir) {
|
||||||
|
if (aConvertir == null) throw new IllegalArgumentException();
|
||||||
|
|
||||||
|
aConvertir = aConvertir.toUpperCase();
|
||||||
|
StringBuilder resultat = new StringBuilder();
|
||||||
|
|
||||||
|
for (char caractere : aConvertir.toCharArray()) {
|
||||||
|
resultat.append(convertCharToMorse(caractere))
|
||||||
|
.append(DELIMITEUR);
|
||||||
|
}
|
||||||
|
|
||||||
|
return resultat.toString().strip();
|
||||||
|
}
|
||||||
|
|
||||||
|
public static String convertCharToMorse(char aConvertir) {
|
||||||
|
char aTester;
|
||||||
|
for (String[] conversion : TABLE_CONVERSION) {
|
||||||
|
aTester = conversion[CARATERE].charAt(0);
|
||||||
|
if (aTester == aConvertir) return conversion[CODE];
|
||||||
|
}
|
||||||
|
return "?";
|
||||||
|
}
|
||||||
|
|
||||||
|
public static String convertMorseToString(String aConvertir) {
|
||||||
|
if (aConvertir == null) throw new IllegalArgumentException();
|
||||||
|
|
||||||
|
StringBuilder resultat = new StringBuilder();
|
||||||
|
|
||||||
|
String[] aConvertirSplitted = aConvertir.split(DELIMITEUR);
|
||||||
|
for (String code : aConvertirSplitted) {
|
||||||
|
resultat.append(convertMorseToChar(code));
|
||||||
|
}
|
||||||
|
|
||||||
|
return resultat.toString();
|
||||||
|
}
|
||||||
|
|
||||||
|
public static char convertMorseToChar(String aConvertir) {
|
||||||
|
String aTester;
|
||||||
|
for (String[] conversion : TABLE_CONVERSION) {
|
||||||
|
aTester = conversion[CODE];
|
||||||
|
if (aTester.equals(aConvertir)) return conversion[CARATERE].charAt(0);
|
||||||
|
}
|
||||||
|
return '?';
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Start
|
||||||
|
*
|
||||||
|
* @param args
|
||||||
|
*/
|
||||||
|
public static void main(String[] args) {
|
||||||
|
String test = "Message";
|
||||||
|
|
||||||
|
String morse = convertStringToMorse(test);
|
||||||
|
System.out.println(test + " : " + morse);
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user