/Users/petercappello/NetBeansProjects/56-2014/56-2014-lab5/src/Main.java |
Encode an English-language phrase as Morse code.
@author
public class Main
{
private static final String[] letterToCode =
{
".-",
"-...",
"_._.",
"-..",
".",
".._.",
"--.",
"....",
"..",
".---",
"-.-",
".-..",
"--",
"_.",
"---",
".--.",
"--.-",
"._.",
"...",
"-",
".._",
"...-",
".--",
"-..-",
"-.--",
"--.."
};
private static final String[] digitToCode =
{
"-----",
".----",
"..---",
"...--",
"....-",
".....",
"-....",
"--...",
"---..",
"----."
};
Encode a string consisting of upper-case alphabetic words and digits.
@param string
@return
public static String encode( String string )
{
StringBuilder morseCodedString = new StringBuilder();
for ( String word : string.split( " " ) )
{
for ( char character : word.toCharArray() )
{
String code = Character.isAlphabetic( character ) ? letterToCode[ character - 'A' ] : digitToCode[ character - '0' ];
morseCodedString.append( code ).append( ' ' );
}
morseCodedString.append( " " );
}
return morseCodedString.toString();
}
public static void main( String[] args )
{
String test = "THIS IS A TEST TESTING 1 2 3";
System.out.println( "Morse encoding of '" + test + "'" );
System.out.println( encode( test ) );
}
}