首页 > 解决方案 > 使用 charAt 比较 Java 中的两个字符串

问题描述

我必须使用 charAt() 函数比较两个字符串,如果字符串相同则返回 true,否则返回 false

public static boolean comparaStringhe(String word1, String word2) {
    if (word1.length() == word2.length()) {
        for (int i = 0; i < word1.length(); i++) {
            for (int j = 0; j < word2.length(); j++) {
                if (word1.charAt(i) == word2.charAt(j)) {
                    return true;
                } else {
                    return false;
                }
            }
        }
    }

    return false;
}

比较以下单词:
1. test - test /
2. test - Test /
3. test - tEst /
4. tEsT- testT

实际输出:
1.真
2.假
3.真
4.真

预期输出:
1. 真
2. 假
3. 假
4. 假

标签: javastringcharat

解决方案


您的代码有两个问题:
1. 不需要双循环,您将第一个单词的每个字符与第二个单词的每个字符进行比较,这是错误的。一个循环就足够了,然后比较word1.charAt(i) == word2.charAt(i)
2。如果第一个字符相等,则返回 true,而不是继续其余单词。应该只在return truefor循环结束之后出现

public static boolean comparaStringhe(String word1, String word2) {
        if (word1.length() == word2.length()) {
            for(int i=0; i<word1.length(); i++) {
                    if(word1.charAt(i) != word2.charAt(i)) {
                        return false;
                    }
            }
            return true;
        }

        return false;
   }

推荐阅读