-2

文から文字を削除する Java プログラムを書いています。「メソッド charAt(int) は、タイプ java.Lang.String に対して未定義です。」というエラーが表示されます。[35行目]

これが何を意味するかについての提案。

public class Ex1Program {

public void start() {

String sentence = getSentenceFromUser();
int randomPosition = getRandomPosition(sentence);
printCharacterToBeRemoved(sentence, randomPosition);
String changedSentence = removeCharacter(sentence, randomPosition);
printNewSentence(changedSentence);

}

private String getSentenceFromUser() { 
System.out.print("Enter a sentence :");
String sentence = Keyboard.readInput();
return sentence;
}
private int getRandomPosition(String sentence) {
int randomPosition = (int)(Math.random() * 14) +1;
return randomPosition;
}

private void printCharacterToBeRemoved(String sentence, int randomPosition) {
System.out.print("Removing " + sentence.charAt(randomPosition) + " from position " +                 randomPosition);

}

private String removeCharacter(String sentence, int randomPosition) {
String changedSentence = sentence.trim().CharAt(randomPosition);
return changedSentence;
}

private void printNewSentence(String changedSentence) {
System.out.print("New sentence is " + changedSentence);
}
}
4

1 に答える 1

3
String changedSentence = sentence.trim().CharAt(randomPosition);

そうでcharAtはありませんCharAt。それにもかかわらず、この変更を行った場合でも、 をchar保持する必要がある変数にを代入しようとすることになりますStringCharacter.toString文字を文字列に変換するために使用できます。


PS 文字列内の文字を削除する場合は、次を使用しますStringBuilder

String changedSentence = (new StringBuilder(sentence)).
                                         deleteCharAt(randomPosition).toString()
于 2013-05-31T22:30:29.017 に答える