java - 我的求和代码中的无限循环

标签 java infinite-loop

我不明白为什么我的代码中有无限循环。 一旦我输入输入数组,就会发生错误,并且控制台不会停止接受输入。有人可以帮忙吗? 这是可能有问题的代码:

public static triplet<Integer,Integer,Integer> maxsum(int[] input)
{
    triplet<Integer,Integer,Integer> ans=new triplet<Integer, Integer, Integer>(0,0,0);

    int l=input.length;
    int maxSum=0;
    int i=0;

    while(i<input.length);
    {
        System.out.println("input taken");
        int j=i;
        int sum=0;
        if(input[i]>=0)
        {
            while(j>=0&&j<l)
            {
                sum=sum+input[j];
            }
            if(sum>maxSum)
            {
                ans.c=sum;
                ans.b=j;
                ans.a=i;
            }
            i=j+1;
        }
        else
            i++;
    }
    return ans;
}

最佳答案

没有什么可以阻止你的内部循环。

也许你应该改变

while(j >= 0 && j < l)
{
    sum = sum + input[j];
}

while(input[j] >= 0 && j < l)
{
    sum = sum + input[j];
    j++;
}

        if(sum>maxSum)
        {
            ans.c=sum;
            ans.b=j;
            ans.a=i;
        }

        if(sum>maxSum)
        {
            ans.c=sum;
            ans.b=j;
            ans.a=i;
            maxSum=sum;
        }

关于java - 我的求和代码中的无限循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37829248/

相关文章:

c - while循环导致程序挂起

c - while循环变量更新

java - struts 中模型驱动的 PUT 请求存在问题吗?

java - 在 Spring 启动项目中将实体到 DTO 转换放在哪里?

java - Gson解析问题,空指针异常

c - 在c中运行一段时间的无限循环

c - 为什么这个例子在C中陷入了无限循环?

无限循环中的Sql游标。这段代码有什么问题?

java - 来自资源的 Android RandomAccessFile 使用

带数据库的 Java Applet