来自两个不同数组的JAVA数组连接

时间:2017-07-29 01:41:08

标签: java arrays concatenation

如何连接2个数组中的每个数字,然后单独给出新数字的输出。形成的呢?

示例:

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

3 个答案:

答案 0 :(得分:3)

以下是另一种不使用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); } 的方法。

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

输出:

updateList = function() {
  var input = document.getElementById('file');
  var output = document.getElementById('fileList');


  for (var i = 0; i < input.files.length; ++i) {
    output.innerHTML += '<input type="radio" value="' + input.files.item(i).name + '" id="place">';
  }

}



function Go() {
  var fileInput = document.getElementById('place');
  var fileDisplayArea = document.getElementById('fileDisplayArea');

  fileInput.addEventListener('change', function(e) {
    var file = fileInput.files[0];
    var textType = /text.*/;

    if (file.type.match(textType)) {
      var reader = new FileReader();

      reader.onload = function(e) {
        fileDisplayArea.innerText = reader.result;
      }

      reader.readAsText(file);
    } else {
      fileDisplayArea.innerText = "File not supported!"
    }
  });
}

答案 1 :(得分:2)

for循环内使用for循环。然后连接arr中的项目和arr2中的项目。我使用了ArrayList,但如果知道数组的结果长度,则可以使用普通数组。

    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());

结果是:

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

答案 2 :(得分:2)

如果您只想以上面给出的形式显示两个数组的内容,您可以尝试这样做而不是将其合并。

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();
        }
    }

}

}

输出: 12 13 15 22 23 25 32 33 35