我正在開發一個使用遺傳算法和蜜蜂羣優化開發混合算法的大學項目。我陷入了一個小問題。簡單的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運算符。 –