我还不熟悉编码所以请耐心等待。我的程序总是检查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");
}
}
答案 0 :(得分:5)
请,请关注,
SyntaxError
您只使用了实际分配的单一作业 value为true意味着它始终保持 true
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
fig = plt.figure()
ax = Axes3D(fig)
# Unpack file data.
dat_file = np.loadtxt("filename.dat", unpack=True)
# Plot data.
ax.scatter(*dat_file, linewidth=2.0)
plt.show()
答案 1 :(得分:1)
1) if(cashierArr[j].busy = true)
2) else if (cashierArr[j].busy = false)
在上面的语句中,您使用(=)
赋值运算符not (==)
比较运算符。
= Operator
用于分配值而非比较,因此它实际上分配了
true
的值意味着它始终为结果true
,因此您的else statement
永远不会被执行。
在两个陈述中改变==
1) if(cashierArr[j].busy == true)
2) else if (cashierArr[j].busy == false)
答案 2 :(得分:0)
这是一个基本的语法问题更改
它为cashierArr [j] .busy
分配值true和false if (cashierArr[j].busy = true)
至if (cashierArr[j].busy == true)
和
else if (cashierArr[j].busy = false)
至else if (cashierArr[j].busy == false
)
假设您的代码可能在忙字段中使用布尔值,并且您不希望在null的情况下执行任何操作。
答案 3 :(得分:0)
当你这样做时:
if (cashierArr[j].busy = true) {
您将变量指定为true而不检查其中的值...
因为你正在检查布尔值,所以写得足够了:
if (cashierArr[j].busy) {