Computer Science Canada Converting from morse into english |
Author: | helpneeded [ Mon Jan 02, 2006 9:47 am ] |
Post subject: | Converting from morse into english |
I have to write a program that converts long sentenses to morse code and from morse code to english can someone give me a little hint on how to start, please! |
Author: | rizzix [ Mon Jan 02, 2006 11:30 am ] |
Post subject: | |
Create a HashTable that maps morse code to english alphabets or visa-versa. ![]() |
Author: | helpneeded [ Mon Jan 02, 2006 1:42 pm ] |
Post subject: | hmm |
I dunno how to use that, i was thinking about using arrays bare with me for a second ------ the user would be asked to input the message please enter message: [input] --- input would be the message (and the stuff to be translated) is it possible to convert the message [input] into arrays so that each string within the array can be accessed individualy ? ------------ for example; if the user enters "Hello I would like to convert this text into morse code" is it possible to have access to hello, i, would, like, to, etc... (Or whatever the string within a random input is}? |
Author: | turboliux [ Mon Jan 02, 2006 2:22 pm ] |
Post subject: | |
i would make that first the user chooses: 1. Morse > English 2. English > Morse and then use one of the following methods: toMorse(), toEnglish() as rizzix said, it better to use hash tables, because letters in Morse are not equal in length. |
Author: | wtd [ Mon Jan 02, 2006 2:23 pm ] |
Post subject: | |
Take this as an opportunity to learn how to use hash tables. Google for "hashtable site:java.sun.com" |
Author: | turboliux [ Mon Jan 02, 2006 2:29 pm ] | ||
Post subject: | |||
for toMorse() i would use following aproach:
|
Author: | wtd [ Mon Jan 02, 2006 2:38 pm ] | ||
Post subject: | |||
Don't use magic numbers. Create constants like:
|
Author: | helpneeded [ Mon Jan 02, 2006 3:34 pm ] |
Post subject: | |
Thanks, but it is required that i use arrays, is there a way to do it with arrays, it doesnt matter if its harder, i want to get a good mark on this! |
Author: | wtd [ Mon Jan 02, 2006 6:00 pm ] |
Post subject: | |
Well, do you understand ASCII? |
Author: | helpneeded [ Mon Jan 02, 2006 8:30 pm ] |
Post subject: | |
Yep, I know ASCII Ok, I got the basic part of the english to morse (just BASIC) processing, it is functioning; however, I cannot use the same concept I used to translate English to Morse for the translation from Morse to English due to the difference in sizes HERE::: // The "ISP" class. import java.awt.*; import hsa.Console; import java.io.*; public class ISP { static Console c; // The output console static int x = 0; static String content; static PrintWriter output; static int size; static String arrayName[] = new String [9999999]; //Array declaration public static void askData () { c.print ("Enter: "); content = c.readLine (); size = content.length (); } private static String translate (String content, int size) { while (x < size) { if (content.charAt (x) == 'a') return (".-"); else if (content.charAt (x) == 'b') return ("-..."); else if (content.charAt (x) == 'c') return ("-.-."); else if (content.charAt (x) == 'd') return ("-.."); else if (content.charAt (x) == 'e') return ("."); else if (content.charAt (x) == 'f') return ("..-."); else if (content.charAt (x) == 'g') return ("--."); else if (content.charAt (x) == 'h') return ("...."); else if (content.charAt (x) == 'i') return (".."); else if (content.charAt (x) == 'j') return (".---"); else if (content.charAt (x) == 'k') return ("-.-"); else if (content.charAt (x) == 'l') return (".-.."); else if (content.charAt (x) == 'm') return ("--"); else if (content.charAt (x) == 'n') return ("-."); else if (content.charAt (x) == 'o') return ("---"); else if (content.charAt (x) == 'p') return (".--."); else if (content.charAt (x) == 'q') return ("--.-"); else if (content.charAt (x) == 'r') return (".-."); else if (content.charAt (x) == 's') return ("..."); else if (content.charAt (x) == 't') return ("-"); else if (content.charAt (x) == 'u') return ("..-"); else if (content.charAt (x) == 'v') return ("...-"); else if (content.charAt (x) == 'w') return (".--"); else if (content.charAt (x) == 'x') return ("-..-"); else if (content.charAt (x) == 'y') return ("-.--"); else if (content.charAt (x) == 'z') return ("--.."); else if (content.charAt (x) == '1') return (".----"); else if (content.charAt (x) == '2') return ("..---"); else if (content.charAt (x) == '3') return ("...--"); else if (content.charAt (x) == '4') return ("....-"); else if (content.charAt (x) == '5') return ("....."); else if (content.charAt (x) == '6') return ("-...."); else if (content.charAt (x) == '7') return ("--..."); else if (content.charAt (x) == '8') return ("---.."); else if (content.charAt (x) == '9') return ("----."); else if (content.charAt (x) == '0') return ("-----"); else if (content.charAt (x) == ' ') //Spacing return ("/"); else return ("WRONG"); } return (""); } public static void displayData () // Displays the data in an array (English to Morse) { while (true) { arrayName [x] = translate2 (content, size); c.print (arrayName [x]); c.print (" "); x = x + 1; } } //////////////////////////////////Morse to English\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\ private static String translate2 (String content, int size) { while (true) { if (content.charAt (x) == '.' && content.charAt (x + 1) == '-' && content.charAt (x + 2) == ' ') return ("A"); else if (content.charAt (x) == '-' && content.charAt (x + 1) == '.' && content.charAt (x + 2) == '.' && content.charAt (x + 3) == ' ') return ("B"); } } public static void displayData2 () // Displays the data in an array (Morse to English) { while (content.charAt (x) != '/') { arrayName [x] = translate2 (content, size); c.print (arrayName [x]); c.print (" "); x = x + 1; } } public static void main (String[] args) { c = new Console (); askData (); displayData2 (); // Place your program here. 'c' is the output console } // main method } // ISP class ASCII would have helped in translating from English to Morse, I am not sure if it would help in translating from Morse to English; is there a way? (Thinking) |
Author: | wtd [ Mon Jan 02, 2006 10:18 pm ] | ||||
Post subject: | |||||
There are several issues with the code you've shown us.
|
Author: | Andy [ Thu Jan 05, 2006 11:33 am ] |
Post subject: | |
store your morse code in an array of string, then use indexOf on each character from your english word. |