Skip to content

Commit 920ce38

Browse files
committed
Fix
1 parent 0ee93cc commit 920ce38

File tree

1 file changed

+7
-0
lines changed

1 file changed

+7
-0
lines changed

src/main/java/com/thealgorithms/scheduling/LotteryScheduling.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,13 @@ public List<Process> scheduleProcesses() {
5353
int winningTicket = random.nextInt(totalTickets) + 1;
5454
Process selectedProcess = selectProcessByTicket(winningTicket);
5555

56+
if (selectedProcess == null) {
57+
// This should not happen in normal circumstances, but we'll handle it just in case
58+
System.err.println("Error: No process selected. Recalculating total tickets.");
59+
totalTickets = processes.stream().mapToInt(Process::getTickets).sum();
60+
continue;
61+
}
62+
5663
selectedProcess.setWaitingTime(currentTime);
5764
currentTime += selectedProcess.getBurstTime();
5865
selectedProcess.setTurnAroundTime(selectedProcess.getWaitingTime() + selectedProcess.getBurstTime());

0 commit comments

Comments
 (0)