为什么我的代码绕过else if语句?

Java的新手,只是搞乱了我的项目,并注意到我的代码输出没有执行else if循环。如果我对测验(A或C)输入了错误的答案,则没有输出,它将直接跳至我的try块代码。

但是,如果我输入正确的答案,它将输出正确的代码,只有当我输入错误的答案时,才输出正确的代码。

  @SuppressWarnings("resource")
                    Scanner keyboardInput = new Scanner(System.in);

                    String answer1 = keyboardInput.nextLine(); 
                    if(answer1.equals("B")) {
                    correctCount++;
                    System.out.println("----Thats the correct answer!----  +");
                    }
                    else if(answer1.equals("A" + "C")) {
                    System.out.println("Wrong answer, sorry");
                }


                    try{
                     doc.getDocumentElement().normalize();
                     System.out.println("Next Question");
                    NodeList q2 = doc.getElementsByTagName("q2");


谢谢你的帮助!而且我知道我的代码可能很乱

评论
  • zquia
    zquia 回复

    if(answer1.equals("A" + "C")) --> This checks if answer1 is equal to "AC". Instead of OR operator which is || you concatenated two strings. Try if(answer1.equals("A") || answer1.equals("C"))

  • adicta
    adicta 回复

    else if(answer1.equals("A" + "C")) {

    手段:

    else if(answer1.equals("AC")) {

    “ A” +“ C”是字符串的串联,“ A” +“ C”产生一个新的字符串“ AC”。