[RESOLVIDO]Resolver Bug em programa de soma

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)

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?

1 curtida

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…

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
1 curtida

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