java - 使用 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. 假
解决方案
您的代码有两个问题:
1. 不需要双循环,您将第一个单词的每个字符与第二个单词的每个字符进行比较,这是错误的。一个循环就足够了,然后比较word1.charAt(i) == word2.charAt(i)
2。如果第一个字符相等,则返回 true,而不是继续其余单词。应该只在return true
for循环结束之后出现
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;
}
推荐阅读
- python - 熊猫如何根据另一列中的重复值在列中输出不同的值
- php - Wordpress - 将所有具有未来日期的帖子计数到当前帖子
- google-bigquery - ST_MAKELINE 即使不连续也会丢弃重复点
- java - servlet 中的 ImageIO:我应该关闭输出流以及如何设置 Content-Length?
- testing - compile_time_purge_matching 在测试期间不起作用
- excel - VBA在两个单元格之间添加单元格值
- java - 如何将 Apache Drill 选项配置为环境变量?
- c# - 将进程列出到列表框中
- php - 如果数字以零开头,则 inval 返回错误的数字
- ios - 使用 UITabBarController 的 UIAccessibility 焦点