Entrada com controle de erro simples 2

Boa noite estou com duvida nesse programa

Escreva um algoritmo em java que leia um valor inteiro S. Seu algoritmo deve esperar que S seja 1 ou 2, para indicar o sexo de um usuário. Caso seja digitado 1 o usuário foi identificado como FEMININO. Caso seja 2, MASCULINO. Para qualquer outra opção seu programa deve continuar lendo, e assim sucessivamente até que um valor valido (1 ou 2) seja digitado.

Ao final do processo o algoritmo deve apresentar o sexo inserido e a quantidade de inserções erradas, conforme exemplos abaixo:

Observação, N é um número natural, tal que -1000 <= S <= 1000.
Para S = 1, FEMININO, para S = 2, MASCULINO.

import java.util.Scanner;

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

	    int s, cont =0 ;
			
		s = leia.nextInt();
		
			
		
			
				cont++;
			
			while (s != 1 && s != 2  ) {
				
			
			
				s = leia.nextInt();
				
			}
			
			
			if (s ==1) {
				
				System.out.println("FEMININO");
			}
			else {
				
				System.out.print("MASCULINO");
			}

System.out.print(cont);

	  }
	}

}
}


ta, mas e qual a dúvida?

1 curtida

Que algoritmo preconceituoso e conservador!

De qualquer modo, me parece que está tudo normal com a classe que você criou.

Pulp Fiction é maravilhoso.

@Pereirinha_1, o sr. parece ter dificuldade em esclarecer dúvidas, cara.

Vamos lá, você tá com a lógica errada.

Se o usuário digitar 1 ou 2, são opções válidas. Ou seja, qualquer coisa diferente de 1 ou 2 deverá ser contabilizado como opção errada. No final, se ele digitar 1 ou 2, serão impressas duas coisas: “Masculino/Feminino” e o número de entradas erradas.

Vou te ajudar mais uma vez por que você realmente parece iniciante. Espero que entenda a lógica e continue estudando, se ficar empacado no mesmo lugar pra sempre nunca vai conseguir evoluir.

public static void main(String[] args) {
    Scanner leia = new Scanner(System.in);
    int S=0, N = 0;

    while (S != 1 && S != 2) {
        S = leia.nextInt();
        N++;
    }
    if (S == 1) {
        System.out.println("FEMININO!");
    } else if (S == 2){
        System.out.print("MASCULINO!");
    }
    System.out.print("\nEntradas erradas: "+N);
}