如何在Java中移除数组中的奇数?


在Java中,数组是一个对象。它是一种非原始数据类型,用于存储相同数据类型的多个值。

根据题意,我们需要删除或消除数组中存在的奇数,并打印偶数数组。

注意 − 数组必须是整数数组。

如果一个数不能被2整除,则称其为奇数。

在这篇文章中,你将看到如何使用Java编程语言从数组中移除奇数。让我们开始探索。

一些示例

示例1

Suppose the original array is {2, 5, 7, 14, 31, 21, 19, 22}

执行操作后,也就是移除奇数后,更新后的数组是:[2, 14, 22]

示例2

Suppose the original array is {44, 5, 9, 15, 31, 22, 12, 48}

执行操作后,也就是移除奇数后,更新后的数组是:[44, 22, 12, 48]

示例3

Suppose the original array is {12, 5, 77, 14, 91, 21, 1, 50}

执行操作后,也就是移除奇数后,更新后的数组是:[12, 14, 50]

算法

  • 步骤1 − 声明并初始化一个整数数组。

  • 步骤2 − 声明for循环并检查偶数元素。

  • 步骤3 − 将偶数元素存储到一个新数组中。

  • 步骤4 − 打印数组的元素。

语法

要获取数组的长度(数组中元素的数量),数组有一个内置属性,即length

以下是它的语法:

array.length

其中,'array' 指的是数组引用。

多种方法

我们提供了多种解决方案。

  • 使用静态数组初始化

  • 使用用户自定义方法

让我们逐一查看程序及其输出。

方法1:使用静态数组初始化

示例

在这种方法中,数组元素将在程序中初始化。然后,根据算法从Java数组中移除奇数。这里,我们使用for循环遍历数组。

import java.util.*;
public class Main{

   //main method
   public static void main(String[] args){
   
      // variables
      int countEven = 0;
      int even[] = null;
      
      //declared and initialized an array
      int numbers[] = {12, 5 , 77, 14, 91, 21, 1, 50};
      
      // count even numbers
      for (int i : numbers){
         if (i % 2 == 0)
         ++countEven;
      }

      // create array to store even numbers
      even = new int[countEven];
    
      // check each element and insert
      int i = 0;
      for (int num : numbers) {
         if (num % 2 == 0) { 
            // even
         even[i++] = num;
         }
      }
      
      //print even array
      System.out.println("Array after removing odd numbers are: ");
      System.out.println(Arrays.toString(even));
   }
}

输出

Array after removing odd numbers are:
[12, 14, 50]

方法2:使用用户自定义方法

示例

在这种方法中,数组元素将在程序中初始化。然后,通过将数组作为参数传递给用户自定义方法,并在方法内部根据算法从Java数组中移除奇数。

import java.util.*;
public class Main{

   //main method
   public static void main(String[] args){
   
      //declared and initialized an array
      int numbers[] = { 44, 5 , 9, 15, 31, 22, 19, 48 };
      
      //calling the user defined method
      removeOdd(numbers);    
   }
   
   //user defined method to remove odd numbers 
   public static void removeOdd(int []numbers){
   
      // variables
      int countEven = 0;
      int even[] = null;
      
      // count even numbers
      for (int i : numbers){
         if (i % 2 == 0)
         ++countEven;
      }
      
      // create array to store even numbers
      even = new int[countEven];
      
      // check each element and insert
      int i = 0;
      for (int num : numbers) {
         if (num % 2 == 0) {
         
            // even
            even[i++] = num;
         }
      }
      
      //print even array
      System.out.println("Array after removing odd numbers are: ");
       System.out.println(Arrays.toString(even));
   }
}

输出

Array after removing odd numbers are:
[44, 22, 48]

在这篇文章中,我们探讨了如何使用Java编程语言从数组中移除奇数。

更新于:2023年1月5日

2K+ 次查看

启动你的职业生涯

完成课程获得认证

开始
广告
© . All rights reserved.