方法:“运行”
我的代码:
public void run() {
while (true) {
}
if MerkleManager.sMerkleRoot = null;
{
} else {
}
System.exit(0);
}
如何设置MerkleManager.sMerkleRoot
不为null并使用if-then-else语句?
答案 0 :(得分:0)
在检查中,您正在为MerkleManager.sMerkleRoot的值分配“ =”赋值操作数。
相反,您应该检查“ ==”或“!=”操作数以比较对象引用。
public void run() {
while (true) {
}
if MerkleManager.sMerkleRoot != null
{
} else {
}
System.exit(0);
}
答案 1 :(得分:0)
您的代码将永远不会像编写代码那样离开while循环。
更改为此,
public void run() {
while (true) {
if MerkleManager.sMerkleRoot != null{
// do stuff
}else {
// do something else
}
System.exit(0); // if you leave this statement, your code will exit on the first exec
}
答案 2 :(得分:0)
首先,您要说的是,无论是否满足条件,您都希望它退出JVM,这将使while循环无用,因为第一次迭代将保证两种情况下的终止(以及当前的处理方式)会使您陷入循环,并且永远不要执行以下行),因此您可以将其完全删除。
第二,您需要在Java的if子句中的布尔语句周围加上括号。
您想要为方法执行的操作可能看起来像这样
public void run() {
if (MerkleManager.sMerkleRoot != null && MerkleManager.sMerkleRoot == inputRoot) {
System.out.println("You won");
}
else {
System.out.println("You lose");
}
System.exit(0);
}