I am very new to programming and am having trouble understanding loops when not working with integers. I am trying to make an english to morse code translator and have this done so far:
import java.util.Scanner;
public class EnglishToMorse {
public static void main(String[] args) {
System.out.println("Please enter text you wish to convert to Morse Code.");
Scanner sc =new Scanner(System.in);
String english = sc.next();
if (english.equalsIgnoreCase("A")){
System.out.print(".- ");
}
if (english.equalsIgnoreCase("B")){
System.out.print("-... ");
}
if (english.equalsIgnoreCase("C")){
System.out.print("-.-. ");
}
if (english.equalsIgnoreCase("D")){
System.out.print("-.. ");
}
if (english.equalsIgnoreCase("E")){
System.out.print(". ");
}
if (english.equalsIgnoreCase("F")){
System.out.print("..-. ");
}
if (english.equalsIgnoreCase("G")){
System.out.print("--. ");
}
if (english.equalsIgnoreCase("H")){
System.out.print(".... ");
}
if (english.equalsIgnoreCase("I")){
System.out.print(".. ");
}
if (english.equalsIgnoreCase("J")){
System.out.print(".--- ");
}
if (english.equalsIgnoreCase("K")){
System.out.print("-.- ");
}
if (english.equalsIgnoreCase("L")){
System.out.print(".-.. ");
}
if (english.equalsIgnoreCase("M")){
System.out.print("-- ");
}
if (english.equalsIgnoreCase("N")){
System.out.print("-. ");
}
if (english.equalsIgnoreCase("O")){
System.out.print("--- ");
}
if (english.equalsIgnoreCase("P")){
System.out.print(".--. ");
}
if (english.equalsIgnoreCase("Q")){
System.out.print("--.- ");
}
if (english.equalsIgnoreCase("R")){
System.out.print(".-. ");
}
if (english.equalsIgnoreCase("S")){
System.out.print("... ");
}
if (english.equalsIgnoreCase("T")){
System.out.print("- ");
}
if (english.equalsIgnoreCase("U")){
System.out.print("..- ");
}
if (english.equalsIgnoreCase("V")){
System.out.print("...- ");
}
if (english.equalsIgnoreCase("W")){
System.out.print(".-- ");
}
if (english.equalsIgnoreCase("X")){
System.out.print("-..- ");
}
if (english.equalsIgnoreCase("Y")){
System.out.print("-.-- ");
}
if (english.equalsIgnoreCase("Z")){
System.out.print("--.. ");
}
if (english.equalsIgnoreCase("1")){
System.out.print(".---- ");
}
if (english.equalsIgnoreCase("2")){
System.out.print("..--- ");
}
if (english.equalsIgnoreCase("3")){
System.out.print("...-- ");
}
if (english.equalsIgnoreCase("4")){
System.out.print("...- ");
}
if (english.equalsIgnoreCase("5")){
System.out.print("..... ");
}
if (english.equalsIgnoreCase("6")){
System.out.print("-.... ");
}
if (english.equalsIgnoreCase("7")){
System.out.print("--... ");
}
if (english.equalsIgnoreCase("8")){
System.out.print("---.. ");
}
if (english.equalsIgnoreCase("9")){
System.out.print("----. ");
}
if (english.equalsIgnoreCase("0")){
System.out.print("----- ");
}
}
}
After numerous attempts trying out different lops and conditions, I cant get past the issue that my program can only translate one character. If I input more than one, it terminates. If someone could lead me on the right path in figuring out how to loop these if statements until all the characters are translated, I would be very grateful.
Aucun commentaire:
Enregistrer un commentaire