Java 10引入的一項新特性是在Stream API中,可以使用一個新的API IntStream來處理奇數和的問題。IntStream.rangeClosed()方法可以創建一個包含指定范圍內所有數字的流,然后可以使用filter()方法過濾出奇數,最后使用sum()方法計算奇數的和。以下是示例代碼。
int sum = IntStream.rangeClosed(1, 10) .filter(n ->n % 2 != 0) .sum(); System.out.println("1到10之間奇數的和為:" + sum);
上面的代碼將1到10之間的所有數字存儲在一個IntStream中,然后使用filter()方法篩選出奇數。在filter()方法中,只要某個數字模2的余數不為0(即不是偶數),那么就會被保留下來。最后,調用sum()方法計算奇數的和。
對于更大的數字范圍,這種方法也同樣適用。下面是一個示例代碼,計算1到100之間所有奇數的和。
int sum = IntStream.rangeClosed(1, 100) .filter(n ->n % 2 != 0) .sum(); System.out.println("1到100之間奇數的和為:" + sum);
所得的結果為:2500。因為1到100之間共有50個奇數,它們的和為2500。