分配错误。线程“ main”中的异常java.lang.StackOverflowError

问题描述 投票:0回答:1

我正在为学校编写一个程序,在该程序中,我们应该获取数字的平均值,然后打印平均值和数组信息

打印结果应如下所示(平均2 2 2 2 2为2)

但是我似乎堆栈溢出。

这是我的代码:(对不起,代码的某些元素是挪威语的]

package gjennomsnitt;

import keytools.*;

public class AverageOfNumbers {
    static public void main(String[] args) {
        AverageOfNumbers AverageOfNumbers = new AverageOfNumbers();
        AverageOfNumbers.executeDialogue(); 
    }

    public int[] executeDialogue() {
        int tallrekke[] = new int[5];
        for (int i = 0; i<5;i++)
            tallrekke[i] = Konsoll.readInt("tast inn tallnummer "+(i+1));
        AverageOfNumbers AverageOfNumbers = new AverageOfNumbers();
        AverageOfNumbers.formatArray(tallrekke);
        return tallrekke;
    }

    public double formatArray(int[] tallrekke) {
        int sum=0;
        {
            for (int i = 0; i < 1; i++) sum += tallrekke[i];
            double avg = +sum/tallrekke.length;

            System.out.println("gjennomsnittet av " + formatArray(tallrekke) + "er"  +avg);
        }
        return (double) sum / (double) tallrekke.length ;           
    }
}   
java arrays average stack-overflow
1个回答
0
投票
正如Alberto在评论中指出的那样,您正在经历无限递归。您正在上学,因此您显然仍在学习,但是对于大多数程序,如果收到StackOverflow异常,则要开始寻找递归调用。
© www.soinside.com 2019 - 2024. All rights reserved.