我有一个字符串数组:
qTrees[0] = "023012311312201123123130110332";
qTrees[1] = "023012311130023103123130110332";
qTrees[2] = "023013200020123103123130110333";
qTrees[3] = "023013200202301123123130110333";
使用这个循环我试图从它们中检索类似的部分:
String similarPart = "";
for (int i = 0; i < qTrees[0].length(); i++){
if (qTrees[0].charAt(i) == qTrees[1].charAt(i) &&
qTrees[1].charAt(i) == qTrees[2].charAt(i) &&
qTrees[2].charAt(i) == qTrees[3].charAt(i) ){
similarPart += qTrees[0].charAt(i);
} else {
break;
}
}
但这是错误的。如你所见,它只会返回“02301”,但可能会有更深的相似性。
请建议我更好的方法。感谢。
答案 0 :(得分:0)
您需要更好地定义您要实现的目标。你想要:
所有这些方法都会略有不同,但它们都归结为在循环中正确使用break
和continue
。
答案 1 :(得分:0)
删除代码中的else部分。然后它将检查直到字符串结束。
代码:
for (int i = 0; i < qTrees[0].length(); i++){
if (qTrees[0].charAt(i) == qTrees[1].charAt(i) &&
qTrees[1].charAt(i) == qTrees[2].charAt(i) &&
qTrees[2].charAt(i) == qTrees[3].charAt(i) ){
similarPart += qTrees[0].charAt(i);
}
}