当我尝试创建自己的类和方法时,发现该方法执行了两次。我尝试修改代码以找到问题所在,但是该方法仍然执行了两次。
以下是该类:
import java.util.Scanner;
public class TestRB
{
private String userInput;
private Scanner scan = new Scanner (System.in);
public TestRB ()
{
run();
}
public void run ()
{
System.out.println("Please input y or n.");
userInput = (scan.next()).toLowerCase();
while (!userInput.equals("y") && !userInput.equals("n"))
{
System.out.println("Invalid input, try again.");
System.out.println("Please type in \"y\" or \"n.\"");
userInput = (scan.next()).toLowerCase();
}
}
public boolean yOrN ()
{
return (userInput == "y");
}
public String toString()
{
return userInput;
}
}
这里是该方法的对象。
public class TestRunRB
{
public static void main (String[] args)
{
TestRB test = new TestRB();
test.run();
if (test.yOrN())
System.out.println("Yes");
else
System.out.println("No");
}
}
无论我输入y还是n,当我被提示两次后,输出总是No。
run()
,然后又在构造后立即再次调用了一次,所以run()
方法被运行了两次。此外,您一直得到“no”的结果是因为此原因:https://dev59.com/DnRB5IYBdhLWcg3wyqEd - gla3drrun();
了吗?我之前的例子是这样做的,所以我就加上了。 - Carl Kim