Auxílio no Código Java?

Estou com dificuldades em concluir o exercício, meu problema é saber onde coloco, qual laço de repetição utilizo e como faço o código para dar as respostas solicitadas o código que consegui fazer até o momento e a descrição do exercício.

  1. A prefeitura entrevistou vários habitantes. De cada habitante foram
    • coletados os seguintes dados: idade, renda e escolaridade (use 1 para educação básica,
    • 2 para ensino fundamental e 3 para ensino superior). A prefeitura deseja saber:
      (a) percentual de habitantes com nível superior
      (b) média de renda da população
      © escolaridade e renda do habitante mais velho (1,0 pt)

Faça um programa que leia os dados necessários e escreva, ao final, os itens mencionados.
Crie um critério de parada para o programa e informe ao usuário esse critério.


Scanner in  = new Scanner(System.in);
System.out.println("\f*****Estatísticas dos Habitantes *****");
System.out.println("Informe sua idade:");
int idade = in.nextInt();
while(idade<0){
       System.out.println("Valor inválido! Informe sua idade:");
       idade = in.nextInt();
}
System.out.println("Informe sua renda:");
double renda = in.nextDouble();
while(renda<0){
      System.out.println("Valor inválido! Informe sua renda");
      renda = in.nextDouble();
}
System.out.println("Agora informe sua escolaridade escolhendo as opções:");
System.out.println("\n\t1 - Educação básica \n\t2 - Ensino fundamental\n\t3 - Ensino superior\nOpção:");
int opcao = in.nextInt();;
switch(opcao){
     case 1: System.out.println("Educação Básica"); break;
     case 2: System.out.println("Ensino Fundamental");break;
     case 3: System.out.println("Ensino Superior"); break;
     default: System.out.println("Opção inválida! o Programa será fechado!");
}

Acho que o que faltou até o momento é uma forma de inserir os dados de mais de uma pessoa pra poder tirar média e fazer comparações e também uma forma de guardar estes dados.

Acho que vc podia criar umas variáveis estáticas e guardar os valores nelas.

class Programa {
  static int[] idades;
  static int[] opcoes;
  static double[] rendas;
  
  public static void main(String[] args) {
    Scanner in  = new Scanner(System.in);
    System.out.println("Quantas pessoas serão entrevistadas?");
    int quantidadeDeEntrevistados = in.nextInt();

    idades = new int[ quantidadeDeEntrevistados ];
    opcoes = new int[ quantidadeDeEntrevistados ];
    rendas = new double[ quantidadeDeEntrevistados ];

    for(int i = 0; i < quantidadeDeEntrevistados; i++) {
      /* aqui vai o código que fez até agora
         vou destacar apenas as partes que importam */

      /* ... */
      idades[ i ] = in.nextInt();
      /* ... */
      rendas[ i ] = in.nextDouble();
      /* ... */
      opcoes[ i ] = in.nextInt();
      /* ... */
    }
  }
}

Em seguida vc vai ter que pensar em uma forma de usar os dados armazenados em idades, rendas e opcoes para fazer o resto que o exercicio pede.

Só faz sentido usar variáveis estáticas caso o conteúdo delas compartilhado com todas as instâncias da classe.

1 curtida

Legal!
Acredito que vai dar certo.
Como estou no primeiro semestre na faculdade, ainda estamos bem no básico.
Agradeço pela resposta.

1 curtida

É só pra aproveitar o código que ele já tem para conseguir resolver o exercicio. Depois, quando ele tiver mais segurança, pode modificar e aplicar boas prática ao código.