Problema com o comando FOR

6 respostas
O

Ola a todos
Estou com um problema gostaria de fazer isso:
Tenho que digitar a quantidade de funcionarios digamos que seja 10.
Depois disso entro no laço For e faço isso:

Digite nome de funcionario.
Leia nome
Digite a idade.
Lei Idade

O problema é não estou coseguindo dizer para o programa que ele
tem que ler apenas os numeros que entra nesse comando (Digite a quantidade de Funcionarios)
com iso o programa não para mais de pois do decimo nome e idade lido.

Meu codigo está assim:

import java.io.*;

public class Tela {

public static void main(String[] args) throws IOException {
BufferedReader LER = new BufferedReader(new InputStreamReader(System.in));

System.out.print("Digite a quantidade de funcionarios.:  ");
  String x =LER.readLine();
  System.out.println();
     int y;
               
        for(y=1;y <= y; y++){
      
  System.out.print("Informe seu nome: "); 
  String Nome = LER.readLine();
  System.out.print("Informe sua Idade: "); 
  String Idade = LER.readLine();
  System.out.println();
  
 }

}
}

Desde já agradeço.

O meu codigo:

6 Respostas

V

Bom cara antes de tudo seu código não vai para se você comparar y <= y se são as mesmas variáveis logimamente elas sempre serão iguais.

transforme a variavel x para uma do tipo int da seguint maneira:

int total = Integer.parseInt(x);
H

Além disso é y<=x e não y<=y

V

Não dá para fazer a comparação entre uma variável do tipo int e uma do tipo String como escreveu HGK_Blade (y<= x) , tente fazer uma conversão ( y <= total).

C

Ta ai o fonte irmao!!!

import java.io.*;

public class Teste {
    
    public static void main(String [] args) throws IOException{
    
        String resTotal, resIdade; // Strings que vao receber os valores
        String nome;
        
        int total, idade;
    
        BufferedReader Ler = new BufferedReader(
           new InputStreamReader(System.in));
     
        System.out.println( " Digite o total de funcionarios " );
        resTotal = Ler.readLine();
        total = Integer.parseInt(resTotal); // convete a String em inteiro
        
        for( int cont = 1; cont <= total; cont++ ) {
            System.out.println( " Informe o seu Nome " );
            nome = Ler.readLine();
            
            System.out.println( " Informe a sua Idade " );
            resIdade = Ler.readLine();
            idade = Integer.parseInt( resIdade );
        } // fim do for     
    } // fim do main    
}  // fim da classe

Espero q tenha ajudado!!

Abracao e te +

O

Po galera valeu pela força. Muito agradecido, com isso poso dar continuidade em outros exercicios.
Brigadão…

C

Precisando tamo ai kra!! :razz:

Criado 25 de setembro de 2004
Ultima resposta 26 de set. de 2004
Respostas 6
Participantes 4