Ajuda com BlueJ - Classe teclado

5 respostas
java
C

Bom dia, gente
Tudo bem?
Preciso de ajuda com o BlueJ
É meu primeiro contato real com a programação e tô perdida demais.
Tenho que criar um sistema de cadastro que solicite 10 informações e depois exiba na tela.

Me parece fácil, mas foi sugerido que a gente usasse a Classe Teclado e é aí que me perco
Eu importei para o BlueJ e tudo ok, mas o que preciso fazer? Edito ela e apago tudo lá?
Para solicitar os dados e depois exibi-lo teria que criar duas classes ou posso fazer tudo na classe teclado?

Não tenho ideia como é o processo.
Pelo o que vi o BlueJ é bem arcaico, mas é ele que usamos na prova
Então terei que usá-lo.

Se conseguirem me ajudar agradecerei muito.

5 Respostas

S

Que classe Teclado é essa?
Foi você que fez?
Qual o propósito dela?
Posta o código fonte.

C

Oi, ela foi deixada como sugestão, mas nos disseram que poderíamos usar o scanner também.
Mas o que será usado na prova é q classe teclado.
Não tô conseguindo anexar pelo celular, mas já te mando.

C

import java.io.*;

/** Classe que permite fazer leitura de dados do teclado, com metodos estaticos.

  • Iso significa que nao ha necessidade de instanciar um objeto para invocar os metodos.
  • Sintaxe p/ chamada: <nome_da_classe>.<nome_do_metodo>()
  • Exemplo de chamada: Teclado.leInt("Digite um numero inteiro: ")
    */
public class Teclado

{

private static String s;

private static InputStreamReader i = new InputStreamReader (System.in);

private static BufferedReader d = new BufferedReader(i);
/**
    Le um inteiro, exibindo na tela uma mensagem de solicitacao.
    @return int
 */
 public static int leInt (String msg)
 {   int a = 0;
     System.out.print(msg);
     try
     {
         s = d.readLine();
         a = Integer.parseInt(s);
     }
     catch (IOException e)
     {
         System.out.println ("Erro de I/O: "+e );
     }
     catch (NumberFormatException e)
     {
         System.out.println ("o valor digitado deve ser inteiro: "+e );
     }
     return (a);
 }
 
 /**
    Le um double, exibindo na tela uma mensagem de solicitacao.
    @return double
 */
 public static double leDouble(String msg)
 {   double a = 0;
     System.out.print(msg);
     try
     {
         s = d.readLine();
         a = Double.parseDouble(s);
     }
     catch (IOException e)
     {
         System.out.println ("Erro de I/O: " + e);
     }
     catch (NumberFormatException e)
     {
         System.out.println ("o valor digitado deve ser numero: "+e );
     }
     return (a);
 }
 
 /**
    Le um string, exibindo na tela uma mensagem de solicitacao.
    @return String
 */
 public static String leString(String msg)
 {   s = "";
     System.out.print(msg);
     try
     {
        s = d.readLine();
     }
     catch (IOException e)
     {
        System.out.println ("Erro de I/O: " + e);
     }
     return (s);
 }

 /**
    Le um caractere exibindo na tela uma mensagem de solicitacao.
    @return Char
 */
 public static Character leChar(String msg)
 {   s = "";
     System.out.print(msg);
     try
     {
        s = d.readLine();
     }
     catch (IOException e)
     {
        System.out.println ("Erro de I/O: " + e);
     }
     return (s.charAt(0));
 }
 
 
 /**
 Le um caractere exibindo na tela uma mensagem de solicitacao.
 @return Char
  */
  public static Boolean leBoolean(String msg)
  {   s = "";
      System.out.print(msg);
      try
      {
         s = d.readLine();
      }
      catch (IOException e)
      {
         System.out.println ("Erro de I/O: " + e);
      }
      return (new Boolean(s));
  }

}//fim da classe

a dúvida é
preciso fazer tudo dentro dela ou teria que criar duas classes?
pelo o que entendi a classe teclado seria de entrada, certo?

S

Faz sentido implementar qualquer outra coisa nessa classe, sendo que o propósito dela é fornecer métodos para ler a entrada de dados?

Pra mim não faz sentido…

Eu criaria outras classes para implementar o sistema e usaria a classe Teclado somente para o que ela foi projetada: ler a entrada de dados do usuário.

C

mas essa é a minha dúvida, essa classe teclado é usada como um exemplo apenas, ne?
eu usaria ela com as informações que quero solicitar.
E depois para fazer o print com a outra classe, tu sabe se eu tenho como “ler” (não sei o termo) as duas juntas?

Criado 11 de março de 2020
Ultima resposta 11 de mar. de 2020
Respostas 5
Participantes 2