1. package morsecode;
  2.  
  3. import java.io.BufferedReader;
  4. import java.io.InputStreamReader;
  5. import java.io.IOException;
  6.  
  7. public class MorseCode {
  8.    
  9.     public static void main(String[] args) throws IOException{
  10.         BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
  11.         System.out.println("Morse Code Translator");
  12.         System.out.println("Please Use Only Letters, Numbers, Spaces, Or \".\", \",\", or \"?\"");
  13.         System.out.print("> ");
  14.         String input = reader.readLine();
  15.         char[] cArray = input.toCharArray();
  16.         for (int i = 0; i < cArray.length; i++){
  17.             System.out.print(lookup(cArray[i]));
  18.         }
  19.        
  20.     }
  21.    
  22.     public static String lookup(char c){
  23.         switch(c){
  24.         case 'A':
  25.             return ".-";
  26.         case 'B':
  27.             return "-...";
  28.         case 'C':
  29.             return "-.-.";
  30.         case 'D':
  31.             return "-..";
  32.         case 'E':
  33.             return ".";
  34.         case 'F':
  35.             return "--.";
  36.         case 'G':
  37.             return "--.";
  38.         case 'H':
  39.             return "....";
  40.         case 'I':
  41.             return "..";
  42.         case 'J':
  43.             return ".---";
  44.         case 'K':
  45.             return "-.-";
  46.         case 'L':
  47.             return ".-..";
  48.         case 'M':
  49.             return "--";
  50.         case 'N':
  51.             return "-.";
  52.         case 'O':
  53.             return "---";
  54.         case 'P':
  55.             return ".--.";
  56.         case 'Q':
  57.             return "--.-";
  58.         case 'R':
  59.             return ".-.";
  60.         case 'S':
  61.             return "...";
  62.         case 'T':
  63.             return "-";
  64.         case 'U':
  65.             return "..-";
  66.         case 'V':
  67.             return "...-";
  68.         case 'W':
  69.             return ".--";
  70.         case 'X':
  71.             return "-..-";
  72.         case 'Y':
  73.             return "-.--";
  74.         case 'Z':
  75.             return "--..";
  76.         case '.':
  77.             return ".-.-.-";
  78.         case ',':
  79.             return "--..--";
  80.         case '?':
  81.             return "..--..";
  82.         case ' ':
  83.             return "  ";
  84.         case '0':
  85.             return "-----";
  86.         case '1':
  87.             return ".----";
  88.         case '2':
  89.             return "..---";
  90.         case '3':
  91.             return "...--";
  92.         case '4':
  93.             return "....-";
  94.         case '5':
  95.             return ".....";
  96.         case '6':
  97.             return "-....";
  98.         case '7':
  99.             return "--...";
  100.         case '8':
  101.             return "---..";
  102.         case '9':
  103.             return "----.";
  104.         case 'a':
  105.             return ".-";
  106.         case 'b':
  107.             return "-...";
  108.         case 'c':
  109.             return "-.-.";
  110.         case 'd':
  111.             return "-..";
  112.         case 'e':
  113.             return ".";
  114.         case 'f':
  115.             return "--.";
  116.         case 'g':
  117.             return "--.";
  118.         case 'h':
  119.             return "....";
  120.         case 'i':
  121.             return "..";
  122.         case 'j':
  123.             return ".---";
  124.         case 'k':
  125.             return "-.-";
  126.         case 'l':
  127.             return ".-..";
  128.         case 'm':
  129.             return "--";
  130.         case 'n':
  131.             return "-.";
  132.         case 'o':
  133.             return "---";
  134.         case 'p':
  135.             return ".--.";
  136.         case 'q':
  137.             return "--.-";
  138.         case 'r':
  139.             return ".-.";
  140.         case 's':
  141.             return "...";
  142.         case 't':
  143.             return "-";
  144.         case 'u':
  145.             return "..-";
  146.         case 'v':
  147.             return "...-";
  148.         case 'w':
  149.             return ".--";
  150.         case 'x':
  151.             return "-..-";
  152.         case 'y':
  153.             return "-.--";
  154.         case 'z':
  155.             return "--..";
  156.         default:
  157.             System.err.println("Switch Error: lookup");
  158.             return null;   
  159.         }
  160.     }
  161.  
  162. }