我正在学习Java,并且一直在尝试编写此基本程序,在该程序中询问您是或否的问题,您给它一个答案,然后根据该答案执行某些操作。目前我的代码是这个。
import java.util.Scanner;
public class Main {
public static void main(String args[])
{
Scanner inputvar = new Scanner (System.in);
String yes, no;
System.out.println("Enter yes or no");
yes = inputvar.nextLine();
no = inputvar.nextLine();
if (inputvar.equals(yes))
{
System.out.println("You said yes!");
}
else if (inputvar.equals(no)){
System.out.println("You said no");
}
}
}
编译时没有出现任何错误,但是运行程序时,放入任何内容都不会响应。它允许我输入两行文本,然后终止。
最佳答案
您的代码是,没有变量不正确,您在代码中两次调用nextLine()
,这就是为什么要求您输入两次输入的原因。
yes = inputvar.nextLine();
no = inputvar.nextLine();
inputvar
是一个Scanner
实例,而不是String
对象,无法尝试inputvar.equals(yes)
您应该只定义:
String myInput = inputvar.nextLine();
并检查
if (myInput.equals("yes")){
//do some stuff
}else if(myInput.equals("no")){
//do other stuff
}