【发布时间】:2022-01-07 21:43:56
【问题描述】:
我想编写一个程序来实现一个数字数组,如果该数组中有一个奇数,则将其添加到总和中。例如 123(有 1 和 3 作为奇数)、222(没有奇数)和 434(有 3 作为奇数)。最终总和应为 123+434。这是我想出的,但总和是 123+123+434(Sice 123 有 2 个奇数,它算了两次)
import java.util.Scanner;
public class Ex4 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int sum = 0;
System.out.print("Number of numbers: ");
int j = sc.nextInt();
System.out.println("List of numbers: ");
int arr[] = new int[j];
for(int i = 0; i < j; i++){
arr[i] = sc.nextInt();
}
for(int i = 0; i < j; i++)
{
int num = arr[i];
while (num > 0) {
System.out.println(num % 10);
if (num%2!=0)
{
sum= sum+arr[i];
System.out.println("SUM IS: "+sum);
}
num = num / 10;
}
}
}
}
【问题讨论】: