Pessoal,
Estou dando uma lida num arigos, matérias e tópicos respondidos daki da comunidade e talz…
Fiz alguns sisteminhas em modo texto e gráfico tbm…
Daí fiz esse aki
[quote]/* Modo gráfico */
import javax.swing.JOptionPane;
class ife{
public static void main(String[] args){
String cliRe;
int numero;
cliRe = JOptionPane.showInputDialog(
"Coloque um número para saber se é impar ou par");
numero = Integer.parseInt( cliRe );
// Fazendo um if()...
if( numero == 0 ){
JOptionPane.showMessageDialog(null,
"O numero 0 é neutro!!",
"ah, assim num vale...",
JOptionPane.INFORMATION_MESSAGE);
System.exit(0);
}
if( (numero % 2) == 0 ){
JOptionPane.showMessageDialog(null,
"O número " + numero + " é par!",
"Resultados",
JOptionPane.INFORMATION_MESSAGE);
System.exit(0);
}
if( (numero % 2) != 0){
JOptionPane.showMessageDialog(null,
"O numero " + numero + " é impar!",
"Resultados",
JOptionPane.INFORMATION_MESSAGE);
System.exit(0);
}
}
}[/quote]
Ele retorna se o numero digitado é par ou impar, ele executa legal e talz…
Mas se eu digitar 11 caracteres ele retorna isso:
[quote]C:\root\java\bin>java -cp H:\home\java\estudos\control ife
Exception in thread “main” java.lang.NumberFormatException: For input string: “1
2345678910”
at java.lang.NumberFormatException.forInputString(NumberFormatException.
java:48)
at java.lang.Integer.parseInt(Integer.java:480)
at java.lang.Integer.parseInt(Integer.java:518)
at ife.main(ife.java:12) [/quote]
Se eu digitar até 10 ele vai de boas…
O que poderá ser ?
até… 
N e erro n!
E que estoura a capacidade da variavel!!
Vc tem q usar outro tipo de variavel pra n acontecer isso com vc!
Os tipos inteiros vao de 922337203685477807 positivos ate 2147483648 negativos
Dica!!
usa a variavel de tipo long
Espero ter ajudado!
Abracao e te +
A blz…
Vlw cara pela informação …
A propósito, se o cara digitar ‘a’ no campo dá erro, pois a não é int, então teria como eu contornar esse erro e no lugar dele retornar uma mensagem gráfica(caso eu esteja usando grafico) ou texto (caso eu esteja usando texto) ?
— Editado ----
Eu mudei o int numero para long numero compilei novamente e rodei… deu na mesma…
Terei que mudar tbm a parte numero = Integer.parseInt() ? se sim, o que eu poderia colocar?
até… 
vc vai ter q mudar o Integer.parseInt() pra Long.parseLong()…
e vc pode por isso dentro de um bloco try-catch, dai se der erro vc vai poder mostrar a msg do jeito q vc quiser…
[quote=“Felipe”]vc vai ter q mudar o Integer.parseInt() pra Long.parseLong()…
e vc pode por isso dentro de um bloco try-catch, dai se der erro vc vai poder mostrar a msg do jeito q vc quiser…[/quote]
Poderia dar um exemplo de try-catch ?
até… 
Long x;
try{
x = Long.parseLong(JOptionPane.showInputDialog(null, "Digite um numero"));
}
catch (NumberFormatException erro){
System.out.println("O numero digitado eh invalido!");
}
catch (NullPointerException erro){
System.out.println("O dialogo foi cancelado!");
}
[quote=“Felipe”]
Long x;
try{
x = Long.parseLong(JOptionPane.showInputDialog(null, "Digite um numero"));
}
catch (NumberFormatException erro){
System.out.println("O numero digitado eh invalido!");
}
catch (NullPointerException erro){
System.out.println("O dialogo foi cancelado!");
}
[/quote]
Vlw…
Mas no caso ele sempre retorna o primeiro…
Se eu deixar em branco não deveria ir para o segundo ? NullPointer ?
até… 
se estiver em branco vai pro primeiro, o segundo eh se for null, ou seja, se o usuario clicar em cancelar
ah blz…
É que eu entendia Null como “vazio” em “branco”…
até… 