2017-04-17 8 views
1

edit: Es stellt sich heraus, dass es Code in der Hauptmethode gab, die den Ergebnissen dieses Codeschnipsel widersprach. Es war nur ein Fall von mir, dass ich meinen Methoden nicht genügend Aufmerksamkeit schenkte. Tut mir leid, dass ich deine Zeit verschwende.Kopieren von Array in ein anderes Array

Ich versuche zu kopieren und bestehenden Array namens Liste in ein neues Array namens Array. Ich bin erfolgreich beim Kopieren der Liste in ein neues Array, aber wenn ich versuche, den Code zu testen, ist die letzte Zahl, die ausgedruckt wird, die Länge des Arrays minus 1. Ich habe Mühe herauszufinden, warum das passiert und hatte gehofft für etwas Hilfe.

int[] array = new int[size]; 

    for(int x = 0;x < array.length;x++){ 
     array[x] = list[x]; 
     System.out.println(array[x]); 
    } 
+0

Warum verwenden Sie nicht nur 'int [] array = Arrays.copyOf (list, list.length)'? –

+0

Bitte zeigen Sie den einfachsten Code-Satz (einschließlich der Testdaten) an, der Ihr Problem veranschaulicht. – Jason

+0

@AndyTurner Ich versuche, ein teilweise gefülltes Array zu kopieren – s24569

Antwort

0

Ich benutze die Arrays.copyOf(), um die Elemente zu kopieren:

import java.util.*; 
public class Solution { 
    public static void main(String[] args) { 
     int[] list = {1,2,3,4,5,6}; 
     int[] array = Arrays.copyOf(list, list.length); 
     for(int x = 0;x < array.length;x++){ 
      array[x] = list[x]; 
      System.out.println(array[x]); 
     } 
    } 
} 

Und die Ergebnisse sind:

1 
2 
3 
4 
5 
6 
0

Sie können versuchen,

int[] A = {1,2,3,4,5,6}; 
int[] B = A.clone(); 

oder

int[] B = Arrays.copyOfRange(A, 0, A.length); 

Auch.

0

enter image description here

I-Code für Ihren problem.Check Code mit meinem Code meines oder läuft Problem zu lösen. Ich hoffe, das ist hilfreich für Sie.

Verwandte Themen