Solucionado (ver solução)
Solucionado
(ver solução)
3
respostas

Trocando parâmetros dos métodos

bom galera, estou com a seguinte dúvida : como fazer para os métodos utilizarem o system.in como parâmetro, por exemplo ? como fazer essa interação entre o usuário e o programa de forma que o usuário decida quanto que ele quer depositar, sacar...

3 respostas

Bom dia Gabriel,

Você pode usar a classe Scanner. Ela recebe em um dos construtores um InputStream, que pode ser, por exemplo, o System.in que você mencionou.

Um exemplo:

public void leLinhaDigitada() {
   Scanner sc = new Scanner(System.in);
   String linhaDigitada = sc.nextLine();
   System.out.println("Você digitou: "+linhaDigitada);
}

O método acima lê do teclado uma palavra digitada, inclui tal palavra na variável linhaDigitada e a imprime.

Lembrando que a classe Scanner é do pacote java.util. Logo, se for usá-la, não esquecer de:

import java.util.Scanner;

Avisa aí se ajudou.

Abraço.

Muito obrigado, Rafael, mas seguinte, pelo que eu entendi dessa forma ai ele instancia um objeto do tipo scanner, correto ? vamos supor que eu tenho um objeto Funcionario, tenho idade e nome como atributos dele e gostaria de 'preenxer' esses atributos pelo console, como se fosse o usuário digitando, como eu faria ?

solução!

Isso. Ele instancia um Scanner, que é alguém genérico para obter dados de uma fonte, no nosso caso, do console.

Para preencher o funcionário com dados do console, você pode fazer algo como:

public Funcionario preencheFuncionario() {
   Scanner scan = new Scanner(System.in);

   System.out.print("Digite o nome do funcionário: ");
   String nomeFunc = scan.nextLine();

   System.out.print("Digite a idade do funcionário: ");
   int idadeFunc = scan.nextInt();

   Funcionario func = new Funcionario();
   func.setNome(nomeFunc);
   func.setIdade(idadeFunc);

   return func;
}

Neste caso, o método está lendo os dados do console, populando um novo funcionário e retornando-o.

Avisa aí se ajudou.

Abraço.