微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从if语句调用方法

如何解决从if语句调用方法

我有代码

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(),反之亦然。我该怎么办?

解决方法

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

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

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

,

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

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!");
  }
}

控制台:使用方法一!

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。