Anagram程序比较两个字符串

时间:2015-11-18 19:21:35

标签: java string character stringbuffer anagram

我正在创建一个比较两个字符串的anagram程序,我不确定如何创建一个布尔值,如果两个单词中出现一个字符,则返回true。

我的代码如下:

StringBuffer strbuff1 = new StringBuffer(""); 

private StringBuffer strbuff2 = new StringBuffer(""); 

public Anagram (String s1, String s2) {

    s1 = strbuff1.toString();
    s2 = strbuff2.toString();

     } 

public boolean contains(char chart1) {
        return true;        //what do I put here? 
    }

}

2 个答案:

答案 0 :(得分:1)

所以你应该可以使用StringBuffer方法indexOf。请在此处查看api文档:http://docs.oracle.com/javase/7/docs/api/java/lang/StringBuffer.html#indexOf(java.lang.String)

类似的东西:

public boolean contains(char chart1) {
    if(strbuff1.indexOf(chart1) >= 0 && strbuff2.indexOf(chart1) >= 0) {
       return true;  
    }
    return false;      
}

但是,我也认为你的构造函数的变量赋值可能是向后的。

您可能需要strbuff1 = new StringBuffer(s1);

这将创建一个带有给定String对象内容的新StringBuffer。

祝你好运!

*编辑包括对两个单词的检查。

答案 1 :(得分:0)

这应该可以满足您的需求

public boolean contains(char chart1) {
    return stringOne.contains(Character.toString(chart1)) &&
        stringTwo.contains(Character.toString(chart1));
}

如果提供的字符包含在两个字符串中,则返回true,否则返回