我正在开发一个使用遗传算法和蜜蜂群优化开发混合算法的大学项目。我陷入了一个小问题。简单的Java程序连接两个字符串重叠
让我们假设我们有两个字符串:
String x="001100110011";
String y="001101110110";
我需要形成叠加它们组合x和y的新字符串。
String out="001101110111";
我尝试使用我在StackOverflow中找到的算法,但无法获得所需的结果。
public String docat(String f, String s) {
if (!f.contains(s.substring(0,1)))
return f + s;
int idx = s.length();
try {
while (!f.endsWith(s.substring(0, idx--))) ;
} catch (Exception e) { }
return f + s.substring(idx + 1);
}
我的目标是保持在连接字符串,直到我达到111111111111.长度固定为12
为什么你用一个字符串来表示12位?使用BitSet,逻辑更合理,效率更高,并且有你需要的方法('或()')。 –
您也可以使用像'short'或'int'这样的原语并使用按位操作'|' – Aaron
我必须尽可能简单地使用我们已经学过的东西。并感谢吨伴侣:)我可以使用OR运算符。 –