当前位置: 首页 > 知识库问答 >
问题:

数组java中奇偶和零的计数

仲智
2023-03-14

如何添加代码以查找此程序数组中的零?此代码可以计算偶数和奇数。我应该做一个不同的语句,还是可以添加另一个如果其他语句?

import java.util.Scanner;

public class num
{
   public static void main(String args[]) {
       
       final int NUM_COUNT = 20;
       Scanner in = new Scanner(System.in);
       int i = 0;
       
       int arr[] = new int[NUM_COUNT];
       int even[] = new int[NUM_COUNT];
       int odd[] = new int[NUM_COUNT];
       
       System.out.println("Enter 20 numbers:");
       for (i = 0; i < NUM_COUNT; i++) {
           arr[i] = in.nextInt();
       }
       
       int eIdx = 0, oIdx = 0;
       for (i = 0; i < NUM_COUNT; i++) {
           if (arr[i] % 2 == 0)
               even[eIdx++] = arr[i];
           else
               odd[oIdx++] = arr[i];
       }
       
       System.out.println("Even Numbers:");
       for (i = 0; i < eIdx; i++) {
           System.out.print(even[i] + " ");
       }
       
       System.out.println("\nOdd Numbers:");
       for (i = 0; i < oIdx; i++) {
           System.out.print(odd[i] + " ");
       }
   }
}

共有3个答案

商棋
2023-03-14

为零声明数组

int zero[] = new int[NUM_COUNT];
int zIdx=0;

并修改您的if/else,例如:

if (arr[i] == 0)
  zero[zIdx++] = arr[i];
else if (arr[i] % 2 == 0)
      even[eIdx++] = arr[i];
 else
    odd[oIdx++] = arr[i];
东方骏
2023-03-14

除了@candid\u orange answer的迭代解决方案之外,我还想提供一个流实现。只需流化元素,过滤等于零的元素,最后计算流中的元素数。

long numZeros = Arrays.stream(arr).filter(i -> i == 0).count();
System.out.println("Num of zeros: " + numZeros);
通学真
2023-03-14

无需创建额外的数组。计数只需一个整数即可完成。

int zeroCount = 0;
for (i = 0; i < NUM_COUNT; i++) {
    if (arr[i] == 0) {
        zeroCount++;
    }
}
System.out.println("Zeros: " zeroCount);

我已经更改了输出样式,以清楚地标记此处输出的内容。代码其余部分需要考虑的内容。

 类似资料:
  • 问题内容: 我在此站点上看到了此代码。它使用一种方法来对数组进行排序,其中偶数排在数组的前面,而奇数排在数组的后面。我想知道您是否可以做同样的事情,除了先显示奇数,然后再显示偶数?我试过了,但无济于事。我是Java编程的新手,我想测试递归。 } 输出是这样的: 问题答案: 好吧,如果你想单号是第一位的,取代任何与任何带:

  • 嗨,这是我正在做的课程上的一个问题。。。 > 程序打印“键入数字”,直到用户键入数字-1。当用户键入数字1时,程序打印“谢谢,稍后再见!”!“并结束 程序应该打印用户输入的数字的总和(不带数字-1) 程序应该打印用户键入的数字(没有数字-1) 程序应该打印用户键入的数字的平均值(没有数字-1)。 5.程序应该打印用户键入的偶数和奇数的数量(没有数字-1)。 我已经完成了1-4,但完全停留在5。我确

  • 我有一个布尔方法的麻烦,我想检查数组是偶数,奇数,还是两者都不是。我输入数组大小和数组值,但是“isArrayEven”方法仍然输出“array中的所有数字都是偶数”,即使我的数组是1、2、3并且isArrayEven假定是false。 我

  • 问题内容: 给定一个整数数组,您需要将数组中的奇数和偶数分开。 请注意:元素的顺序可以更改。 例如: 问题答案: 让我们说数组是 初始化两个索引变量, 和 增加左变量直到你得到奇数 递减右边的变量,直到你得到偶数。 如果 ,交换 和 最后,您会看到左侧有偶数,右侧有奇数。 用于分隔数组中奇数和偶数的 Java 代码: 当你运行上面的程序时,你会得到以下输出:

  • 本文向大家介绍在C ++中计算整数中的偶数和奇数位,包括了在C ++中计算整数中的偶数和奇数位的使用技巧和注意事项,需要的朋友参考一下 给我们一个整数,任务是计算一个数字中的偶数和奇数。另外,我们将继续检查整数中的偶数是否出现偶数次,并且整数中的奇数位是否出现奇数次。 例如 说明-是的,此外,偶数出现偶数次,即2,奇数位出现奇数次,即3 说明-:否,因为偶数出现的次数是奇数,即3,而奇数出现的次数

  • 我们有一个偶数放置排序和奇数放置排序的数组,这意味着偶数索引的子数组被排序,奇数索引的子数组被排序。例如-{1,4,2,7,4,18,5,19,20}两个排序的子数组是{1,2,4,5,20}和{4,7,18,19}-一组有偶数索引,另一组有奇数索引。有没有一种方法可以用O(1)空间复杂度和O(n)时间对整个数组进行排序?