If-then-else语句使用

时间:2018-09-10 01:13:34

标签: java if-statement

方法:“运行”

  • 创建无限循环
  • 如果MerkleManager.sMerkleRoot不为null,则...
  • 如果上面的merkle根等于用户输入的初始merkle根。然后打印出“ You win:”,然后打印出merkle根并退出应用。
  • 如果它们不相等,则告诉用户他输了–退出应用程序。

我的代码:

public void run() {

    while (true) {
    }
    if MerkleManager.sMerkleRoot = null;
    {

    } else {

    } 
    System.exit(0);
}

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

3 个答案:

答案 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);
}