Java 将数组的特定元素从一个数组移动到另一个大小不同的数组

Java 将数组的特定元素从一个数组移动到另一个大小不同的数组,java,arrays,Java,Arrays,我被要求 创建一个带有单个参数的方法,一个整数数组,它将返回一个整数数组。计算数组中存在多少奇数值。创建一个包含那么多元素的新数组。将所有奇数值放入这个新数组(即作为参数传递的数组中的所有奇数值)。返回此新数组 但是我在将奇数值转换到新数组中时遇到了一些困难。我可以根据第一个数组中奇数的数量得到正确的大小,但现在它们显示为零。代码如下: import java.util.Scanner; 公共班机{ 公共静态int输出(int[]bean){ 整数和=0; for(int p=0;p

我被要求

创建一个带有单个参数的方法,一个整数数组,它将返回一个整数数组。计算数组中存在多少奇数值。创建一个包含那么多元素的新数组。将所有奇数值放入这个新数组(即作为参数传递的数组中的所有奇数值)。返回此新数组

但是我在将奇数值转换到新数组中时遇到了一些困难。我可以根据第一个数组中奇数的数量得到正确的大小,但现在它们显示为零。代码如下:

import java.util.Scanner;
公共班机{
公共静态int输出(int[]bean){
整数和=0;
for(int p=0;p
您的输出函数应该返回一个数组,因此返回类型将不是
int
。它将是
int[]
。请参阅下面的代码并让我知道

公共类主{
公共静态void main(字符串[]args){
扫描仪键=新扫描仪(System.in);
int[]数组=新的int[5];
for(int t=0;t对于(int i=0;i,根据您的问题,方法
输出需要

返回此新数组

因此,方法
output
需要返回
int[]
(而
int

在计算传递给方法
输出的数组中的奇数值并创建该方法需要返回的数组后,为了填充返回的数组,您需要维护第二个[array]索引。您正在使用相同的索引填充返回的数组并迭代数组参数。返回的数组可能比数组参数小,即包含的元素更少,因此对两个数组使用相同的索引可能会导致抛出方法
输出
。在任何方法中,您还应始终检查方法是否d参数是有效的

导入java.util.array;
导入java.util.Scanner;
公共班机{
公共静态int[]输出(int[]bean){
整数和=0;
if(beans!=null&&beans.length>0){
for(int p=0;p
您的问题给我的印象是,这是一个家庭作业,因此您可能在如何解决这一问题上有局限性。使用流API可以很容易地解决。允许使用流API吗?我没有意识到我忽略了返回类型,谢谢您的帮助