我想制作一個實作數字陣列的程式,如果該陣列中有一個奇數,則將其添加到總和中。例如 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;
}
}
}
}
uj5u.com熱心網友回復:
如果您不想多次添加相同的數字,請在第一次添加后立即break退出while回圈。
while (num > 0) {
System.out.println(num % 10);
if (num%2!=0)
{
sum = sum arr[i];
System.out.println("SUM IS: " sum);
break; // add this line
}
num = num / 10;
}
該break陳述句立即結束它所在的回圈(不管它是一個for,while還是一個do ... while回圈)。
還有一個continue陳述句(這里不需要),它立即繼續到下一個回圈迭代,跳過continue作為回圈一部分的陳述句之后的任何代碼的執行。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/405964.html
標籤:
