Exercício: O que esta errado?

2 respostas
R

Ola pessoal, estou iniciando em Java e estou fazendo alguns exercicios.
Ao fazer este, no Eclipse, ele “risca” o readLine(), porque?
Porque ele reclama do DataInputStream?

import java.io.*;

class Exemplo0206
{
    public static void main(String args[]) {

        String s = "";
        float nota1 = 0, nota2 = 0, trabalho = 0, media = 0;
        
        DataInputStream dado;
        try
          {
          System.out.println("Entre com a nota 1: ");
          dado = new DataInputStream(System.in);
          s = dado.readLine();
          nota1 = Float.parseFloat(s);

          System.out.println("Entre com a nota 2: ");
          dado = new DataInputStream(System.in);
          s = dado.readLine();
          nota2 = Float.parseFloat(s);

          System.out.println("Entre com a nota do trabalho: ");
          dado = new DataInputStream(System.in);
          s = dado.readLine();
          trabalho = Float.parseFloat(s);

          media = (nota1+nota2+trabalho) / 3;
          
          }

      catch (IOException e)

          {
           System.out.println("Houve erro na entrada de dados");
          }

      catch (NumberFormatException e)
          {
           System.out.println("Houve erro na conversao, digite apenas caracteres numericos");

           }
      }


}

2 Respostas

BrunoBastosPJ

Quando um método aparece riscado significa que este está deprecated, talvez algum bug tenha sido encontrado neste método e eles resolveram substituir o mesmo por outro. Quando isto acontecer acesse a API Java no link:
http://java.sun.com/j2se/1.5.0/docs/api/

Procure pela classe que você está usando e depois pelo método que está deprecated:
http://java.sun.com/j2se/1.5.0/docs/api/java/io/DataInputStream.html#readLine()

Você vai achar uma explicação do porque este método está deprecated, e a sugestão de como modificar seu código para que este evite o erro. No seu caso eles recomendam substituir o código por:

BufferedReader dado  = new BufferedReader(new InputStreamReader(in));

Abs espero ter ajudado.

R

Bruno, muito obrigado pela dica.

Grande abraço.

Criado 5 de maio de 2008
Ultima resposta 6 de mai. de 2008
Respostas 2
Participantes 2