Uso de String em IF (Java)

Fiz um programa onde instancio uma variável do tipo string e passo a ela o valor de M ou F, então gostaria de criar um if para caso esta variável seja diferente de M ou F, o programa pare de compilar, como faço isto ?

Use o método equais se quiser que sejam iguais ou equalsIgnoreCase se não fizer questão que o usuário escreva em letra maiúscula ou minúscula:

String valor = "M";
String valor2 = "m";

// O caso abaixo compara as strings sem levar em consideracao o case 
if ( valor2.equalsIgnoreCase( valor ) ){

    System.out.println("Valores iguais!");
 }

(sua String qualquer) String gereno;

if(genero.charAt(0) != M || genero.charAt(0) != F)
{
System.exit(0);
}
basicamente tá perguntando, se o conteúdo da sua String na posição 0 dos indices, for diferente de M ou de F, encerra o processo, mas não sei se é isso ao certo q vc quer, você pode fazer um do{}while tb, que peça o valor da String, e coloca while(genero.charAt(0) != F || genero.charAt(0) != M) assim, enquanto o usuário não digitar os valores q vc deseja, continuará pedindo o valor, ai quando entrar F ou M na String, ele sai do do while e vc continua como quiser

1 curtida

System.out.print("Digite o Sexo (F=Feminino) (M=Masculino): ");
sexo = scanner.nextLine();
if (sexo.charAt(0) != ‘F’ || sexo.charAt(0) != ‘M’) {
System.out.println(“A letra digitada não corresponde as opções!!”);
System.exit(0);}

//Fiz isto, mas mesmo atribuindo M ou F ele sempre imprime a mensagem.

Era por conta do “||”, troquei para “&&” e deu certo, obrigado pela ajuda, era isso mesmo que eu precisava!!

Bem notado, se colocar || ele ainda entra no if pois, ou um ou outro, então basta 1 ser verdadeiro pra cair na condição.