我被困住了。
以下函数应该返回currVm一个整数。但是如果我做一个return我会打破循环,下次调用这个函数时,同样的过程将再次开始。
我该怎么做,才能从上次中断的地方继续?我尝试制作static变量,但这对我没有帮助。
@Override
public int getNextAvailableVm() {
    Set<String> dataCenters = confMap.keySet();
    for (String dataCenter : dataCenters) {
        LinkedList<DepConfAttr> list = confMap.get(dataCenter);
        Collections.sort(list, new MemoryComparator());
        int size = list.size() - 1;
        int count = 0;
        while(size >= 0) {
            DepConfAttr dca = (DepConfAttr)list.get(count);
            int currVm = dca.getVmCount();
            int c = 0;
            while(c <= currVm) {
                allocatedVm(currVm);
                c++;
                return currVm;
            }
            count++;
            size--;
        }
    }
    return 0;
}  
for-each循环分配一个新的data center作为键的confMap。我作为值得到的列表被排序。然后运行一个循环直到它逃脱它的大小。在这个内部while loop,另一个while loop从名为allocatedVm继承的函数的地方运行类被调用。一个名为的参数currVm被传递给它。
这是我需要返回的变量。我该怎么做才能返回这个变量?我必须从我离开的开始。我的意思是在执行循环时,下一个调用应该是下一步,不管它是什么。