我正在尝试编译以下代码,但我一直收到错误。
Cannot find symbol method toCharacterArray(string)
Cannot find symbol method writeSuccess(int,char[],char[])
public class ControlFlow {
char[] 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'};
public void start(){
char[] sentenceToTest = toCharacterArray("the quick red fox jumps over the lazy brown dog");
char[] missingLetters = new char[26];
int numOfMissingLetters = 0;
for(int i=0; i < alphabet.length; i++){
char letterToFind = alphabet[i];
if(hasLetter(letterToFind, sentenceToTest)){
missingLetters[numOfMissingLetters] = letterToFind;
numOfMissingLetters++;
}
}
writeSuccess(numOfMissingLetters,missingLetters,sentenceToTest);
}
public boolean hasLetter(char aLetter, char[] aSentence) {
boolean found = false;
int position = 0;
while(!found){
if(aLetter == aSentence[position]){
found = true;
}else if(position == aSentence.length - 1){
break;
}else{
position++;
}
}
return found;
}
}
答案 0 :(得分:1)
你需要做的是
String abc="the quick red fox jumps over the lazy brown dog";
char[] sentenceToTest=abc.toCharArray();
并且您没有在班级中定义写成功方法
public void writeSuccess (int numOfMissingLetters,char[] missingLetters, char[] sentenceToTest){
Log.e("","number of missing letters are : "+numOfMissingLetters);
Log.e("","------------------");
for(int i=0 ;i<sentenceToTest.length();i++){
Log.e("","sentence to test is : "+sentenceToTest[i]);
}
Log.e("","------------------");
for(int i=0 ;i<missingLetters.length();i++){
Log.e("","missing letter is : "+missingLetters[i]);
}
}
答案 1 :(得分:1)
char[] sentenceToTest = toCharacterArray("the quick red fox jumps over the lazy brown dog");
应该是:
char[] sentenceToTest = "the quick red fox jumps over the lazy brown dog".toCharacterArray();
.toCharacterArray()
是String对象的一种方法。所以你做str.toCharacterArray()
,而不是toCharacterArray(str)
。
对于您的第二个问题,您没有在向我们展示的代码中实施writeSuccess()
方法。