vamos supor que eu tenha varios numeros para a minha condição . como faria ?. supondo que eu tenha : int a = 5 ; int b = 9 ; int c= 12 ; int d = 32 ;… qual a melhor solução para que ele print “passou” so quando fosse igual a um destes numeros e caso nao seja igual a um destes numeros ele imprima “Reprovou”.
A logica é a seguinte : o utilizador coloca um numero na JTextField e pessiona o botao para imprimir no println se o numero digitado pelo usuario for um deste entao ele imprimie uma coisa, caso o numero digitado nao seja um destes ele imprime outra coisa.
Primeiro o teu codigo nao ta certo.. o metodo getText() nao retorna um inteiro e sim uma String! Entao comeca por ai o teu problema...depois, nao se compara inteiro usando somente um = e sim dois ==.
o uso do ||, significa uma condição OR ou OU. assim como && significa uma condição AND ou E.
outra forma de se implementar:
Stringi=JTextField.getText();inta=Integer.parseInt(i);if(a==10){// inicio IF 1System.out.println("passou");}else{// fim IF 1 e inicio ELSE 1if(a==5){// inicio IF 2System.out.println("passou");}else{// fim IF 2 e inicio ELSE 2if(a==9){// inicio IF 3System.out.println("passou");}else{// fim IF 3 e inicio ELSE 3System.out.println("Reprovou");}//fim ELSE 3}//fim ELSE 2}//fim ELSE 1}
Certo.. acho que é essa a idéia!!!
A
alan_fritschPJ
Outra solução possível seria usar o switch:
switch (i) {
case 5:
case 9:
case 12:
case 32: {
System.out.println("passou");
break;
}
default: System.out.println("Reprovou");
}
Onde para qualquer um dos valores de “i” contidos no domínio do conjunto “{5, 9, 12, 32}” teria-se como resultado o “passou”.
Para qualquer outro valor diferente deste seria o “reprovou”.