You need to enable JavaScript to run this app. Java用for与if实现两个int数组逐位比较累加较大值至初始100总和的方法
优惠活动
大模型
产品
解决方案
定价
更多

Java用for与if实现两个int数组逐位比较累加较大值至初始100总和的方法

现有代码的问题
  • 完全没有用到题目要求的for循环,靠手动写4组重复的if判断完成比较,冗余度极高
  • 引入ArrayList存储临时结果,和题目要求的“直接计算最终总和”的目标不匹配,属于不必要的实现
  • 没有按要求设置初始值为100的总和变量,也没有实现“同位置相等则忽略、不等则累加较大值”的累加逻辑
  • 所有比较逻辑都是硬编码写死的,如果数组长度调整就得手动改所有判断分支,没有通用性
符合题目要求的实现方式

核心逻辑完全贴合要求,不需要额外引入集合类:

  1. 保留现有两个4长度int数组的赋值逻辑
  2. 定义总和变量,初始值直接设为100
  3. 用for循环逐索引遍历两个数组,每个索引位置做判断:
    • 同位置两值相等:直接跳过,不做任何操作
    • 同位置两值不等:取两者中的较大值,加到总和上
  4. 循环结束后直接输出最终总和即可
修正后的可运行代码
class Main {
  public static void main(String[] args) {
    // 两个长度为4的int数组
    int[] numbers = {20, 10, 7, 56};
    int[] luvut = {20, 150, 7, 37};

    // 总和初始值设置为100
    int total = 100;

    // for循环逐索引遍历比较
    for (int i = 0; i < numbers.length; i++) {
      int a = numbers[i];
      int b = luvut[i];
      // 相等直接忽略
      if (a == b) {
        continue;
      }
      // 不等取较大值累加
      total += a > b ? a : b;
    }

    System.out.println("最终总和:" + total);
  }
}

针对现有给数组赋的测试值,最终输出的总和为306,计算过程为:初始100 + 索引1的较大值150 + 索引3的较大值56,相等的两个位置(索引0、索引2)直接忽略不计,完全符合题目规则。

内容的提问来源于stack exchange,提问作者user15265939

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.11.02 03:15:05