Java Morsecode Translator에 문제가 있습니다. Characters와 MorseCode로 채워진 두 개의 배열을 만들었습니다. 내가 번역 할 경우 모스 부호는 방법 getCharacter()를 통해 모든 문자를 취득하는 메소드의 디코딩()Java Morsecode Translator
public String decode(String mc) {
StringBuilder sb2 = new StringBuilder();
// trim() removes whitespaces before or after String
String mctrim = mc.trim();
//Morsecode has a short Pause (1 Whitespace) between every character
//and a long Pause (3 Whitespaces) between words
//Splitting the Morsecode to get chars
if (mctrim.contains(kurzePause)) {
String[] mcsplit2 = mctrim.split(kurzePause);
for (int i = 0; i < mcsplit2.length; i++) {
sb2.append(getCharacter(mcsplit2[i]));
}
}
return sb2.toString();
텍스트합니다. 문자가 배열에 나열되지 않은 경우 '$'가 문장에 표시됩니다. 이제 kurzePause (짧은 일시 중지) 및 langePause (긴 일시 중지)를 변수로 선언했습니다. 공백은 내 배열의 일부가 아닙니다. 수 나는 올바른 모스 부호에 대해 주어진 출력 (.--- .- ...- .- -- .- -.-. .... - ... .--. .- ... ... .-.-.-
) 세 가지 공백 (longPause)와 하나의 공백의 블록 사이의 차이를 만드는 문자열 (shortPause를)
예 분할 방법
: JAVA$$MACHT$$SPASS
.
도움 주셔서 감사합니다.
문장을 먼저 (긴 일시 중지)로 나눌 수 있으며 반복하는 동안 현재 문장을 단어 (짧은 일시 중지)로 나눌 수 있습니다. – Tom
잘 이해한다면,'mc' 매개 변수는 모스 부호이고'.','-' 및 공백만을 포함하는 문자열입니까? 그리고'getCharacter'는'.'과'-'의 주어진 시퀀스에 해당하는 문자를 실제로 리턴합니다. –