Related questions
ENTER
\n
abcENTER
.- -... -.-. \n
This is a sample string 1234.ENTER
- .... .. ... .. ... .- ... .- -- .--. .-.. . ... - .-. .. -. --. .---- ..--- ...-- ....- .-.-.- \n
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.util.HashMap;
import java.util.Scanner;
public class MorseEncoder {
private static final HashMap<Character, String> codeMappings = new HashMap<>();
public static void main(String[] args) {
initializeMappings();
Scanner textScanner = new Scanner(System.in);
System.out.println("Please enter a string to convert to Morse code:");
String textForEncoding = textScanner.nextLine().toUpperCase();
if ("ENTER".equals(textForEncoding)) {
System.out.println();
return;
}
String encodedOutput = encodeText(textForEncoding);
System.out.println(encodedOutput);
}
private static void initializeMappings() {
try (BufferedReader mappingFile = new BufferedReader(new FileReader("morse.txt"))) {
String lineContent;
while ((lineContent = mappingFile.readLine()) != null) {
if (lineContent.length() < 5) {
continue;
}
char alphaChar = lineContent.charAt(0);
String morseString = lineContent.substring(4).trim();
codeMappings.put(alphaChar, morseString);
}
} catch (IOException ioEx) {
ioEx.printStackTrace();
}
}
private static String encodeText(String textForEncoding) {
StringBuilder encodedStringBuilder = new StringBuilder();
boolean lastCharWasSpace = false;
for (char individualChar : textForEncoding.toCharArray()) {
if (individualChar == ' ') {
if (!lastCharWasSpace) {
encodedStringBuilder.append(" ");
lastCharWasSpace = true;
}
continue;
}
lastCharWasSpace = false;
String morseSymbol = codeMappings.get(individualChar);
if (morseSymbol != null) {
encodedStringBuilder.append(morseSymbol).append(' ');
}
}
return encodedStringBuilder.toString().trim();
}
}
0 -----
1 .----
2 ..---
3 ...--
4 ....-
5 .....
6 -....
7 --...
8 ---..
9 ----.
, --..--
. .-.-.-
? ..--..
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 --..
Step by stepSolved in 3 steps with 3 images
- Using a for Loop Summary In this lab the completed program should print the numbers O through 10, along with their values multiplied by 2 and by 10. You should accomplish this using a for loop instead of a counter- controlled while loop. Instructions 1. Write a for loop that uses the loop control variable to take on the values O through 10. 2. In the body of the loop, multiply the value of the loop control variable by 2 and by 10. 3. Execute the program by clicking the Run button at the bottom of the screen. Is the output the same?arrow_forwardLab Activity for the students: Exercise 5: Write a program that asks the user to input a letter. The program finds and prints if the letter is uppercase or lowercase. Then, the program asks the user to input a string and get a three-character substring from the beginning of the string. (1 Mark ) Example : If the inputs are 'y' and "Community". Then, the program will print: y is lowercase The substring is: Comarrow_forwardJava Program ASAP ************This program must work in hypergrade and pass all the test cases.********** Here is a working program. Please modidy this program so it passes the test cases down below. I have provided the correct test case as a screenshot. For Test Case 1 first print out Please enter the file name or type QUIT to exit:\ then you type text1.txtENTER and it displays Stop And Smell The Roses./n there needs to be nothing after that. For test case 2 first print out Please enter the file name or type QUIT to exit: then you type txt1.txtENTER then it reads out File 'txt1.txt' is not found.\n Then it didplays Please re-enter the file name or type QUIT to exit:\n after the test file is not found. then you type in text1.txt and it displays stop and smell the roses.\n. For test case 3 first print out Please enter the file name or type QUIT to exit: then you type text2.txtENTER and it displays A true rebel you are! Everyone was impressed. You'll do well to continue in...arrow_forward
- In C# pleasearrow_forward*Using C# in Microsoft Visual Studio* create an application that lets the user enter a nonnegative integer and then uses a loop to calculate the factorial of that number. Display the factorial in a label or a message box. If the input is nonnumeric your program SHOULD NOT CRASH but display a message ""non numeric input". If the input is negative display the message ""negative numbers are invalid.arrow_forwardwrite programs date formarrow_forward
- String personName is read from input. Output personName left aligned with a width of 6, followed by " Taylor". End with a newline. Ex: If the input is Juno, then the output is: Juno Taylorarrow_forwardTrue or False _(1) The expression n/3*(8+4) evaluates to 16 if n=4 ___(2) x is greater than both y and z can be written as the statement x>y&&z ; in Java. ___(3) In Java a string is automatically an object.arrow_forwardQ5/A- create a QBasic program that will determine the price of traveler ticket based on customer s age. The program must able to input the customer's age then set the conditions so the price is determined as follows: age 0-5 age 6-20 price-1 50001D(Iraqi dinar) price 25000LD(Iraqi dinar) price-40 000ID(Iraqi dinar) age>21 B-Indicate what is acceptable and what is not acceptable from the following Q-Basic sentences with a reason (Choose 5 only) 1. KB5 2. Schools 3. AB3ドル 4. Print 5. LETX YS 6. "565ドル" Q6/A-By using (Qbasic or MS Excel) write a program to compute X 1+2+3+ +100 X-1x2+2x4+3x6++100x200 B- Answer the following question: (Choose Sonly) 1. Explain how to add a transition effect to the PowerPoint file.? 2. Add worksheet in Ms-Excel? 3. Add the watermark in your name to your Word document? 4. List and explain the most popular computer storage units? 5. What is the difference between the Save and the Save as commands? 6. List methods for inserting New Slide in the Ms. Power point?arrow_forward
- Java programming : I can’t figure question 9 out. Help would be appreciated of any input or output. Thanks!arrow_forwardprofile-image Time remaining: 00 : 09 : 42 Computer Science C++. Need help writing a program that plays the game of Hangman. The program should pick a word (which is either coded directly into the program or read from a text file) and display the following: Guess the word: XXXXXX Each X represents a letter. The user tries to guess the letters in the word. The appropriate response yes or no should be displayed after each guess. After each incorrect guess, display the diagram with another body part filled. After seven incorrect guesses, the user should be hanged. The display should look as follows: O /|\ | / \ After each guess, display all user guesses. If the user guesses the word correctly, display: " Congratulations!!! You guessed my word. Play again? yes/no " Please help in making this code and if possible to include steps to learn what most of the lines and functions do in order to understand it better. Thank you.arrow_forwardhelp with codearrow_forward
- Text book imageDatabase System ConceptsComputer ScienceISBN:9780078022159Author:Abraham Silberschatz Professor, Henry F. Korth, S. SudarshanPublisher:McGraw-Hill EducationText book imageStarting Out with Python (4th Edition)Computer ScienceISBN:9780134444321Author:Tony GaddisPublisher:PEARSONText book imageDigital Fundamentals (11th Edition)Computer ScienceISBN:9780132737968Author:Thomas L. FloydPublisher:PEARSON
- Text book imageC How to Program (8th Edition)Computer ScienceISBN:9780133976892Author:Paul J. Deitel, Harvey DeitelPublisher:PEARSONText book imageDatabase Systems: Design, Implementation, & Manag...Computer ScienceISBN:9781337627900Author:Carlos Coronel, Steven MorrisPublisher:Cengage LearningText book imageProgrammable Logic ControllersComputer ScienceISBN:9780073373843Author:Frank D. PetruzellaPublisher:McGraw-Hill Education