java中如果返回类型是int的话用while(true)是不是就不用结束条件了?
4个回答
2014-03-09
展开全部
可以这么考虑!不是你的while(true){}如果在整个方法中你没有用到break那么你的while就是死循环,你说的返回int类型应该和你的while语句毫无关系。如果你想更好的解答,请将你的代码贴出来,谢谢
2014-03-09
展开全部
retrun 就是结束当前的函数,自然也就跳出了循环。
c语言也是这样。
用find方法之前必须注意,存进去的数组是从小到大排序号的。
find这个方法 每次会找中间的数,找不到再找当前的中间数。
if (a[curIn] == searchKey)
表示找扫结束函数返回int,
lowerBound > upperBound
表示全部找完了,都没有
c语言也是这样。
用find方法之前必须注意,存进去的数组是从小到大排序号的。
find这个方法 每次会找中间的数,找不到再找当前的中间数。
if (a[curIn] == searchKey)
表示找扫结束函数返回int,
lowerBound > upperBound
表示全部找完了,都没有
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-03-09
展开全部
请问各位高手这个程序里find里的while(true)是怎么退出循环的,while(true)可是无限循环啊,而且循环体里面没有break语句,应该是抛出EOFException才对啊,请各位大侠知道我一下 public class BinarySearchTest { private long[] a; private int nElems; public BinarySearchTest(int max) { a = new long[max]; nElems = 0; } public int size() { return nElems; } public int find(long searchKey) { int lowerBound = 0; int upperBound = nElems - 1; int curIn; while(true) { curIn = (lowerBound + upperBound) / 1; if (a[curIn] == searchKey) return curIn; else if (lowerBound > upperBound) return nElems; else { if (a[curIn] < searchKey) lowerBound = curIn + 1; else upperBound = curIn - 1; } } } }
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-03-09
展开全部
如果你这样用的话,它是一个死循环。就是一直循环下去。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询