猿问

If-then-else 语句使用

方法:“运行”

  • 创造无限循环

  • 如果 MerkleManager.sMerkleRoot 不为空,那么...

  • 如果上面的merkle root等于初始用户输入的merkle root。然后打印出“You win:”后面跟着merkle root,退出app。

  • 否则,如果它们不相等,则告诉用户他输了——然后退出应用程序。

我的代码:

public void run() {


    while (true) {

    }

    if MerkleManager.sMerkleRoot = null;

    {


    } else {


    } 

    System.exit(0);

}

如何设置MerkleManager.sMerkleRootnot null 并使用 if-then-else 语句?


一只萌萌小番薯
浏览 180回答 3
3回答

白衣染霜花

你的代码永远不会像它写的那样离开 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}

米脂

首先,您是说无论条件是否满足,您都希望它退出 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);}

波斯汪

在您的支票中,您正在使用“=”分配操作数分配 MerkleManager.sMerkleRoot 的值。相反,您应该检查“==”或“!=”操作数以比较对象引用。public void run() {    while (true) {    }    if MerkleManager.sMerkleRoot != null    {    } else {    }     System.exit(0);}
随时随地看视频慕课网APP

相关分类

Java
我要回答