我正在学习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
}

10-07 17:09