If else

2 respostas
L

Boas galera,

Para criar uma condição com um valor é facil, seria apenas :
int i = JTextField.getText() ;

if ( i = 10 ){

System.out.println(passou);

}else

{System.out.println(Reprovou);

}

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.

Aguardo ajuda.

2 Respostas

F

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 ==.

depois o IF, tem duas formas de se implementar:

String i = JTextField.getText() ;
 int a = Integer.parseInt(i);

if ( (a == 10) || (a == 5) || (a == 9) ) {
  System.out.println("passou");
} else {
  System.out.println("Reprovou");
}

o uso do ||, significa uma condição OR ou OU. assim como && significa uma condição AND ou E.

outra forma de se implementar:
String i = JTextField.getText() ;
 int a = Integer.parseInt(i);

if ( a == 10 ) { // inicio IF 1
  System.out.println("passou");
} else { // fim IF 1 e inicio ELSE 1
  if ( a == 5 ) { // inicio IF 2
    System.out.println("passou");
  } else { // fim IF 2 e inicio ELSE 2
    if ( a == 9 ) { // inicio IF 3
      System.out.println("passou");
    } else { // fim IF 3 e inicio ELSE 3
      System.out.println("Reprovou");
    } //fim ELSE 3
  } //fim ELSE 2
} //fim ELSE 1
}

Certo.. acho que é essa a idéia!!!

A

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”.

Att,
Alan

Criado 25 de abril de 2006
Ultima resposta 25 de abr. de 2006
Respostas 2
Participantes 3