Array.clone копирует ссылки на массив, поэтому любое изменение одного элемента в массиве приведет к изменению соответствующей ссылки на другой массив. То, что вы пытаетесь сделать, это скопировать значения массива. Для этого я бы порекомендовал создать цикл для прохождения каждого индекса в массиве A и присвоения ему того же индекса в массиве B.
Также как примечание для логических условий вам не нужно иметь
if(bool == true)
Вы можете вместо этого сделать
if(bool)
И для проверки ложного значения выполните
if(!bool)
Пример System.arraycopy:
void runExample(){
//show before
printArrays();
//copy array values
System.arraycopy(originalArray, 0, copiedArray, 0, originalArray.length);
//show after copy
printArrays();
//change original values
for (int i = 0; i < originalArray.length; i++){
originalArray[i] = i;
}
//show values after change
printArrays();
}
Результаты этого:
исходный массив: 4,2
скопированный массив: 0,0
исходный массив: 4,2
скопированный массив: 4,2
исходный массив: 0,1
скопированный массив: 4,2