如何连接2个数组中的每个数字,然后单独给出新数字的输出。形成的呢?
示例:
arr1[1,2,3]
arr2[2,3,5]
output: [12,13,15,22,23,25,32,33,33,35]
答案 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