首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用Java求出子数组的和

用Java求出子数组的和
EN

Stack Overflow用户
提问于 2021-03-15 19:35:51
回答 1查看 67关注 0票数 0

我的问题出在函数Sum(int )中,它应该返回索引z处的子数组中所有项的总和,如果索引无效,则返回0。我当前的代码是

代码语言:javascript
复制
public int[][] data;
public calculate(int[][] source) {
        data = source;
    }
    public int size() {
    
    return data.length;
}

 public boolean isValidSubsetIndex(int z) {
        
          if (z<0 || z>= size())
          return false;
                
        return true;
    }
public int sum(int z) {
        int x=0;
        if (isValidSubsetIndex(z)  == true) {
        for (int i = 0; i < data[z].length;i++) {
            for(int j= i; j<i+1; j++)
                    x = x + data[i][j];
                    
            }
        return x;
        }
        return 0;
        
    }
aP = new Analytics(new int[][]{{30, 10, 40},
        {50, 20, 80},
        {10, 60, 30},
        {60, 60, 60}});
       

    aHD = new Analytics(new int[][]{{-30, 10, -40},
        {},
        {-10, 60},
        {-60},
        {-20, -20, -20, -20, -20},
        {-20, -20},
        {-20},
        {},
        {50},
        {10, 30, 20}});

下面给出了它失败的测试。我当前的代码只提供第一个正确的结果(sum 80表示sum(0))。如果sum(1)结果应该是150,如果sum (2)结果应该是100

代码语言:javascript
复制
public void testSumHD() {
        testSumD();
        int[] sumHD = {-60, 0, 50, -60, -100, -40, -20, 0, 50, 60};
        
        for(int i=0; i < sumHD.length; i++) {
            assertEquals(sumHD[i], aHD.sum(i));
        }
        assertEquals(0, aHD.sum(-1));
        assertEquals(0, aHD.sum(10)); 
    }
EN

回答 1

Stack Overflow用户

发布于 2021-03-15 20:31:27

解为x=x+ dataz;

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66637224

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档