gpt4 book ai didi

java - Arrays-odds 和 Evens 确定数组中有多少个值是奇数和多少个偶数

转载 作者:太空宇宙 更新时间:2023-11-04 14:20:01 24 4
gpt4 key购买 nike

我正在尝试查找数组的偶数和奇数以进行练习。

示例数据:

2 4 6 8 10 12 14
1 2 3 4 5 6 7 8 9
2 10 20 21 23 24 40 55 60 61

示例输出:

Odds - []
Evens - [2, 4, 6, 8, 10, 12, 14]

Odds - [1, 3, 5, 7, 9]
Evens - [2, 4, 6, 8]

Odds - [21, 23, 55, 61]
Evens - [2, 10, 20, 24, 40, 60]

这是迄今为止我的代码:

import java.util.Scanner;

public class OddsAndEvens
{
private static int countEm(int[] array, boolean odd)
{
int count = 0;
int dum = 0;
for(int i=0; i< array.length; i++)
{
dum = array[i] / 2;
if(dum == 0 )
{
count++;
}
}
return count;
}

public static int[] getAllEvens(int[] array)
{
int numberEvens=0;
for(int i =0; i<array.length; i++)
{
if(array[i]%2 ==0)
{
numberEvens++;
}
}

int[] evens = new int[array.length - countEm(array,false)];
int count=0;
for(int i=0; i<array.length; i++)
{
if(array[i]%2==0)
{
evens[count] = array[i];
count++;
}
}
return evens;
}

public static int[] getAllOdds(int[] array)
{
int numberEvens = 0;
for (int i = 0; i < array.length; i++)
{
if (array[i] % 2 == 0)
{
numberEvens++;
}
}
return null;
}
}

但是我的输出中出现错误。这些错误是我的输出为零的事实。我刚刚开始,希望有人能帮助我。

最佳答案

您的主要问题来自您的countEm方法。这也是数组后面所有额外零的原因。通过进行最小的更改就可以解决这些问题并使您的程序正常运行。

主要的粗心错误之一是您使用/而不是%来检查countEm<中的偶数和赔率 方法。

  1. 您的 countEm 方法不完整
  2. 使用错误的运算符来计算偶数/奇数

您不完整的 countEm 方法现在仅计算偶数的数量,无论 boolean 值是 true 还是 false。我已经帮助您实现了完整的 countEm:

private static int countEm(int[] array, boolean odd)
{
int numEven = 0;
int numOdd = 0;
for(int i=0; i< array.length; i++)
if(array[i] % 2 == 0 ) //You used / instead of % earlier!
numEven++;
else
numOdd++;

if(odd)
return numOdd;
else
return numEven;
}

进行上述更改,我确信它会起作用。当然,您还没有完成获取 getAllOdds 的方法。上述更改将使您的 getAllEvens 正常工作。

<小时/>

或者,对于我自己来说,我喜欢这样写。我更喜欢较短的代码:

private static int countEm(int[] array, boolean odd)
{
int numEven = 0;
for(int i=0; i< array.length; i++)
if(array[i] % 2 == 0 )
numEven++;
return odd?array.length-numEven:numEven;
}

我阻止使用像数组列表这样的数据结构,因为当我看到这样的问题时,我知道什么是唯一允许你使用的东西。

关于java - Arrays-odds 和 Evens 确定数组中有多少个值是奇数和多少个偶数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27304602/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com