문자열의 글자를 다른 글자로 대체하는 코드를 작성하고 있습니다. 그러나 현재의 나의 임무는 특정 형식의 코드를 원합니다. 나는 아래의 코드를 시도 : 나는 일반적으로 프로그램에 여전히 비교적 새로운 오전으로 char를 메서드로 변환 할 문자열로 변환하려고했습니다. 나는 어디로 잘못 가고 있니?
public String replaceLetter(String word, char letterToReplace, char replacingLetter)
{
letterToReplace = Character.toString(letterToReplace);
replacingLetter = Character.toString(replacingLetter);
word = word.replaceAll(letterToReplace, replacingLetter);
return word;
}
가 코딩에있는 비 효율성을 용서하십시오. 나는 또한 최근 문자와 문자열에 더 강렬하게 빠져 들었습니다. 그래서 나는 그들과 관련된 규칙이나 특성에 관해서 많이 알지 못합니다. 내 코드의 오류가 비논리적입니까? 현재 사용중인 IDE는 등급 지정을위한 과제를 수집하는 유일한 목적의 온라인입니다. 위의 코드를 컴파일 할 때마다 return 문이 누락되어 오류가 발생하므로 신뢰할 수 없다고 생각합니다. IDE 자체는 극히 제한되어 있으며 switch 문과 같은 것을 컴파일 할 수 없으므로 가능한 한 간단하게 유지할 수 있으면 더 좋을 것입니다. 그러나 IDE가 가장 정확한 코딩을 인식한다는 것을 알았습니다. for 문을 사용하여 코딩을 시도했습니다.
public String replaceLetter(String word, char letterToReplace, char replacingLetter)
{
for (int i = 0; i < word.length(); i++)
{
char ca = word.charAt(i);
if (ca == letterToReplace)
{
word = (word.substring(0,i)+ replacingLetter + word.substring(i+1));
}
}
return word;
}
하지만 오류가 발생했습니다. 내 구문을 수정하는 데 도움이 될 것입니다.
_ "하지만 오류가 발생했습니다."_ 무슨 오류가 있습니까? – JLRishe
컴파일러는 내 괄호 사용이 잘못되었거나 for 문이 불법임을 지적했습니다. 그것은 그렇게하는 것으로 알려져 있지만, 나는 내 실수가 다른 곳에 있다고 믿는다. –
대답은'toString'을 사용하면 결과가'String'이고'String' 변수에 할당해야한다는 것을 보여줍니다. Java는 강력하게 유형 지정됩니다. 즉, 다른 유형의 항목을 할당하여 변수 유형을 변경할 수 없습니다. 그러나 Java에'char' 인수를 허용하는'replace'가 있기 때문에 실제로 문자열로 변환 할 필요는 없습니다 : http://docs.oracle.com/javase/8/docs/api/java/lang/String .html # replace-char-char-. – ajb