以下是我的代码,几乎一切正常,但我遇到了将莫尔斯转换为英语的问题。我不明白这是怎么回事。我该怎么做才能继续这样做?每当我将莫尔斯程序运行到英语时,它只返回相同的语句而不翻译它。
public static String MorseEnglish(String morse)
{
String[] 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", " ", "0", "1",
"2", "3", "4", "5", "6", "7", "8" , "9" };
String a = ".- ";
String b = "-... ";
String c = "-.-. ";
String d = "-.. ";
String e = ". ";
String f = "..-. ";
String g = "--. ";
String h = ".... ";
String i = ".. ";
String j = ".--- ";
String k = "-.- ";
String l = ".-.. ";
String m = "-- ";
String n = "-. ";
String o = "--- ";
String p = ".--. ";
String q = "--.- ";
String r = ".-. ";
String s = "... ";
String t = "- ";
String u = "..- ";
String v = "...- ";
String w = ".-- ";
String x = "-..- ";
String y = "-.-- ";
String z = "--.. ";
String space = "| ";
String code[] = { 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 };
for(int variable = 0; variable < code.length; ++variable)
{
if(morse.equals(code[variable]))
return alphabet[variable];
}
return morse;
}
}
答案 0 :(得分:0)
现在去那个字符串&#34; app&#34;会是&#34; .- .--。 .--。 | - 。 --- .--&#34;在摩尔斯电码中,这适用于MorseEnglish方法
public static String MorseEnglish(String morse)
{
String[] morse1 = morse.split("[|]");
String english = "";
String[] 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", " ", "0", "1",
"2", "3", "4", "5", "6", "7", "8" , "9" };
String a = ".-";
String b = "-...";
String c = "-.-.";
String d = "-..";
String e = ".";
String f = "..-.";
String g = "--.";
String h = "....";
String i = "..";
String j = ".---";
String k = "-.-";
String l = ".-..";
String m = "--";
String n = "-.";
String o = "---";
String p = ".--.";
String q = "--.-";
String r = ".-.";
String s = "...";
String t = "-";
String u = "..-";
String v = "...-";
String w = ".--";
String x = "-..-";
String y = "-.--";
String z = "--..";
String space = "| ";
String code[] = { 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 };
for(int ii = 0;ii < morse1.length;ii++){
String[] morse2 = morse1[ii].split(" ");
for(int kk = 0;kk < morse2.length;kk++)
for(int jj = 0;jj < code.length;jj++){
if(morse2[kk].equals(code[jj])){
english += alphabet[jj];
}
}
english += " ";
}
/*for(int variable = 0; variable < code.length; ++variable)
{
if(morse.equals(code[variable]))
return alphabet[variable];
}*/
return english;
}