我正在为我的编程入门课程开发一个简单的摩尔斯电码翻译器。这是一个非常简单的设计,基于我所学的技术。
该程序适用于单个字符转换,但不能做单词或句子。我认为问题与最后的morse[index]
语句有关,但我不知道如何将翻译后的文本作为一个整体打印出来。
public class Exercise12_9
{
public static void main(String[] args)
{
String[] english = { "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", "1", "2", "3", "4", "5", "6", "7", "8", "9", "0",
",", ".", "?" };
String[] morse = { ".-", "-...", "-.-.", "-..", ".", "..-.", "--.", "....", "..",
".---", "-.-", ".-..", "--", "-.", "---", ".---.", "--.-", ".-.",
"...", "-", "..-", "...-", ".--", "-..-", "-.--", "--..", ".----",
"..---", "...--", "....-", ".....", "-....", "--...", "---..", "----.",
"-----", "--..--", ".-.-.-", "..--.." };
Scanner keyboard = new Scanner(System.in);
String userInput;
int index;
index = 0;
System.out.println(" This is an English to Morse Code Translator. ");
System.out.println(" Please enter what you would like translate ");
System.out.println(" into Morse Code. ");
System.out.println(" ============================================ ");
userInput = keyboard.next();
userInput = userInput.toLowerCase();
for (index = 0; index < userInput.length(); index++)
{
char [] chars = userInput.toCharArray();
if (userInput.equals(english[index]))
{
System.out.println(" Translated : " + morse[index]);
}
}
}
}