Faça um programa que solicite inicialmente ao usuário a quantidade de pessoas. Em seguida o programa deve solicitar a idade seguida do estado civil (C - casado, S - solteiro, O - outros) desse conjunto de pessoas. Ao ler as entradas verifique se a idade é maior ou igual a 0 e o estado cívil é válido, caso contrário torne ler cada dado inválido novamente.
O programa deve calcular e exibir ao final, nesta ordem, em linhas separadas:
-
A quantidade de pessoas solteiras
-
O valor da média de idade das pessoas casadas (apenas se houver ao menos 1 pessoa casada!)
-
A idade da pessoa mais velha (a maior idade do conjunto)
Eu fiz o codigo abaixo, porem ainda da erro:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int n = in.nextInt(), idade ;
char civil;
int qtdeSolteiros=0, qtdeCasados=0, maiorIdade=-1, somaICasados=0, mediaICasados;
for(int i=0; i < n; i++){
do{
idade = in.nextInt();
}while(idade < 0);
do{
civil = in.next().toUpperCase().charAt(0);
}
while(civil != 'S' && civil != 'C' && civil != 'O');
if (civil == 'S'){
qtdeSolteiros++;
}else if (civil == 'C'){
qtdeCasados++;
somaICasados += idade;
}
if (idade > maiorIdade)
maiorIdade = idade;
}
System.out.println(qtdeSolteiros);
if (qtdeCasados != 0){
mediaICasados = somaICasados/qtdeCasados;
System.out.println(mediaICasados);
}
System.out.println(maiorIdade);
}
}