Вы можете использовать String.toCharArray
, чтобы получить char[]
от String
.Таким образом, мы можем легче итерировать оба String
, используя индекс.
String a="000";
String b="|&";
char[] arrayA = a.toCharArray();
char[] arrayB = b.toCharArray();
Затем все, что нам нужно сделать, это объединить два массива (из String
s), взяв один символ из обоих.Добавляя два условия (по одному на массив), чтобы предотвратить любое исключение ArrayIndexOutOfBOundsException, мы можем гарантировать, что мы объединим два массива.
StringBuilder sb = new StringBuilder();
//Add a char from both array (until we reach on of the limit)
int i = 0;
while( i < arrayA.length && i < arrayB.length){
sb.append(arrayA[i]).append(arrayB[i]);
++i;
}
Затем нам просто нужно добавить оставшиеся символы, используя цикл for
в обоих массивах.Только один из этих циклов будет запущен (или отсутствует), так как хотя бы одно предыдущее условие (i < arrayA.length && i < arrayB.length
) уже false
.
//Add the rest of `a` if any
for(int j = i; j < arrayA.length; ++j){
sb.append(arrayA[j]);
}
//Add the rest of `b` if any
for(int j = i; j < arrayB.length; ++j){
sb.append(arrayB[j]);
}
System.out.println(sb.toString());
0 | 0 & 0