如何使用java 5获取两个int值添加的int []的先前值

时间:2017-06-05 07:07:55

标签: java arrays

我想得到int []数组的存储int值的总和。代码仍有错误。是否有任何代码可以使这行代码看起来简化?我想在没有数据库的情况下制作52周的资金挑战应用程序。

我有这个公式:iA + sum = total [] + aA = tA;

我遇到的错误是前一个值没有被前一个值添加。

PS。周,iA(初始金额),aA(添加金额),总和,sT是int。 tA现在被添加到总数[]。

PSS:对于每个标记此问题并且有重复问题的人,我已经看到了这个问题而且它没有回答我的问题。该帖子有自己的值由程序员/编码器创建,我要求如何将前一个元素添加到两个添加的整数值的值。我已经尝试过该问题中给出的解决方案,并且它不能用于我的代码。它给出了不同的值(不需要的值)。

int[] total = new int[weeks + 1];
        int sum = 0;
        int tA = 0;
        int ai = 0;

        for(int sT = 1 ; sT <= weeks; sT++){ // error
            sum += iA;
            System.out.println("The payable for the week " + sT + " is: " + sum);
            total[sT] = sum;
            tA = total[sT];
            if(sT == 1){
                System.out.println("if: " + tA);
            }
            else if(sT == 2){
                tA += iA;
                System.out.println("else if: " + tA);
            }
            else{
                tA += aA;
                System.out.println("else: " + tA);
            }
        }
    System.out.println(Arrays.toString(total)); //print stored values of array

2 个答案:

答案 0 :(得分:2)

如果您使用的是Java 8,则可以使用

int sum = Arrays.stream(total).sum(); 

否则是老式的方式

for( int i : total) {
    sum += i;
}

答案 1 :(得分:0)

问题已经有了答案。

for(int sT = 1 ; sT <= weeks; sT++){
            sum += iA;
            System.out.println("The payable for the week " + sT + " is: " + sum);
            tA = sum;
            if(sT == 1){
                System.out.println("if: " + tA);
                total[sT] = tA;
            }
            else if(sT == 2){
                tA = iA + sum;
                System.out.println("else if: " + tA);
                total[sT] = tA;
            }
            else{
                tA = sum + total[sT - 1];
                System.out.println("else: " + tA);
                total[sT] = tA;
            }
        }
    System.out.println(Arrays.toString(total)); //print stored values of array