icon

Usetutoringspotscode to get 8% OFF on your first order!

Morse Code Conversion Program

Morse Code Conversion ProgramJAVA for Eclipse

Objective:
The letters of the alphabet A through Z can be represented in Morse code. Each letter is represented by a combination of up to four dots and/or dashes, as shown below. Use Java to write and run a console-window program that can convert an English message into Morse code or a Morse code message into English. The program must satisfy the following requirements:
Description:
Create a class called MorseCode that at least has methods with the following signatures:
toMorseCode(char letter) – accepts a single capital letter from the English alphabet and returns an array of 4 characters representing the Morse code equivalent of that letter.
fromMorseCode(char[] arr) – accepts an array of four Morse code characters (each either a dot, a dash, or space) and returns the English letter equivalent.
The MorseCode class will have two static variables:
char[] alphabet – An array of all 26 letters in the alphabet.
char[][] morseCodeAlphabet – an array of arrays of char, storing the morse code entries for all 26 letters of the alphabet.
Create a class AlphabetException. This class should extend Exception, and be used in case the user enters an invalid character in EITHER mode. For example, if the user wants to convert from English to Morse and enters a lower-case letter, your program should throw an AlphabetException.
Create a driver class called TestMorseCode. At a minimum
The program should print its name
The program should (continually) ask the user to whether the original phrase will be in English or Morse
For each iteration, the program should ask the user for a phrase (either in English or Morse, depending on the previous choice)
For each iteration, the program will print the result of the conversion (either English to Morse or Morse to English)
If the user enters an invalid character, your program should check for an AlphabetException and print an appropriate message.
After the error, your program should continue on the next iteration of the main loop (i.e. your program should NOT quit if the user enters an invalid phrase)
Your source code must conform to good programming style, with Javadoc comments on all public methods.
Example:
Morse Code Conversion Program.
This program reads a phrase in English(or Morse code) and prints its equivalent in Morse code (or English)
Please select one [1-3]:
1: English -> Morse
2: Morse -> English
3: Quit
1
Enter an English phrase:
PARTY ON
.–. .- .-. – -.– / — -.
Please select one [1-3]:
1: English -> Morse
2: Morse -> English
3: Quit
2
Enter a Morse phrase:
.–. .- .-. – -.– / — -.
PARTY ON
Please select one [1-3]:
1: English -> Morse
2: Morse -> English
3: Quit
1
Enter an English phrase:
this will cause an error
Letter ‘t’ not in alphabet
Aborting conversion
Please select one [1-3]:
1: English -> Morse
2: Morse -> English
3: Quit
3

Conversion Table:
A .- H …. O — V …-
B -… I .. P .–. W .–
C -.-. J .— Q –.- X -..-
D -.. K -.- R .-. Y -.–
E . L .-.. S … Z –..
F ..-. M — T –
G –. N -. U ..-

ADDITIONAL DOC:
To save time here is the code for the above table
private static char[][]
morseCodeAlphabet = { { ‘/’ }
, { ‘.’, ‘-‘ }
, { ‘-‘, ‘.’, ‘.’, ‘.’ }
, { ‘-‘, ‘.’, ‘-‘, ‘.’ }
, { ‘-‘, ‘.’, ‘.’ }
, { ‘.’ }
, { ‘.’, ‘.’, ‘-‘, ‘.’ }
, { ‘-‘, ‘-‘, ‘.’ }
, { ‘.’, ‘.’, ‘.’, ‘.’ }
, { ‘.’, ‘.’ }
, { ‘.’, ‘-‘, ‘-‘, ‘-‘ }
, { ‘-‘, ‘.’, ‘-‘ }
, { ‘.’, ‘-‘, ‘.’, ‘.’ }
, { ‘-‘, ‘-‘ }
, { ‘-‘, ‘.’ }
, { ‘-‘, ‘-‘, ‘-‘ }
, { ‘.’, ‘-‘, ‘-‘, ‘.’ }
, { ‘-‘, ‘-‘, ‘.’, ‘-‘ }
, { ‘.’, ‘-‘, ‘.’ }
, { ‘.’, ‘.’, ‘.’ }
, { ‘-‘ }
, { ‘.’, ‘.’, ‘-‘ }
, { ‘.’, ‘.’, ‘.’, ‘-‘ }
, { ‘.’, ‘-‘, ‘-‘ }
, { ‘-‘, ‘.’, ‘.’, ‘-‘ }
, { ‘-‘, ‘.’, ‘-‘, ‘-‘ }
, { ‘-‘, ‘-‘, ‘.’, ‘.’ }
};
private static char[] alphabet = { ‘ ‘, ‘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’ };

You can leave a response, or trackback from your own site.

Leave a Reply

Powered by WordPress | Designed by: Premium WordPress Themes | Thanks to Themes Gallery, Bromoney and Wordpress Themes