从if语句调用方法

时间:2020-10-25 23:58:31

标签: java if-statement methods

我有此代码:

public void main() throws InterruptedException, IOException {
    
    boolean a = true;

    if(a == true) {
        methodTwo();
    } else {
        methodOne();
    }    
}

public void methodOne() throws InterruptedException, IOException {
    System.out.println("Using method one!");
}

public void methodTwo() throws InterruptedException, IOException {
    System.out.println("Using method two!");
}

由于某种原因,当我运行代码时,即使methodOne()为真,methodTwo()仍在a之后执行。而且,如果a为假,则methodTwo()仍在执行。

无论methodTwo()是对还是假,methodOne()中的print语句都在a中的print语句之前执行

我需要做的是,如果a为true,则仅执行methodTwo(),反之亦然。我该怎么办?

2 个答案:

答案 0 :(得分:1)

这是不可能的,我已经测试了您的代码。 https://repl.it/repls/DangerousComfortableCoding

下一次,请发布整个代码,如Thomas所编辑的。我怀疑问题是您的代码不引人注目:;之后缺少a = true,而且我猜您正在起诉控制台编译器,就像大多数新手使用的那样。

因此您的编译命令失败,并且您没有注意到编译错误并执行了先前版本的编译代码。

答案 1 :(得分:0)

正如另一个答案所述,这是不可能的。

Dict

控制台:使用方法二!

class Main{
  public static void main(String[] args){
    boolean a = true;
    if(a == true) {
        methodTwo();
    } else {
        methodOne();
    }    
  }

  public static void methodOne(){
    System.out.println("Using method one!");
  }

  public static void methodTwo(){
    System.out.println("Using method two!");
  }
}

控制台:使用方法一!

相关问题