Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 防止堆栈溢出的循环逻辑_Java_Loops_Logic - Fatal编程技术网

Java 防止堆栈溢出的循环逻辑

Java 防止堆栈溢出的循环逻辑,java,loops,logic,Java,Loops,Logic,我有一个循环,它尝试对url进行三次尝试。除了内部循环之外,还有其他调用函数的方法吗。URL列表很长,我担心堆栈可能溢出。我已经努力了,这不是家庭作业。trys计数器正确递增该区域没有问题 BufferedReader br = new BufferedReader(new FileReader(input)); while((line = br.readLine()) != null) { tries = 0;

我有一个循环,它尝试对url进行三次尝试。除了内部循环之外,还有其他调用函数的方法吗。URL列表很长,我担心堆栈可能溢出。我已经努力了,这不是家庭作业。trys计数器正确递增该区域没有问题

    BufferedReader br = new BufferedReader(new FileReader(input));
            while((line = br.readLine()) != null) {
                tries = 0;
                theURL = line;
                String escape = URLEncoder.encode(line, "UTF-8");
                url = cache + escape;
                while(tries < 3) {
                    getTimeStamp(url);
                }
            }
BufferedReader br=new BufferedReader(new FileReader(input));
而((line=br.readLine())!=null){
尝试=0;
URL=行;
字符串转义=urlcoder.encode(第行,“UTF-8”);
url=缓存+转义;
while(尝试<3次){
getTimeStamp(url);
}
}

你永远不会递增
尝试
-你的
循环是无限的


因此,它将在某个点触发一个
堆栈溢出错误。

您永远不会递增
尝试
-而
循环是无限的


因此,它将在某个点触发一个
堆栈溢出错误。

您永远不会递增
尝试
-而
循环是无限的


因此,它将在某个点触发一个
堆栈溢出错误。

您永远不会递增
尝试
-而
循环是无限的



因此,它将在某个点触发一个
堆栈溢出错误。

尝试在代码的另一部分的正确位置递增。@MallikKumar如果在其他地方递增,那么你的循环是无用的,如果
尝试<3
(并且你的示例不是独立的),循环将永远继续下去。您应该考虑在循环范围内递增。即使在循环中递增尝试……在几百个URL之后仍然存在堆栈溢出的问题。@ MallikKumar可能是您的代码中的某个东西?GETTimePopys<代码>方法?很难知道是否与此问题或其他问题有关。如果正确递增,您认为什么会使堆栈溢出?你似乎做的不多。。。除非它是您的
缓存
变量,或者是
getTimestamp
所做的任何事情。简而言之,我认为您需要发布更多的代码以使事情更清楚。在代码的另一部分中,尝试在正确的位置递增。@MallikKumar如果在其他地方递增,那么您的循环是无用的,如果
尝试<3
(并且您的示例不是自包含的),则循环将永远持续下去。您应该考虑在循环范围内递增。即使在循环中递增尝试……在几百个URL之后仍然存在堆栈溢出的问题。@ MallikKumar可能是您的代码中的某个东西?GETTimePopys<代码>方法?很难知道是否与此问题或其他问题有关。如果正确递增,您认为什么会使堆栈溢出?你似乎做的不多。。。除非它是您的
缓存
变量,或者是
getTimestamp
所做的任何事情。简而言之,我认为您需要发布更多的代码以使事情更清楚。在代码的另一部分中,尝试在正确的位置递增。@MallikKumar如果在其他地方递增,那么您的循环是无用的,如果
尝试<3
(并且您的示例不是自包含的),则循环将永远持续下去。您应该考虑在循环范围内递增。即使在循环中递增尝试……在几百个URL之后仍然存在堆栈溢出的问题。@ MallikKumar可能是您的代码中的某个东西?GETTimePopys<代码>方法?很难知道是否与此问题或其他问题有关。如果正确递增,您认为什么会使堆栈溢出?你似乎做的不多。。。除非它是您的
缓存
变量,或者是
getTimestamp
所做的任何事情。简而言之,我认为您需要发布更多的代码以使事情更清楚。在代码的另一部分中,尝试在正确的位置递增。@MallikKumar如果在其他地方递增,那么您的循环是无用的,如果
尝试<3
(并且您的示例不是自包含的),则循环将永远持续下去。您应该考虑在循环范围内递增。即使在循环中递增尝试……在几百个URL之后仍然存在堆栈溢出的问题。@ MallikKumar可能是您的代码中的某个东西?GETTimePopys<代码>方法?很难知道是否与此问题或其他问题有关。如果正确递增,您认为什么会使堆栈溢出?你似乎做的不多。。。除非它是您的
缓存
变量,或者是
getTimestamp
所做的任何事情。简言之我认为您需要发布更多的代码来让事情更清楚。循环不会导致堆栈溢出-无限嵌套函数调用会导致堆栈溢出。循环不会导致堆栈溢出-无限嵌套函数调用会导致堆栈溢出。循环不会导致堆栈溢出-无限嵌套函数调用会导致堆栈溢出。循环不会导致堆栈溢出-无限嵌套函数调用会导致堆栈溢出函数调用可以做到这一点。