我的代码中有一个do ... while循环,我很喜欢它。 问题是条件是两个arraylist之间的比较,所以它第一次运行,然后条件返回false,但之后我将数字添加到其中一个arraylist(当然程序运行时)这使得两个arraylist等于,现在我想继续循环,但我不知道如何做到这一点。
任何建议将不胜感激:)
do{...} while(ArrayList1.equals(ArrayList2));
答案 0 :(得分:0)
您是否考虑将此循环嵌套到另一个循环中?这样你就可以再次通过它并在某些条件下退出外循环。
答案 1 :(得分:0)
你做不到。一旦循环结束,将评估以下语句,并且即使条件为真,也不会重新访问循环。您可能希望在循环中添加元素
答案 2 :(得分:0)
如果达到这个条件,你最终会得到一个无限循环。无法理解为什么要实现这种逻辑。
为了实现这一点,你可以将do..while循环提取到一个单独的私有方法中,并将两个ArrayList作为参数传递给它。 (取决于您在循环中需要的其他详细信息。)使用向两个调用之间的列表之一添加元素的逻辑调用此方法两次。像
这样的东西private void executeDoWhile(List arrayList1, List arrayList2)
{
do{ .... } while (arrayList1.equals(arrayList2);
}
main()
{
....
//call 1
executeDoWhile(arrayList1, arrayList2);
//logic to add the elements
//call 2
executeDoWhile(arrayList1, arrayList2);
}