Я работаю над назначением для класса, и я получаю бесконечный цикл в моем коде где-то. Я смотрел на него целый день и даже пытался получить помощь от моего профессора (он отсутствовал). Я пробовал отлаживать, но я теряюсь на полпути. Свежий набор глаз был бы очень признателен. Вот мой код, который я могу предоставить при необходимости.Не удается найти бесконечный цикл
while (numRequests != 0 || allocated.size() != 0) {
for(int k = 0; k < allocated.size(); k++) {
allocated.get(k).decreaseTime();
if (allocated.get(k).equals(0)) {
memory.deallocate(allocated.get(k).getId());
startPoint -= allocated.get(k).getSize();
allocated.remove(k);
k--;
}
}
for (int i = 0; i < pr.length; i++) {
if (pr[i] != null) {
String requestSize = pr[i].substring(0, pr[i].indexOf(","));
int rSize = Integer.parseInt(requestSize);
String requestTime = pr[i].substring(pr[i].indexOf(",") + 1);
int rTime = Integer.parseInt(requestTime);
int bSize = 0;
if (rSize <= 1024) {
bSize = 1024;
if (rSize <= 512) {
bSize = 512;
if (rSize <= 256) {
bSize = 256;
if (rSize <= 128) {
bSize = 128;
if (rSize <= 64) {
bSize = 64;
if (rSize <= 32) {
bSize = 32;
}
}
}
}
}
if (bSize <= (1024 - startPoint)) {
pr[i] = null;
numRequests--;
allocatedMemory am = new allocatedMemory(i+1, bSize, rTime);
allocated.add(am);
memory.allocate(i+1, rTime, startPoint, bSize);
startPoint += bSize;
}
}
else {
break;
}
}
}
}
Я не прошу помочь выполнить поручение. Я чувствую, что мне нужно сделать это сам. Я просто застрял здесь по какой-то причине и мог использовать толчок в правильном направлении. Большое спасибо.
Язык? Похоже, это может быть Java или C/C++. – GreenMatt
Вы уверены, что вам нужно ИЛИ в тех условиях? – Shomz
@ GreenMatt это java – user2084037