Boa tarde!
Estamos aprendendo tratamento de exceções (Try-catch, throws) e o professor passou um exercício de fixação com o seguinte enunciado: Altere o programa a seguir para avisar o usuário que uma das variáveis foi digitada incorretamente, informando qual foi.
package exerciciosjava;
import javax.swing.JOptionPane;
public class exercicio2_excecao {
public static void main(String[] args) {
n1 = Integer.parseInt(JOptionPane.showInputDialog(null, "Digite um número inteiro: "));
n2 = Integer.parseInt(JOptionPane.showInputDialog(null, "Digite outro número inteiro: "));
JOptionPane.showMessageDialog(null, "A soma dos dois números é: " + (n1 + n2));
}
}
Eu fiz as seguintes alterações, mas acredito não estar atendendo corretamente o solicitado e entendo também que há uma forma mais enxuta de fazer isso, usando throws. Já pesquisei e não encontro uma lógica adequada para realizar a tarefa:
package exerciciosjava;
import javax.swing.JOptionPane;
public class exercicio2_excecao {
public static void main(String[] args) {
int n1 = 0;
int n2 = 0;
try {
n1 = Integer.parseInt(JOptionPane.showInputDialog(null, "Digite um número inteiro: "));
} catch (NumberFormatException ex) {
JOptionPane.showMessageDialog(null, "O primeiro número foi digitado incorretamente!");
}
try {
n2 = Integer.parseInt(JOptionPane.showInputDialog(null, "Digite outro número inteiro: "));
} catch (NumberFormatException e) {
JOptionPane.showMessageDialog(null, "O segundo número foi digitado incorretamente!");
}
if (n1 > 0 && n2 > 0) {
JOptionPane.showMessageDialog(null, "A soma dos dois números é: " + (n1 + n2));
} else {
JOptionPane.showMessageDialog(null, "Não é possível realizar a soma");
}
}
}
Agradeço a atenção.
Tiago Gregório.
.
) , portanto se você entrar com números negativos isso não é um erro - ou seja, não dá para validar comparando com zero.