Problema com try/catch ArrayIndexOutOfBoundsException

3 respostas
D

Galera a idéia é a seguinte: inserir dois inteiros através do dos (args[0] e args[1]) e comparar se um é maior que o outro.
mas como estou estudando try/catch, fiz algo pra que se tentar inserir um inteiro E uma string, ele aparece “argumento inválido” e também se não passar nenhum valor, ele retorna “informe os valores x y”…

porém, estou tendo problemas com o args em si.
ele manda direto pro ArrayIndexOutOfBoundsException…
o que está acontecendo?

segue o código:

class Recebe{
    public static void main(String[] args){        
        try{                         
            int a,b;  
            a = Integer.parseInt(args[0]);
            b = Integer.parseInt(args[1]);            
                             
            comparacao(a,b);
        }
        catch(NumberFormatException e){
            System.out.println("Argumento Inválido");
        }
        catch(ArrayIndexOutOfBoundsException e){
            System.out.println("Informe os valores X Y");
        }
    }
    public static void comparacao(int a, int b){
        if(a > b){System.out.println(a + " e maior que " + b);}
        else{
            if(a < b){System.out.println(a + " e menor que " + b);}
            else{System.out.println(a + " e " + b + " são iguais");}
        }
    }
}

3 Respostas

cassio

Como você está chamando seu programa na linha de comando?
Imprima os Stacktaces também dentro das exceções, pelo menos enquanto estiver debugando código, para ver o que está havendo.
Mas aparentemente seu código está certo. Você deve estar passando os valores da forma errada na chamada ao programa.

P

Cara…assim como o nosso colega “cassio” falou vc deve estar chamando sua classe de maneira errada. Eu executei sua classe e funcionou corretamente. Dê uma olhada nas linhas de comando do DOS

C:>javac Recebe.java

C:>java Recebe 5 4
5 e maior que 4

C:>java Recebe 0 8
0 e menor que 8

C:>

vlw abraços

D

Hehe, obrigado galera.

Escrevi o código e não consegui testar aqui e o netbeans não possui nenhum “emulador” dos…

Mas, valeu ae! :*

Criado 21 de julho de 2007
Ultima resposta 23 de jul. de 2007
Respostas 3
Participantes 3