Alguém pode me dar uma luz?
for (counter = 0; counter <argumentos.length; counter++){
double result = 0;
if (argumentos[counter].contains("/")){
String temp[] = argumentos[counter].split("/");
result = (double) Integer.parseInt(temp[0]) / (double) Integer.parseInt(temp[1]);
argumentos[counter] = Double.toString(result);
System.out.println("Valor1: "+temp[0] + " Valor 2: "+temp[1]);
}
}
O exercicio é fazer uma calculadora polonesa reversa.
Eu to passando o argumentos[] pelo String[] args do main.
So que antes de fazer as devidas operacoes eu preciso procurar por argumentos fracionários (quem contem “/”), separa-los, dividi-los e ai jogar no argumentos[] para dar sequencia.
O problema é que ta dando excecao de array
( NA LINHA que contem: result = (double) Integer.parseInt(temp[0]) / (double) Integer.parseInt(temp[1]); )
e nao consigo enxergar o porque uma vez que temp[0] e temp[1] TEM conteudo, tanto que eu testei imprimindo esses valores. O split funciona, as conversoes funcionam e o resultado é exibido. Porem quando o for que eu fiz para argumentos[] continua, ele da a exception de array, como se ele tivesse iterando pelos valores de temp[] e dai estourando.
Argumentos: 1 1/2 + 4 - 6/2 * 9 /
Saída:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 0
at Calculadora.CalculadoraPolonesa.calculos(CalculadoraPolonesa.java:47)
at Calculadora.CalculadoraTeste.main(CalculadoraTeste.java:13)
Valor1: 1 Valor 2: 2
Valor1: 6 Valor 2: 2
Agradeço desde já…