在 Java 中查找数组中小于给定数字的元素个数


数组是一种线性数据结构,其中元素存储在连续的内存位置。

根据问题陈述,查找小于给定数字的元素个数意味着我们需要比较并仅计算数组中较小的元素。

让我们探索本文,看看如何使用 Java 编程语言来实现它。

为您展示一些实例

实例 1

假设我们有以下数组

[10, 2, 3, -5, 99, 12, 0, -1]
and the number is 9
Now the number of elements that are smaller than 9 are
[2, 3, -5,0, -1] = 5 elements

实例 2

假设我们有以下数组

[55, 10, 29, 74, 12, 45, 6, 5, 269]
and the number is 50
Now the number of elements that are smaller than 50 are
[10, 29, 12, 45, 6, 5] = 6

实例 3

假设我们有以下数组

[556, 10, 259, 874, 123, 453, -96, -54, -2369]
and the number is 0
Now the number of elements that are smaller than 0 are
[-96, -54, -2369] = 3

算法

算法 1

  • 步骤 1 - 存储数组元素

  • 步骤 2 - 使用 for 循环遍历所有数组元素。

  • 步骤 3 - 将所有元素与数字进行比较

  • 步骤 4 - 使用计数器计算所有小于该数字的元素,并打印计数。

算法 2

  • 步骤 1 - 存储数组元素

  • 步骤 2 - 对数组进行排序。

  • 步骤 3 - 比较并查找大于给定数字的元素的索引

  • 步骤 4 - 为了找到小于给定数字的元素个数,我们打印获得的索引。

语法

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

下面是它的语法:

array.length

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

您可以使用 Arrays.sort() 方法将数组按升序排序。

Arrays.sort(array_name);

多种方法

我们提供了不同方法的解决方案。

  • 不使用排序

  • 使用排序

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

方法 1:不使用排序

在这种方法中,我们使用 for 循环将所有元素与数字进行比较,并且只计算较小的元素。

示例

public class Main {
   public static void main(String[] args) {

      // The array elements
      int arr[] = { 556, 10, 259, 874, 123, 453, -96, -54, -2369}, num = 0;
      System.out.println("The array elements are-");

      // Print the array elements
      for (int i : arr) {
         System.out.print(i + ", ");
      }

      // The counter two count all elements smaller than the number
      int count = 0;

      // Count all elements smaller than num
      for (int i = 0; i < arr.length; i++) {
         if (arr[i] < num) {
            count++;
         }
      }
      System.out.println("\nThe number of array elements that are smaller than " + num + " are " + count);
   }
}

输出

The array elements are-
556, 10, 259, 874, 123, 453, -96, -54, -2369, 
The number of array elements that are smaller than 0 are 3

方法 2:使用排序

在这种方法中,我们使用 Arrays.sort() 方法对数组进行排序,然后查找第一次出现大于该数字的元素的索引。该索引是小于该数字的元素的个数。

示例

import java.util.Arrays;
public class Main{
   public static void main(String[] args) {
   
      // The array elements
      int arr[] = { 556, 10, 259, 874, 123, 453, -96, -54, -2369}, num = 20;
      System.out.println("The array elements are-");
      
      // Print the array elements
      for (int i : arr) {
         System.out.print(i + ", ");
      }
      
      // Sort the array
      Arrays.sort(arr);
      
      // Find the index of the first element in the array greater than the given number 
      int index = 0;
      for (int i = 0; i < arr.length; i++) {
         if (arr[i] > num) {
            index = i;
            break;
         }
      }
      
      // To find the number of elements smaller than
      // the number we print the index we onbtained
      System.out.println("\nThe number of array elements that are lesser than " + num + " are " + (index));
   }
}

输出

The array elements are-
556, 10, 259, 874, 123, 453, -96, -54, -2369, 
The number of array elements that are lesser than 20 are 4

在本文中,我们探讨了如何使用 Java 编程语言在数组中查找小于给定数字的元素个数。

更新于: 2023 年 1 月 31 日

1K+ 浏览量

开启您的 职业生涯

通过完成课程获得认证

立即开始
广告