在Java中将元素从一个数组插入到另一个数组
我试图从一个输入数组中识别出3的倍数 并将这些倍数插入到输出数组中。使用计数变量可以声明输出数组。 但那个么我怎样才能在输出数组中插入倍数呢在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;
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;