Я все еще новичок в кодировании, поэтому, пожалуйста, несите меня. моя программа всегда проверяет, что происходит в инструкции if, и не переходит в оператор else-if, даже значение false. Итак, почему это происходит? Любая помощь будет принята с благодарностью.моя программа не проверяет оператор else-if
for (int i = 0; i <= time; i++) { System.out.println("Clock loop = " + i);
for (int j = 0; j < cashierArr.length; j++) {
System.out.println("CashierArr at " + j + " is busy? "
+ cashierArr[j].busy);
System.out.println(j);
if (cashierArr[j].busy = true) {
cashierArr[j].serveTime -= 1;
System.out.println("Serve time = "
+ cashierArr[j].serveTime);
System.out.println("In busy");
} else if (cashierArr[j].busy = false) {
Customer tempCust = (Customer) queue.poll();
cashierArr[j].serveTime = tempCust.serviceTime;
System.out
.println("serveTime = " + cashierArr[j].serveTime);
cashierArr[j].busy = true;
System.out.println("In not busy");
}
}
если (cashierArr [J] .busy = истина) должен быть справедливым, если (cashierArr [J] .busy) и для (cashierArr [J] .busy = false) try (! cashierArr [j] .busy) – Maantje
вам нужно добавить '==' (double) не '=' (single) в if и if else condition. Во-вторых, если занято булевым типом, не нужно проверять равенство. –