为了账号安全,请及时绑定邮箱和手机立即绑定

If-then-else 语句使用

If-then-else 语句使用

一只萌萌小番薯 2021-09-12 10:40:06
方法:“运行”创造无限循环如果 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 语句?
查看完整描述

3 回答

?
白衣染霜花

TA贡献1796条经验 获得超10个赞

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

}


查看完整回答
反对 回复 2021-09-12
?
米脂

TA贡献1836条经验 获得超3个赞

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

}


查看完整回答
反对 回复 2021-09-12
?
波斯汪

TA贡献1811条经验 获得超4个赞

在您的支票中,您正在使用“=”分配操作数分配 MerkleManager.sMerkleRoot 的值。


相反,您应该检查“==”或“!=”操作数以比较对象引用。


public void run() {


    while (true) {

    }

    if MerkleManager.sMerkleRoot != null

    {


    } else {


    } 

    System.exit(0);

}


查看完整回答
反对 回复 2021-09-12
  • 3 回答
  • 0 关注
  • 179 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信