Tratamento de erros

2 respostas
H

Como posso fazer:
por exemplo:

{

int num;
   num =Util.readInt();

}
se vc digitar em vez de um inteiro uma string. como faco pra contonar esse problema?

obrigado pela atencao

2 Respostas

Andre.flu

Não entendi muito bem o que vc quer mais vai ai uma dica.

// varavies locais devem ser inicializadas.
int numero = 0;

String sNum = Util.readInt();

numero = Integer.parseInt( sNum );

Edson_Belem

hitalooliveira ,
fiz da seguinte maneira, utilizei o DataInputStream com readLine() , que ainda não é o método mais indicado.

Segue o programa abaixo:

import java.io.*;

public class Teste
{
 
  DataInputStream di;
  String conv;
  int num;
  
  public void lerNumero()
  { 
  try
  {
   System.out.println("Numero:");

   di=new DataInputStream(System.in);
   conv = di.readLine();
   num = Integer.parseInt(conv.trim());
  }
  catch(Exception e)
  {
  System.out.println(" Digite somente numeros :");
  lerNumero();  
  } 
  }
  
  public static void main(String args[])
  {
  
  Teste x=new Teste();
  x.lerNumero();
  }
  }

obs : O método readLine() utizando DataInputStream deprecated.

A maneira correta é utilizando BufferedReader

segue o código abaixo :

import java.io.*;

public class Teste
{
 
  BufferedReader di;
   int num;
  String conv;
  public void lerNumero()
  { 
  try
  {
   System.out.println("Numero:");
    
   di=new BufferedReader(new InputStreamReader(System.in));
   conv = di.readLine();
   num = Integer.parseInt(conv.trim());
  
  }
  catch(Exception e)
  {
  System.out.println(" Digite somente numeros :");
  lerNumero();  
  } 
  }
  
  public static void main(String args[])
  {
  
  Teste x=new Teste();
  x.lerNumero();
  }
  }

ABS
e continue na luta

Criado 4 de abril de 2007
Ultima resposta 4 de abr. de 2007
Respostas 2
Participantes 3