[RESOLVIDO]Resolver Bug em programa de soma

4 respostas Resolvido
java
D

Preciso de uma ajuda por favor.
Fiz um exercício de faculdade onde criava uma interface para soma, porém existe um Bug nele, onde ao adicionar números + space ele não calcula.

public static void main(String[] args) {

//Obtem a Entrada de Usuário

  String primeiroValor = JOptionPane.showInputDialog("Entre com primeiro valor" );

  String segundoVALOR = JOptionPane.showInputDialog("Entre com segundo valor" );
     //converte String e valores int para utilização em um cálculo

  int valor1 = Integer.parseInt(primeiroValor );

  int valor2 = Integer.parseInt(segundoVALOR );
  
  //soma dos valores
  int soma = valor1 + valor2;
  
  //display result in a JOptionPane message dialog

  JOptionPane.showMessageDialog(null," A soma é "+ soma, "Calculadora soma", 
          JOptionPane.INFORMATION_MESSAGE);
error: Exception in thread main java.lang.NumberFormatException: For input string: "10 "

at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)

at java.lang.Integer.parseInt(Integer.java:580)

at java.lang.Integer.parseInt(Integer.java:615)

at meusgui.Soma.main(Soma.java:13)

4 Respostas

B

ao usarInteger.parseInt ele vai tentar converter uma string para numero e não vai conseguir por causa do espaço e vai retornar um .NumberFormatException, resta saber pq vc pôe o espaço?

D

Coloco espaço por que esse é o desafio, caso o usuário ao usar no programa colocar espaço o programa tem que funcionar da mesma forma, porém não consigo.

Eu etendi que Integer faz essa converção, mas como fazer funcionar , String+String não calcula, concatena…
Estou pesquisando…

M
Solucao aceita

A classe String tem um método chamado trim, esse método remove os espaços em branco

String valor1= "985 ";
int valor2 =  Integer.parseInt(valor1.trim());
System.out.println(valor2);//Saida 985
D

Perfeito!
Obrigado, aproveitei para estudar mais a classe String.

Criado 20 de maio de 2018
Ultima resposta 21 de mai. de 2018
Respostas 4
Participantes 3