Varför försvinner värderna från en array när en ny array läggs till Java.
Hej av någon anledning så fungerar detta inte som det logiskt sätt borde då det är exakt samma process men det fungerar inte som det ska. Jag vill kunne kombinera tre stycken arrays och min lösning var denna som inte verkar fungera även om den i mitt huvud borde fungera. Tackar i förväg.
Resultatet jag får ut när jag kör koden är.
Array 1: 1 2 3
Array 2: 4 5 6
Array 3: 7 8 9
Combined array:
Combined array: 1 2 3 4 5 6
Combined array: 1 2 3 4 5 6
Combined array: 1 2 3 0 0 0 7 8 9 (Problemet är här det borde bli 1 2 3 4 5 6 7 8 9).
public class TripleArray {
public static int[] combineArray(int[] arrayA, int[] arrayB) {
int aLen = arrayA.length;
int bLen = arrayB.length;
int[] returnArray = new int[aLen+bLen];
System.arraycopy(arrayA, 0, returnArray, 0, bLen);
System.arraycopy(arrayB, 0, returnArray, aLen, bLen);
return returnArray;
}
public static void printArrayB(int[] arrAB) {
System.out.print("Combined array: ");
for(int i = 0; i < arrAB.length; i++) {
System.out.print(arrAB[i]+" ");
}
System.out.println(" ");
}
public static void printArrayA(int[] a, int[] b, int[] c) {
System.out.print("Array 1: ");
for(int i = 0; i < a.length; i++) {
System.out.print(a[i]+" ");
}
System.out.println(" ");
System.out.print("Array 2: ");
for(int i = 0; i < b.length; i++) {
System.out.print(b[i]+" ");
}
System.out.println(" ");
System.out.print("Array 3: ");
for(int i = 0; i < c.length; i++) {
System.out.print(c[i]+" ");
}
System.out.println(" ");
}
public static void main(String[] args) {
// TODO Auto-generated method stub
int currentSize = 0;
int[] arr1 = {1,2,3};
int[] arr2 = {4,5,6};
int[] arr3 = {7,8,9};
printArrayA(arr1,arr2,arr3);
int[] arrAB = new int[currentSize];
printArrayB(arrAB);
arrAB = combineArray(arr1, arr2);
printArrayB(arrAB);
int[] arrABC = arrAB;
printArrayB(arrABC);
arrAB = combineArray(arrABC, arr3);
printArrayB(arrAB);
}
}
Så jag kommer ihåg. [code][/code]