我正在使用Java中的循環法算法,並且出現無法正常工作的循環。我相信這是一個簡單的邏輯錯誤,我錯過了。 exec []數組保存cpu中進程的執行時間。我需要從該時間減去quantam,或者如果小於quantam,則需要剩餘的時間量。然後我需要它來檢查下一個過程。每個進程都應該有一次傳遞,直到執行時間爲0.總和確保語句保持運行狀態,同時有任何一個進程需要運行。總和簡單來說就是添加所有的數組元素時間。Java中的循環法
while (sum != 0) {
int show = i + 1;
if (exec[i] != 0 && exec[i] > quant) {
exec[i] = exec[i] - quant;
sum = sum - quant;
JOptionPane.showMessageDialog(null, "Process" + " " + show + " is at" + " " + exec[i]);
JOptionPane.showMessageDialog(null, "sum" + " " + " is " + sum);
if (i == irq - 1) {
i = 0;
} else {
i++;
}
}
if (exec[i] != 0 && exec[i] < quant) {
exec[i] = exec[i] - exec[i];
sum = sum - exec[i];
JOptionPane.showMessageDialog(null, "Process" + " " + show + " is at" + " " + exec[i]);
JOptionPane.showMessageDialog(null, "sum" + " " + " is " + sum);
if (i == irq - 1) {
i = 0;
} else {
i++;
}
}
}
請讓我知道是否有修復或是否需要更多信息。謝謝!