Pessoal, fiz uma classe para ler dois numeros do teclado e calcular o quadrado do primeiro valor pelo segundo e o cubo do segundo valor pelo primeiro. Meu codigo é o seguinte:
try{
byte primeiroNumero[] = new byte[128];
byte segundoNumero[] = new byte[128];
int calc1, calc2, NumeroUm, NumeroDois;
System.out.println("Entre com o primeiro numero: ");
System.in.read(primeiroNumero);
System.out.println("Digite o segundo numero: ");
System.in.read(segundoNumero);
//pego o valor do teclado como um string.
String c1 = new String(primeiroNumero,0);
//Converto a String para inteiro.
NumeroUm = Integer.parseInt(c1);
String c2 = new String(segundoNumero,0);
NumeroDois = Integer.parseInt(c2);
//Faço os calculos
calc1 = ((NumeroUm*NumeroUm) * NumeroDois);
calc2 = ((NumeroDois*NumeroDois*NumeroDois) * NumeroUm);
System.out.println("Quadrado do Primeiro pelo Segundo :" + calc1);
System.out.println("O cubo do segundo pelo primeiro: " + calc2);
}catch(IOException ioe){
System.out.println(ioe.toString());
ioe.printStackTrace();
}
Só que dá o seguinte erro quando coloco o segundo valor e dou enter.
java.lang.NumberFormatException: For input string: "15
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
at java.lang.Integer.parseInt(Integer.java:435)
at java.lang.Integer.parseInt(Integer.java:476)
at src.LeituraNumeros.main(LeituraNumeros.java:26)
Exception in thread “main”
Qual é o problema?
Tem alguma forma melhor de pegar esses valores diretamente do teclado como Int ou realmente eu tenho que converte?
Obrigado.