2015-12-30 4 views
-2

Следующий мой код, почти все работает нормально, но у меня проблема с переводом Морса на английский. Я не понимаю, как это сделать. Как я должен продолжать и делать это? Всякий раз, когда я запускаю программу для Morse на английский, она просто возвращает тот же оператор, не переводя его.Перевод Морзе на английский

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

проверить эту ссылку, мой ответ делает как http://stackoverflow.com/questions/32239768/need-assistance-with-java-morse-code-translator-quickly/32240488#32240488 – JRowan

+1

нормально , в какое время это место, где вы? – JRowan

+0

и напишите одну строчку кода Морзе для меня – JRowan

ответ

0

происходит, что строка "приложение теперь" будет ".- .-- .-- | -... --- .--" в азбуке Морзе это будет работать 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; 
    } 
+0

он не работает для строки – psavla2

+0

sos будет «... --- ...» вот как я сделал это – JRowan

+0

«... | --- |. .. "работает для sos тоже – JRowan

Смежные вопросы