将莫尔斯翻译成英语

时间:2015-12-30 02:49:17

标签: java

以下是我的代码,几乎一切正常,但我遇到了将莫尔斯转换为英语的问题。我不明白这是怎么回事。我该怎么做才能继续这样做?每当我将莫尔斯程序运行到英语时,它只返回相同的语句而不翻译它。

    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; 
    }

}

1 个答案:

答案 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; 
    }