Alguém pode me explicar por que o programa não está aceitando nem as letras M ou F?
Nessa parte do código:
if (genero == "M") {
qntdHomens++;
soma = soma + alturas;
} else if (genero == "F") {
qntdMulheres++;
} else {
System.out.println("Gênero inválido!");
}
package br.com.exercicioweb;
import java.util.InputMismatchException;
import java.util.Scanner;
public class AlturaHomensEMulheres {
public static void main(String[] args) {
int qntdMulheres = 0;
int qntdHomens = 0;
double alturas = 0;
double soma = 0;
double mediaHomens = 0;
double maior = 0;
double menor = 0;
Scanner leitura = new Scanner(System.in);
try {
for (int i = 0; i < 5; i++) {
System.out.println("Digite seu gênero: M para masculino ou F para feminino");
String genero = leitura.next();
if (genero == "M") {
qntdHomens++;
soma = soma + alturas;
} else if (genero == "F") {
qntdMulheres++;
} else {
System.out.println("Gênero inválido!");
}
System.out.println("Digite a sua altura: ");
alturas = leitura.nextDouble();
if (alturas > maior) {
maior = alturas;
} else if (alturas < menor) {
menor = alturas;
}
}
} catch (InputMismatchException e) {
System.out.println("Digite um caractere válido!");
}
mediaHomens = soma / qntdHomens;
System.out.println("A maior altura do grupo é: " + maior + " metros, e a menor é de " + menor + " metros");
System.out.println("A média de altura dos homens é: " + mediaHomens + "metros");
System.out.println("O número de mulheres é: " + qntdMulheres);
leitura.close();
}
}