MEU CODIGO Java NAO EXECUTA, HEEELP (Neetbeens)

Gente, preciso de ajuda nesse código que não esta funcionando, ele simplismente não executa, ta um horror, não quer ler o codigo

“Não executa” é muito vago. Sempre descreva o que espera que o código faça, e de que forma o código está se comportando diferente do esperado. Também, em vez de postar uma imagem do código, copie e cole ele aqui, e use o botão </> para formatá-lo. Isso facilita a vida de quem quiser te ajudar.

De qualquer forma, supondo que o objetivo desse código é ler os dados de 5 pessoas, você precisa ajustar a verificação no seu loop for. Esta linha:

for (int i = 1; i >= 5; i++) {

Deve ser algo como:

for (int i = 1; i <= 5; i++) {

Senão, o código dentro do for nunca irá executar mesmo, pois a condição do for nunca é satisfeita.

Abraço.

1 curtida

Obrigado, me passei, é isso mesmo, consertei mas não resolveu 100%, o codigo não esta executando esse trecho
saude = leitor.nextLine();

Não bota pra eu ler de jeito nenhum

public static void main(String[] args) {
       String nome, sexo, saude;
       int idade;
       int apto = 0;
       int naoapto = 0;
        
       Scanner leitor = new Scanner(System.in);
       
       for(int i = 1; i <= 5; i++){
           
       System.out.println("QUAL E SEU NOME? ");
       nome = leitor.nextLine();
       
       System.out.println("QUAL E SEU SEXO? ");
       sexo = leitor.nextLine();
       
       System.out.println("QUAL E SUA IDADE? ");
       idade = leitor.nextInt();
          
       System.out.println("ESTADO DE SAUDE, BOM (B)/RUIM(R)");
       saude = leitor.nextLine();
       
       if("B".equals(saude)) {
          apto = apto + 1;
       } else {
          naoapto = naoapto + 1;
       }
       }
     
     System.out.println("São " + apto + "Pessoas aptas");
     System.out.println("São " + naoapto + "Pessoas nao aptas");
     }
   
      
    }

Não testei seu código, mas uma recomendação é usar nextLine, em vez de nextInt e nextFloat. Se precisa fazer conversões, faça a leitura com nextLine, e converta o que foi lido. Usar nextInt deve estar interferindo na linha:

idade = leitor.nextInt();

E por consequência na leitura seguinte (o nextLine que você supôs que não funciona).

Ou seja, para a idade, faça algo como:

System.out.println("QUAL E SUA IDADE? ");
idade = Integer.parseInt(leitor.nextLine());

Veja se isso resolve tanto a leitura da idade, quanto do estado de saúde.

Abraço.

1 curtida

Obrigado, funcionou