编写一个使用 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);
}
}

首先,我们声明了用户指定大小的一维数组。接下来,我们使用 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