If com multiplas opções

6 respostas
Algebra

como faço um if em que i pode ser igual à 2 ou 3 ou 12 ou 13
assim não dá certo.

alguem pode me ajudar?

if (i==[2|3|12|13]){

6 Respostas

zoren

É assim

no java existem operadores para serem utilizados com vários tipos de comandos

alguns deles são:

&& - e
|| - ou

exemplos:

if (1==1 && 2==2) {
      System.out.println("uma mensagem");
} 

if (idade < 10 || idade > 20 ) {
      System.out.println("Testando");
}

seguindo essa estrutura, vc pode fazer vários deles em um if ou em laços de repetição

acho que vc consegue seguir sozinho agora

B

Algebra:
como faço um if em que i pode ser igual à 2 ou 3 ou 12 ou 13
assim não dá certo.

alguem pode me ajudar?

if (i==[2|3|12|13]){

Infelizmente você precisa repetir cada checagem:

if ( i== 2 || i== 3 || i == 12 || i == 13)

Outra opção é fazer um array e pesquisar nele. É uma boa se tiver um conjunto bem grande.

// no cabeçalho da classe
import java.util.Arrays;

// .... declaração da classe, métodos, blah blah ...

int[] valores = {2, 3, 12, 13};

if (Arrays.binarySearch(valores, i) >= 0)
  // achou
Algebra

como funciona o Arrays.binarySearch:

Arrays.binarySearch(x,y)

oque é x?
e oque é y?
e qual retorno?

B

http://java.sun.com/javase/6/docs/api/java/util/Arrays.html#binarySearch(int[],%20int)

recebe um array de int (ordenado do menor p/ o maior) e o int a ser procurado

retorna a posição do elemento caso o encontre, ou o ( -(ponto de inserção) -1 ), onde ponto de inserção é o índice em que ele inseriria o int no array. Se fosse inserir na posição zero, retornaria -1, na posição 10, retonaria -11, e assim em diante.

Tenha em mente que, diferente de Delphi, os elementos nos arrays vão da posição 0 até tamanho - 1.

Algebra

Oks vlw Bruno.

edmarr

Não Esqueça de editar o Título adicionando a tag [RESOLVIDO] no final do Título , Depois tirar suas duvidas.

Criado 3 de setembro de 2009
Ultima resposta 4 de set. de 2009
Respostas 6
Participantes 4