2017-07-29 3 views
1

So verketten Sie jede einzelne Zahl aus 2 Arrays und geben Sie dann die Ausgabe individuell von der neuen Nr. gebildet?JAVA-Array-Verkettung von zwei verschiedenen Arrays

Beispiel:

arr1[1,2,3] 
arr2[2,3,5] 
output: [12,13,15,22,23,25,32,33,33,35] 
+1

Verwenden zwei Schleifen. Eine verschachtelte sich in der anderen. Jede Schleife wird über eines der Arrays geschleift. In der inneren Schleife schieben Sie die Verkettung des Elements von jedem Array auf ein neues Array. – Jerinaw

Antwort

2

Verwenden einer for Schleife innerhalb eines for Schleife. Dann verketten Sie den Artikel von arr und den Artikel von arr2. Ich habe eine ArrayList verwendet, aber Sie könnten ein normales Array verwenden, wenn Sie die resultierende Länge des Arrays kennen.

String[] arr = new String[]{"1", "2", "3"}; 
    String[] arr2 = new String[]{"2", "3", "5"}; 
    List<String> res = new ArrayList<>(); 

    for (int i = 0; i < arr.length; i++){ 
     for (int j = 0; j < arr2.length; j++) { 
      res.add(arr[i] + arr2[j]); 
     } 
    } 

    System.out.println(res.toString()); 

Das Ergebnis ist:

[12, 13, 15, 22, 23, 25, 32, 33, 35] 
+0

okay, es auf meinem Programm zu versuchen danke – newbee

2

Wenn Sie nur in der Form den Inhalt der zwei Array anzeigen möchten Sie über Sie gegeben haben, können immer versuchen, diese concatinating es anstatt das zu tun.

public class ArrayQuestion { 
public static void main(String[] args) { 
    int arr1[] = {1,2,3}; 
    int arr2[] = {2,3,5}; 
    for(int i=0;i<arr1.length;i++) { 
     for(int j=0;j<arr2.length;j++) { 
      System.out.print(arr1[i]); 
      System.out.print(arr2[j]); 
      System.out.println(); 
     } 
    } 

} 

}

Ausgang: 12 13 15 22 23 25 32 33 35

+0

nein eigentlich muss ich überprüfen, indem ich diese 2 nos. Ob die neue Zahl gerade ist oder nicht, also muss ich mich damit befassen. Sie. – newbee

3

Hier ist eine andere Art und Weise tun, die nicht String mit sich bringt.

public static void main(String[] args) 
{ 
    int[] arr1 = { 1, 2, 3 }; 
    int[] arr2 = { 2, 3, 5 }; 
    int[] arr = concat(arr1, arr2);  
    System.out.println(Arrays.toString(arr)); 
} 

static int[] concat(int[] arr1, int[] arr2) 
{ 
    int i = 0; 
    int[] arr = new int[arr1.length * arr2.length]; 
    for (int n2 : arr2) 
    { 
     int pow10 = (int) Math.pow(10, nDigits(n2)); 
     for (int n1 : arr1) 
     { 
      arr[i++] = n1 * pow10 + n2; 
     } 
    } 
    return arr; 
} 

static int nDigits(int n) 
{ 
    return (n == 0) ? 1 : 1 + (int) Math.log10(n); 
} 

Output:

[12, 22, 32, 13, 23, 33, 15, 25, 35] 
Verwandte Themen