如何解决从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 举报,一经查实,本站将立刻删除。