Oi gente, sou iniciante e meu código está retornando esse erro. Gostaria de saber o motivo.
public class Exercicio24 {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int qtdAlunos, qtdH = 0, qtdM = 0;
int menorAltura = 999, maiorAltura = 0, mediaH = 0, mediaM = 0;
int contAltura1 = 0, contAltura2 = 0;
String sexoMaior = " ", sexoMenor = " ";
System.out.print("Quantos alunos: ");
qtdAlunos = scan.nextInt();
scan.skip("\n");
dados vetor[] = new dados[qtdAlunos];
for (int i = 0; i < qtdAlunos; i++) {
dados aluno = new dados();
System.out.print("Sexo(M para Masculino, F para Feminino): ");
aluno.sexo = scan.nextLine();
System.out.print("Altura: (em centímetros)");
aluno.altura = scan.nextInt();
if(aluno.sexo.equalsIgnoreCase("M") == true){
qtdH = qtdH + 1;
contAltura1 = contAltura1 + aluno.altura;
}
if(aluno.sexo.equalsIgnoreCase("F") == true){
qtdM = qtdM + 1;
contAltura2 = contAltura2 + aluno.altura;
}
if(aluno.altura > maiorAltura){
maiorAltura = aluno.altura;
sexoMaior = aluno.sexo;
}
if(aluno.altura < menorAltura){
menorAltura = aluno.altura;
sexoMenor = aluno.sexo;
}
vetor[i] = aluno;
}
System.out.print("Maior: "+maiorAltura+" Sexo: "+sexoMaior);
System.out.println();
System.out.print("Menor: "+menorAltura+" Sexo: "+sexoMenor);
System.out.println();
mediaH = contAltura1 / qtdH;
mediaM = contAltura2 / qtdM;
System.out.print("Média de altura dos homens: "+mediaH);
System.out.println();
System.out.print("Média de altura das mulheres: "+mediaM);
System.out.println();
}
}
O erro:
Exception in thread “main” java.util.InputMismatchException
at java.util.Scanner.throwFor(Scanner.java:864)
at java.util.Scanner.next(Scanner.java:1485)
at java.util.Scanner.nextInt(Scanner.java:2117)
at java.util.Scanner.nextInt(Scanner.java:2076)
at exercicio24.Exercicio24.main(Exercicio24.java:29)
Java Result: 1