ハンズオン型のプログラミング学習をしているのですが、答えのソースコードの理論がわからないです。なぜこう組めるのか教えていただけますか?
課題:奇数、偶数をそれぞれピックアップしてそれぞれの和を出してください
自分のソースコードの解釈は太字にしました。
class Main {
public static void main(String[] args) {
// 変数numbersに、与えられた数字の配列を代入してください
int[] numbers = {1, 4, 6, 9, 13, 16};
int oddSum = 0; int evenSum = 0; // for文を用いて、配列numbersの偶数の和と奇数の和を求めてください for (int number : numbers) { ** */ ←配列から変数をピックアップ** if (number % 2 == 0) { **// ←もし2で割り切れるなら** evenSum += number; ** // ←evenSumに変数を足す** } else { **// ←そうでなければ** oddSum += number; ** // ←oddSumに変数を足す**
//このソースコードだとevenSum、oddSumで分岐をしたとしても関数をすべて足してしまうと思うのですがどこでnumberが偶数、奇数と変化しているのでしょうか?
}
}
// ---- 拡張for文を用いない場合 ---- // for (int i = 0; i < numbers.length; i++) { // if (numbers[i] % 2 == 0) { // evenSum += numbers[i]; // } else { // oddSum += numbers[i]; // } // } System.out.println("奇数の和は" + oddSum + "です"); System.out.println("偶数の和は" + evenSum + "です");
}
}
回答2件
あなたの回答
tips
プレビュー