请帮我看一下我的java程序的问题 感激不尽!

编译的时候提示 error: incompatible types: char cannot be converted to CharSequence
public class Solution {
String s1="qwertyuiop";

public String[] findWords(String[] words) {

ArrayList<String> list = new ArrayList<String>();
for(int i=0;i<words.length;i++)
{
if(IsHave(words[i]) )
list.add(words[i]);
}
return list.toArray(new String[list.size()]);
}
public boolean IsHave(String s)
{

for(int j=0;j<s.length();j++)
{
String ch= s.charAt(j);
if(s1.contains(s.charAt(j)))// 报错的地方
return false;
}
return true;
}

}

public boolean IsHave(String s){
             for(int j=0;j<s.length();j++)
              {
                String ch= Character.toString(s.charAt(j));// 修改此处
                if(s1.contains(ch))                        // 已修正
                  return false;
              }
          return true;
    }

温馨提示:内容为网友见解,仅供参考
第1个回答  2017-02-09
charAt方法返回的是一个char类型的字符,而contains方法需要传入的是一个CharSequence,也就是一个String,所以你才会报错。把s.charAt(j)改成String类型就可以了。
相似回答