Java 程序:计算数组中的奇数个数

编写一个使用 For 循环、While 循环和函数的 Java 程序,通过实际示例计算数组中的奇数个数。

Java 程序:使用 For 循环计算数组中的奇数个数

此程序允许用户输入数组的大小和元素。接下来,此 Java 程序使用 For 循环返回此数组中奇数的总数。

import java.util.Scanner;
public class CountOdd1 {
private static Scanner sc;
public static void main(String[] args)
{
int Size, i, oddCount = 0;
sc = new Scanner(System.in);

System.out.print(" Please Enter Number of elements in an array : ");
Size = sc.nextInt();

int [] a = new int[Size];

System.out.print(" Please Enter " + Size + " elements of an Array : ");
for (i = 0; i < Size; i++)
{
a[i] = sc.nextInt();
}
System.out.print("\n List of Odd Numbers in this Array are :");
for(i = 0; i < Size; i++)
{
if(a[i] % 2 != 0)
{
System.out.print(a[i] + " ");
oddCount++;
}
}
System.out.println("\n Total Number of Odd Numbers in this Array = " + oddCount);

}
}
Java Program to Count Odd Numbers in an Array 1

首先,我们声明了用户指定大小的一维数组。接下来,我们使用 For 循环 将用户输入的值存储为 数组 元素,例如 a[0]、a[1]、a[2]、a[3]、a[4]。

for (i = 0; i < Size; i++)
{
	a[i] = sc.nextInt();
}

在下一行,我们使用另一个 for 循环来迭代每个元素。在循环内,我们使用 Java If 语句 来检查数字是否不能被 2 整除(即余数不为 0)。

for(i = 0; i < Size; i++)
{
	if(a[i] % 2 != 0)
	{
		System.out.print(a[i] +" ");
		evenCount++;
	}
}

在此“计算数组中的奇数个数”示例中,用户输入的数组为 a[5] = {25, 98, 56, 89, 17}}。

第一次迭代: for (i = 0; 0 < 5; 0++)

i 的值为 0,条件 (i < 5) 为 True。因此,它会进入循环内的 If 语句。

if(a[i] % 2 != 0) => if(a[0] % 2 != 0)
if(25 % 2 != 0) – 条件为 True。因此,Java 编译器会打印该数字,并将 oddCount 的值加 1。
oddCount 变为 1

第二次迭代: for (i = 1; 1 < 5; 1++)
条件 (i < 5) 为 True。

if(a[1] % 2 != 0)
if(98 % 2 != 0) – 条件为 False

对剩余的迭代执行相同的操作,直到条件 (i < 5) 不满足为止。

Java 程序:使用 While 循环计算数组中的奇数个数

程序 与上面的奇数数组示例相同。但这次我们使用 While 循环 来计算数组中的奇数。

import java.util.Scanner;
public class CountOdd2 {
private static Scanner sc;
public static void main(String[] args)
{
int Size, i = 0, j = 0, oddCount = 0;
sc = new Scanner(System.in);

System.out.print(" Please Enter Number of elements in an array : ");
Size = sc.nextInt();

int [] a = new int[Size];

System.out.print(" Please Enter " + Size + " elements of an Array : ");
while (i < Size)
{
a[i] = sc.nextInt();
i++;
}
System.out.print("\n List of Odd Numbers in this Array are :");
while(j < Size)
{
if(a[j] % 2 != 0)
{
System.out.print(a[j] + " ");
oddCount++;
}
j++;
}
System.out.println("\n Total Number of Odd Numbers in this Array = " + oddCount);

}
}

使用 While 循环计算奇数数组项的输出

 Please Enter Number of elements in an array : 10
 Please Enter 10 elements of an Array  : 25 14 89 63 19 10 12 105 112 115

 List of Odd Numbers in this Array are :25 89 63 19 105 115 
 Total Number of Odd Numbers in this Array = 6

Java 程序:使用方法计算数组中的奇数个数

此程序与第一个示例相同,但我们将计算奇数个数的逻辑分离到方法中。

import java.util.Scanner;

public class CountOdd3 {
private static Scanner sc;
public static void main(String[] args)
{
int Size, i, oddCount = 0;
sc = new Scanner(System.in);

System.out.print(" Please Enter Number of elements in an array : ");
Size = sc.nextInt();

int [] a = new int[Size];

System.out.print(" Please Enter " + Size + " elements of an Array : ");
for (i = 0; i < Size; i++)
{
a[i] = sc.nextInt();
}

oddCount = CountOdd(a, Size);
System.out.println("\n Total Number of Odd Numbers in this Array = " + oddCount);

}
public static int CountOdd(int [] a, int Size)
{
int i, oddCount = 0;
System.out.print("\n List of Odd Numbers in this Array are :");
for(i = 0; i < Size; i++)
{
if(a[i] % 2 != 0)
{
System.out.print(a[i] + " ");
oddCount++;
}
}
return oddCount;
}
}

使用 While 循环计算奇数数组项的输出。

Please Enter Number of elements in an array : 8
 Please Enter 8 elements of an Array  : 12 15 13 26 19 77 100 47

 List of Odd  Numbers in this Array are :15 13 19 77 47  
 Total Number of Odd Numbers in this Array = 5