Uso de String em IF (Java)

5 respostas Resolvido
poostringifelsejava
C

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 ?

5 Respostas

R

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!");
 }
C
Solucao aceita

(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
C
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.

C

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

C

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.

Criado 9 de junho de 2019
Ultima resposta 9 de jun. de 2019
Respostas 5
Participantes 3