pdform
Julho 15, 2006, 9:20pm
#1
Olá!
O código abaixo é uma classe que eu implementei para meu curso. A classe exercicio02 é outra classe cujo método escrever imprime uma string no console. Eu queria saber como capturar e tratar a exceção que ocorre se o usuário não informar valores numéricos como argumentos do programa.
Flw!
//importa package
import java.io.*;
public class exercicio07
{
public static void main(String args[])
{
double num1,num2,num3,prod = 0.0;
String msg = "";
exercicio02 a = new exercicio02();
if(args.length == 3)
{
num1 = Double.parseDouble(args[0]);
num2 = Double.parseDouble(args[1]);
num3 = Double.parseDouble(args[2]);
prod = num1*num2*num3;
msg = Double.toString(prod);
a.escrever(msg);
}
else
{
a.escrever("Necessarios 3 argumentos");
}
}
}
Olha…
Eu acho que exatamente dessa maneira que você quer…a exception não vai funcionar…mas vamos lá…acho que se você fizer assim pode funcionar:
[code]
//importa package
import java.io .*;
public class exercicio07
{
public static void main(String args[])
{
double num1,num2,num3,prod = 0.0;
String msg = “”;
exercicio02 a = new exercicio02();
try
{
if(args.length == 3)
{
num1 = Double.parseDouble(args[0]);
num2 = Double.parseDouble(args[1]);
num3 = Double.parseDouble(args[2]);
prod = num1*num2*num3;
msg = Double.toString(prod);
a.escrever(msg);
}
else
{
a.escrever("Necessarios 3 argumentos");
}
}catch (IllegalArgumentException e) e.printStackTrance(); //ou código que achar mais interessante
}
}
Olha…
Eu acho que exatamente dessa maneira que você quer…a exception não vai funcionar…mas vamos lá…acho que se você fizer assim pode funcionar:
/importa package
import java.io.*;
public class exercicio07
{
public static String verificador(double... nums) throws IllegalArgumentException
{
private double prod = 0.0;
private String msg = "";
for (double d: nums)
prod += d;
msg = double.toString(prod);
return msg
}
public static void main(String args[])
{
exercicio02 a = new exercicio02();
//coloca o if aqui...
try
{
a.escrever(verificador(Double.parseDouble(args[0]),Double.parseDouble(args[1],Double.parseDouble(args[2]));
}catch IllegalArgumentException { System.out.println("formatos não validos"); } //ou um printStackTrance
}