Duvida cruel em uma comparação de variáveis

8 respostas
arthurgon

Olá gente;

Minha dúvida é a seguinte...tenho alguns valores guardados dentro de um array...mas a minha próxima missão é comparar esse array de inteiros com outra variável "int". Se forem iguais e libero acesso a determinado botão, senão eu desabilito.
Minha dúvida e na comparação. Como faço isso? Um array com um int.

Eis o código:
//Aqui é onde guardo os valores///
                          int[] valorPrincipal ={1,2,3,4,5,6}; 
			        
                              //Aqui é onde gostaria de substituir os numeros pelo array acima
				if (i == 0 ||i == 1 || i == 2 || i == 3 || i == 4 || i == 5 || i == 6) {
					

                                      btnMenu[i].setEnabled(true);

			       } else {
					btnMenu[i].setEnabled(false);
				}

Se alguem souber...eu agradeço.

Valeu.

8 Respostas

M

Criei esta solução. Agora se e é a melhor não sei:

ArrayList<Integer> numeros = new ArrayList<Integer>(); numeros.add(1); numeros.add(2); numeros.add(3); numeros.add(4); numeros.add(5); int i = 0; if(numeros.contains(i)) { System.out.println("Existe na ArrayList!"); } else { System.out.println("Isso non ecsiste!"); }

igor_felix

Você tem um número, e quer saber se esse número se encontra dentro daquele array, para a partir daí, liberar ou não o botão??? é isso??? entendi???

V

Cara, você pode usar o FOR para isso…

vamos a um exemplo…

boolean isEquals = false; //definindo uma variável local para indicar se o número do array é igual ao tal inteiro que vc quer comparar

for (int y = 0; y < valorPrincipal.length; y++) { //Criando um for para navegar por todo o array
    if (valorPrincipal[y] == i) { //verificando se o valor corrente do array, baseado no índice especificado pela variável "y" é igual ao numero fixo "i"
        isEquals = true;
        break; // que encontramos o número igual, então, podemos parar o for
    }
}

//Verificando se o número igual foi encontrado
if (isEquals) {
    btMenu[i].setEnabled(true);
} else {
    btMenu[i].setEnabled(false);
}

Espero ter ajudado…

drcelo

A solução do Marcio é boa pode usar eu trabalho de forma semelhante. :smiley:

Diego_Lemos

Caraca Marcio, fica bem mais limpo o código desta forma, um viva para a função contains()

Uma dúvida, existe alguma formar de “medirmos” a performance das duas soluções e saber qual tem o melhor desempenho através de algum IDE?

arthurgon

Valeu Marcio…ficou muito bom.

Obrigado meu amigo.

rissato

colocar numa List (ao invés de array) e usar o método constains é a melhor solução pra mim…

arthurgon

Gente…complicou. Entendi errado. Preciso buscar os valores de acordo com a posição em uma List.
Esses valores estão em um arquivo.Properties. Daí sim…validar o acesso a determinado botão de acordo com a posição do numero no properties.
Ex: principal = 1,2,3,4
Ainda por cima terei de usar Split. Alguem sabe como me ajudar? Tbm to vendo se acho exemplos por aqui.

Criado 5 de setembro de 2008
Ultima resposta 5 de set. de 2008
Respostas 8
Participantes 7