Scanner.equals () возвращает false в любом случае

1
package harry;

import java.util.Scanner;

public class harry {

    public static void main(String[] args) {    

        String Harr = ("Harry");

        Scanner name = new Scanner(System.in);  

        System.out.println("Enter your name");  

        name.nextLine();

        if(name.equals("Harry")) {

            System.out.println("She hates you");    

        } else if (name.equals("Nick")) {

            System.out.println("She loves you");    
        }

    }

}

В этом коде я пытаюсь написать следующее:

  • Если имя "Гарри", оно должно напечатать "Она тебя ненавидит",
  • Если имя "Nick", оно должно печатать "она вас любит",

Однако, когда я пишу одно из этих имен, он ничего не печатает.

Теги:
if-statement

3 ответа

3

Сканер используется несколько иначе:

package harry;

import java.util.Scanner;

public class harry {

    public static void main(String[] args) {    

        String Harr = ("Harry");

       Scanner input = new Scanner(System.in);   

        System.out.println("Enter your name");  

           String name = input.nextLine();

    if(name.equals("Harry")) {

            System.out.println("She hates you");    

        } else if (name.equals("Nick")) {

            System.out.println("She loves you");    
        }

    }

}
  • 0
    СПАСИБО, ТАК ЧТО ВЫ ЛУЧШИЕ!
  • 1
    @NickNicholas Если это сработало, отметьте этот ответ как принятый.
0

Назначьте значение name.nextline для строки, а затем выполните условную проверку

Код будет выглядеть так:

    String n= name.nextLine();

    if(n.equals("Harry")) {

        System.out.println("She hates you");    

    } else if (n.equals("Nick")) {

        System.out.println("She loves you");    
    }
0

Попробуйте этот Ник Николас, он работает, когда я пытаюсь:

import java.util.Scanner;

public class harry {

    public static void main(String[] args) {    

        String Harr = ("Harry");

        String s;

       Scanner name = new Scanner(System.in);   

        System.out.println("Enter your name");  

           s = name.nextLine();

    if(s.equals("Harry")) {

            System.out.println("She hates you");    

        } else if (s.equals("Nick")) {

            System.out.println("She loves you");    
        }

    }

}

Ещё вопросы

Сообщество Overcoder
Наверх
Меню