Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/351.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Java中将元素从一个数组插入到另一个数组_Java_Arrays - Fatal编程技术网

在Java中将元素从一个数组插入到另一个数组

在Java中将元素从一个数组插入到另一个数组,java,arrays,Java,Arrays,我试图从一个输入数组中识别出3的倍数 并将这些倍数插入到输出数组中。使用计数变量可以声明输出数组。 但那个么我怎样才能在输出数组中插入倍数呢 public class MultipleOfThreeInAnArray { static int count; static int[] result; public static void choseMultiplesOfThree(int[] input) { for (int i = 0; i < input.length;

我试图从一个输入数组中识别出3的倍数 并将这些倍数插入到输出数组中。使用计数变量可以声明输出数组。 但那个么我怎样才能在输出数组中插入倍数呢

public class MultipleOfThreeInAnArray {

static int count;
static int[] result;


public static void choseMultiplesOfThree(int[] input) {

    for (int i = 0; i < input.length; i++) {

        if (input[i] % 3 == 0) {
            count++;

            // insert into output array?
            int[] result = new int[count];

        }
    }
public static void main(String[] args) {
       int[] input = { 3, 2, 5, 6, 9, 30 };
       choseMultiplesOfThree(input);

    }
}
公共类多线程数组{
静态整数计数;
静态int[]结果;
公共静态void ChosMultiplesofThree(int[]输入){
for(int i=0;i
您可以简单地使用
列表
插入这些元素,然后使用
方法将该
列表
转换为
数组
。toArray
方法:

public class MultipleOfThreeInAnArray {
    static Integer[] result;
    List<Integer> list = new ArrayList<Integer>();


    public static void choseMultiplesOfThree(int[] input) {
        for (int i = 0; i < input.length; i++) {
            if (input[i] % 3 == 0) {
                // insert into output array
                list.add(Integer.valueOf(input[i]));
            }
        }
    result = list.toArray(new Integer[list.size()]);
    }

    public static void main(String[] args) {
           Integer[] input = { 3, 2, 5, 6, 9, 30 };
           choseMultiplesOfThree(input);
        }
    }
2-循环遍历列表元素并将它们放入
int
数组中

    int[] result = new int[list.size()];
    int i = 0;
    for (Integer e : list) {
        result[i] = e.intValue();
        i++;
    }
    return result;

维护一个计数器,添加元素并增加计数器基本上,你有正确的代码,只需在循环外将
count
设置为零,然后初始化
result
。在插入后也将
count++;
放进去。谢谢你的帮助。它成功了!我尝试只使用arraysGreat,很高兴它有帮助。我正在尝试只使用数组。谢谢您的帮助。数组会浪费空间。在这种情况下,列表是动态的,并且会不断扩大。@UmaKanth请注意,我做了一个小的“清理”对于您的代码。两个示例都有未使用的变量,我删除了这些变量,我在列表中添加了一个通用信息,因为您不应该使用,并且我更改了打印列表的方式,因为您的版本缺少括号,并且不必将列表转换为数组来使用
Arrays.toString
public class MultipleOfThreeInAnArray {
    static Integer[] result;
    List<Integer> list = new ArrayList<Integer>();


    public static void choseMultiplesOfThree(int[] input) {
        for (int i = 0; i < input.length; i++) {
            if (input[i] % 3 == 0) {
                // insert into output array
                list.add(Integer.valueOf(input[i]));
            }
        }
    result = list.toArray(new Integer[list.size()]);
    }

    public static void main(String[] args) {
           Integer[] input = { 3, 2, 5, 6, 9, 30 };
           choseMultiplesOfThree(input);
        }
    }
int[] result = ArrayUtils.toPrimitive(list.toArray(new int[list.size()]));
    int[] result = new int[list.size()];
    int i = 0;
    for (Integer e : list) {
        result[i] = e.intValue();
        i++;
    }
    return result;