проверка введенной строки

Почему программа всегда выдает Error?

package com.company;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        System.out.println("Enter Your Gender: male/female");
        String Gender =in.nextLine();

        if (Gender !="male" || Gender!="female") {
            System.out.println("Error");
        }
    }
}

Ответы (1 шт):

Автор решения: yeahbaby

Во-первых, у Вас логика следующая: напиши "Error" если: gender не равен male ИЛИ gender не равен female. Gender НЕ может являться и male, и female одновременно. Для правильности вам необходимо использовать "И" (&&)

Во-вторых, для сравнения строк вам необходимо использовать не "==", а "equals". А для преобразования в "!=" вы должны поставить вначале поставить "!".

if (!Gender.equals("male") && !Gender.equals("female")) {
        System.out.println("Error");
    }
→ Ссылка