Java编程数组中的所有的奇偶数分别进行数值相加
时间: 2024-02-12 11:02:38 浏览: 86
好的,我理解了你的问题。以下是Java代码实现:
```java
public class Main {
public static void main(String[] args) {
int[] nums = {1, 2, 3, 4, 5, 6, 7, 8, 9};
int evenSum = 0; // 所有偶数之和
int oddSum = 0; // 所有奇数之和
for (int i = 0; i < nums.length; i++) {
if (nums[i] % 2 == 0) { // 判断是否为偶数
evenSum += nums[i]; // 如果是偶数,则加到偶数之和中
} else { // 否则就是奇数
oddSum += nums[i]; // 如果是奇数,则加到奇数之和中
}
}
System.out.println("所有偶数之和为:" + evenSum);
System.out.println("所有奇数之和为:" + oddSum);
}
}
```
这段代码定义了一个整数数组 `nums`,然后使用 for 循环遍历数组中的每个元素,判断其是否为偶数,如果是则加到 `evenSum` 变量中,否则加到 `oddSum` 变量中。最后输出两个和的结果。
相关问题
Java数组累加
### Java 数组元素累加的实现方法
#### 方法一:传统 `for` 循环
传统的 `for` 循环可以用来遍历数组中的每一个元素,并将其累加至一个变量中。这种方法是最基础也是最直观的方式之一。
```java
public class ArraySumExample {
public static void main(String[] args) {
int[] arr = {1, 2, 3, 4, 5};
int sum = 0;
// 使用 for 循环逐一累加
for (int i = 0; i < arr.length; i++) {
sum += arr[i];
}
System.out.println("数组求和结果为: " + sum);
}
}
```
运行上述代码的结果将是:
**数组求和结果为: 15**
此方法适用于任何类型的数组,只要能够访问其长度属性即可[^1]。
---
#### 方法二:增强型 `for-each` 循环
增强型循环(也称为 `for-each` 循环)是一种更简洁的方式来迭代数组中的每个元素。它不需要显式的索引来控制循环过程。
```java
public class ArraySumExample {
public static void main(String[] args) {
int[] numbers = {2, 4, 6, 8, 10};
int sum = 0;
// 使用 for-each 遍历数组并累加
for (int num : numbers) {
sum += num;
}
System.out.println("数组元素之和为:" + sum);
}
}
```
这段代码同样会输出:
**数组元素之和为:30**
相比传统 `for` 循环,这种方式更加优雅且易于阅读[^2]。
---
#### 方法三:条件过滤后的累加
如果需要对数组中的某些特定元素进行筛选后再累加,则可以在循环内部加入额外的逻辑判断。例如,只累加满足某个条件的数值:
```java
package laomao;
public class Hellqiuhe {
public static void main(String[] args) {
int[] arr = {68, 27, 95, 88, 171, 996, 51, 210};
int sum = 0;
// 条件过滤:仅累加不包含数字 '7' 的偶数
for (int x = 0; x < arr.length; x++) {
if (arr[x] % 10 != 7 && arr[x] / 10 % 10 != 7 && arr[x] % 2 == 0) {
sum += arr[x];
}
}
System.out.println("sum=" + sum);
}
}
```
在此例子中,程序只会将符合条件的元素相加,最终得到的结果取决于输入数据集的特点[^3]。
---
#### 方法四:寻找最大子数组和
当涉及到动态规划或者复杂场景下的累加操作时,可能需要用到特殊的算法来解决问题。比如下面这个案例展示了如何找到连续子数组的最大累积和。
```java
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
public class Main {
public static int findMax(int[] array) {
int cur = 0;
int max = Integer.MIN_VALUE;
for (int i = 0; i < array.length; i++) {
cur += array[i];
max = Math.max(max, cur);
if (cur < 0) {
cur = 0;
}
}
return max;
}
public static void main(String[] args) throws IOException {
BufferedReader read = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(read.readLine());
int[] array = new int[n];
String[] str = read.readLine().split(" ");
for (int i = 0; i < n; i++) {
array[i] = Integer.parseInt(str[i]);
}
System.out.println(findMax(array));
}
}
```
该函数实现了 Kadane's Algorithm,用于高效解决此类问题[^4]。
---
### 总结
以上介绍了四种不同的方式来进行 Java 中数组元素的累加运算,每种都有各自的应用场合以及优缺点。开发者可以根据实际需求选择最适合的方法完成任务。
相关问题
阅读全文
相关推荐















