Ajuda com comparação entre Strings

 Opa galera, começei a estudar recentemente a linguagem Java, estava fazendo uma questão e me deparei com o seguinte problema:

Quero fazer uma comparação entre uma String inicializada pelo Scanner, a ideia é simples, se o usuário responder “Sim” ou “Nao” à pergunta quero que mostre “Igual”, caso o usuario digite outra coisa que não seja um “Sim” ou “Nao” quero que mostre “Diferente”. Quando digito qualquer coisa, como por exemplo “a”, ele imprime “diferente”, que é oque eu quero, porém quando digito “Sim” ou “Não” ele também imprime “diferente”.
Estou usando o equal para isso, porém mesmo assim está dando errado, gostaria de saber se alguém tem alguma sugestão ou dica, desde já, agradeço qualquer ajuda.
Codigo:
import java.util.Scanner;

public class main{

public static void main(String[] args) {
	Scanner imput = new Scanner(System.in);
	
	System.out.println("Responda com um sim ou não.");
	System.out.println("Você é humano?");
	String resposta = imput.next();
		if(!resposta.equalsIgnoreCase("sim") || !resposta.equalsIgnoreCase("nao")) {
			System.out.println("diferente");
		}else {
			System.out.println("igual");
		}
	imput.close();
}

}

Acho que issso resolve seu problema.

public static void main(String[] args) {
Scanner imput = new Scanner(System.in);

System.out.println("Responda com um sim ou não.");
System.out.println("Você é humano?");
String resposta = imput.next();
	if(resposta.equalsIgnoreCase("sim") || resposta.equalsIgnoreCase("nao")) {
		System.out.println("igual");
	}else {
		System.out.println("diferente");
	}
imput.close();

}

O teste feito dessa forma sempre vai te retornar “diferente”, porque tudo que você digitar sempre será diferente de “sim” ou “não”, compreende?