Classe Scanner - recebendo automaticamente a informação

Boa noite

No algoritmo abaixo, quando o a estrutura de repetição passa a ser 2, a classe Scanner não me deixa digitar o Sexo, indo diretamente para a Idade. Acredito que seja algo no método nextLine(). Poderiam me ajudar?

//Elabore um programa que leia o sexo e a idade de 200 pessoas e informe a quantidade de homens e a soma das idades das mulheres 

import java.util.Scanner;

public class SomaIdade{

	public static void main(String[] args) {

		String sexo;
		int i;
		int idade;
		int somaIdade;
		int quantidadeHomem;
			  
		quantidadeHomem = 0;
		somaIdade = 0;
			  
		Scanner scan = new Scanner(System.in);
		
		for (i=1;i<=4;i++){
			System.out.print("Digite o sexo: ");
			sexo = scan.nextLine();
			
			System.out.print("Digite a idade: ");
			idade = scan.nextInt();
			
			if (sexo.equals("M"))
				quantidadeHomem++;
			else
				somaIdade = somaIdade + idade;

			System.out.println("A quantidade de homens é: " +quantidadeHomem+
			             	   "\nA soma da idade das mulheres é: "+somaIdade);
		}
	}
}

Obrigado.

Na verdade o problema é o nextInt(), que não consome a quebra de linha.
O único método da classe Scanner que consome a quebra de linha é o nextLine().
Então você tem duas alternativas:

Assim:

idade = Integer.parseInt(scan.nextLine());

Ou assim:

idade = scan.nextInt();
scan.nextLine(); // consumir a quebra de linha
2 curtidas