我有一个返回true或false的方法,
public boolean confirmVotes()
{
System.out.println("Your vote for President is:" + getVotes() );
System.out.println("your vote for Vice President is:" + getVotes());
System.out.println("Is this correct? Yes or No?");
Scanner keyboard = new Scanner(System.in);
String answer = keyboard.nextLine();
if (answer.equalsIgnoreCase("Yes"))
return true;
else
return false;
}
我如何在另一种方法中使用此return语句?这就是我想要做的事情
public void recordVote()
{
if comfirmVotes returns true for X
do this for y
}
答案 0 :(得分:6)
如果你检查你的confirmVotes方法,你会发现你已经解决了这个问题: -
if(answer.equalsIgnoreCase("Yes"))
.equalsIgnoreCase(String s)是一个返回布尔值的方法,您已经根据其返回值构造了一个if语句。因此: -
if (confirmVotes())
{
// Do whatever
}
另外值得注意的是,您可以替换: -
if(answer.equalsIgnoreCase("Yes"))
return true;
else
return false;
使用: -
return answer.equalsIgnoreCase("Yes");
答案 1 :(得分:2)
public void recordVote() {
if (confirmVotes()) { // your method should return true. if it does, it will process the if block, if not you can do stuff on the else block
} else {
}
}
答案 2 :(得分:2)
public void myMethod(){
if(confirmVotes()){
doStuff();
}
else{
doOtherStuff();
}
}
答案 3 :(得分:0)
我认为你的问题是如何从该类的另一个方法调用属于同一个类的方法。 (因为您已经在第一个代码块中使用了另一个方法的return语句。)
您可以使用 this 关键字来引用该类的当前实例,或者如果它是在非静态方法中调用,则您不需要使用它。
e.g:
if (this.confirmVotes() == true)
或(如果调用方法是成员方法(非静态)或被调用方法是静态方法))
if (confirmVotes() == true) {
因为 confirmVotes()方法返回true,您还可以使用 if(confirmVotes()),而不是再次将其与布尔值true进行比较。