2016-10-16 5 views
0

Ich verwende diesen Code, um eine bestimmte Anzahl von Arrays zu erstellen und sie mit bestimmten Zahlen füllen:Union mehrerer Arrays

public void CreateVars() { 
    System.out.println("Enter the numbers of variables: "); 
    int i = s.nextInt(); 
    int[][] var = new int[i][]; 
    for (int j = 0; j < i; j++) { 
     System.out.println("Enter the number of values: "); 
     int p = s.nextInt(); 
     System.out.println("Enter the numbers: "); 
     var[j] = new int[p]; 
     for (int q = 0; q < p; q++) { 
      int n = s.nextInt(); 
      var[j][q] = n; 
     } 
    } 
} 

Wie kann ich die erstellten Arrays verwenden und eine Vereinigung tun, für ex. Eine Union B Union C, da es immer eine andere Anzahl von Arrays gibt.

Vielen Dank im Voraus

+0

, was es Ihr Ergebnis gewünscht? ein einzelnes eindimensionales Array mit allen Zahlen? –

+0

@TimothyTruckle Ja. Wenn ich alle Arrays zusammenfasse, möchte ich ein einzelnes Array, das die Vereinigung anzeigt. – Michael

+0

Ein Array kann _hold values_ beibehalten, es kann keine Werte anzeigen _. –

Antwort

0
  1. Ihre Methode ändern Sie die erstellte Array zurückzukehren.
  2. Erstellen Sie eine zweite Methode, die das zweidimensionale Array als Parameter verwendet und ein 1-dimensionales Array zurückgibt. Dieser wird zur Union zeige ich später
  3. Verwendung Arrays.toString() den Arrays Inhalts über System.out.println()

in dem neuen Verfahren zur Anzeige eine Variable für den 1-dimensionl Zielarray erstellen. dann die Schleife über die erste Dimension des Parameters:

for(int[] subArray : parameterArray) 

in dieser Schleife eine neue temporären 1-dimensionalen Array-Variablen mit der Größe der aktuellen Größe der Zielvariablen plus der Größe der aktuellen subArray erstellen.

Iterieren Sie über das SubArray und kopieren Sie den aktuellen Wert an der entsprechenden Position im Temp-Array.

wenn die innere Schleife speichert die TempArray als Target fertig

targetArray = tempArray; 
Verwandte Themen