Ajuda com intervalo (in)

5 respostas
G

Boa tarde,

Estou com um probleminha para fazer comparações, no Delphi eu utilizava if variavel in ['0'..'9',',',#8] then para verificar se a variável está em um intervalo, mas, não estou conseguindo fazer esse intervalo. Existe formas de fazer essa comparação sem for?

5 Respostas

drsmachado

Dentro do java não existe nenhuma estrutura semelhante.
Acredito que o mais próximo seja o switch/case

switch(var){
case 0:
case 1:
case 2:
return 1;
case 3:
case 4:
case 5:
return 2;
case 6:
case 7:
case 8:
default: 
return 0;
}

O problema é se os intervalos forem dinâmicos, aí, então, só com laço de repetição.

}

G

Bem nesse caso acho melhor continuar com a função que fiz mesmo por que ficaria bem difícil de fazer algo tipo [0…255], mas, você sabe como se utiliza o in?

J

Não se entendi direito mas, vc poderia fazer assim:

List<Integer> intervalo = new ArrayList<Integer>();
		[code]intervalo.add(1);
		intervalo.add(2);
		intervalo.add(3);
		
		Integer valor = 2;
		
		System.out.println(intervalo.contains(valor)==true?"Existe no intervalor.":"Não existe no intervalo.");
G

Sim, realmente é bem diferente delphi e java, no delphi se eu quero fazer um campo receber apenas números eu faço if (key in [‘0’…‘9’,’,’,#8]) número de 0 a 9, virgula e backspace, no java tive que fazer umas gambi e vi que existe um in mas não sei pra que serve.

J

Java é uma linguagem fortemente tipada man. :wink:

Criado 17 de março de 2012
Ultima resposta 17 de mar. de 2012
Respostas 5
Participantes 3