Programação  
 
Conhecimento computador >> Programação >> Programação em Java >> 
Como encontrar o número duplicado em uma matriz no Java
Se você tiver uma matriz numérica em um programa Java e contém um valor duplicado indesejada , pode ser necessário para encontrá-lo . Usando estruturas de loop , o código pode percorrer a sua matriz, verificação de cada valor para ver se ele já ocorreu e deixá-lo saber onde a duplicata é . Ao incorporar um loop dentro de outro , seu código pode verificar cada item contra itens anteriores. Dê-se uma compreensão clara do processo , pensando todo o tempo o que vai acontecer quando o código é executado cada vez que você adicionar uma nova estrutura de controle. Instruções
1

Criar sua matriz numérica. Se você ainda não tem uma matriz número em seu programa, você pode usar o seguinte exemplo :

int [ ] = { myNums 3, 5, 1 , 6, 5 , 8, 7 };

Esta linha declara e instancia um array com valores inteiros do tipo primitivo. Como você pode ver , o valor duplicado é o número cinco. Prepare duas variáveis ​​para armazenar o valor do número duplicado e a posição que fica no dentro da matriz :

int dupNum = -1; int dupPos = -1;

por inicializar -los para um negativo , você será capaz de dizer se o seu processo encontra um valor duplicado na matriz ou não.
2

Crie um loop para percorrer a matriz . Adicione a seguinte estrutura hierárquica loop para seu programa:

for (int i = 1; i < myNums.length ; i + +) { conteúdo //processo aqui }

Este loop irá iterar uma vez para cada elemento em sua matriz numérica. Dentro do loop , você pode implementar o processo de verificação , comparando cada item para os itens anteriores da estrutura. Armazenar o valor atual número em uma variável local dentro de seu loop: int currNum = myNums [i] ;

Este valor representa o inteiro na posição atual sempre que o loop itera
. 3

Crie um segundo loop dentro do primeiro. Adicione o seguinte esboço de loop depois de armazenar o valor atual em sua variável :

for (int j = 0; j < i, j + +) { //verifica valores anteriores }

Dentro deste ciclo , você pode comparar o valor atual para aqueles que aparecem em posições anteriores na matriz. Desta forma, você pode dizer se o valor atual é uma duplicata.
4

Compare o número atual para os valores anteriores . Dentro de seu segundo loop for , adicione a seguinte instrução condicional:

if ( currNum == myNums [j] ) {//o valor é duplicado }

Se este teste retorna um valor verdadeiro , isso significa que o elemento de matriz de corrente é igual ao anterior , com a sua posição indicada pelo segundo contador de ciclo . Dentro da condicional if, instruir o programa o que fazer quando encontra uma duplicata :

dupNum = currNum ; dupPos = i; break;

O código define os valores do número duplicado e a sua posição , de modo que eles estarão acessíveis quando o ciclo termina . No outro ponto existe para continuar com o ciclo nesta fase , então a instrução break impede de iteração mais.
5

sair do primeiro loop. A instrução break só quebra o código para fora do circuito mais próximo. Isto significa que o loop externo continuará mesmo depois de ter encontrado o valor duplicado. Após o colchete de fechamento para o loop dentro, adicione a seguinte instrução condicional:

if ( dupNum > = 0) break;

Se a duplicata não foi encontrado, o loop externo continuará executando . Você pode adicionar a seguinte declaração após o seu teste de loop externo fecha:

System.out.println (" número duplicado :" + dupNum + " , a posição :" + dupPos );

Se o seu código não foi localizado uma duplicata , ambas as variáveis ​​ainda será armazenar valores de uma negativa.

Anterior :

Próximo : No
  Os artigos relacionados
·Como atualizar o TableModel de outro segmento 
·O que é hospedagem múltipla Anfitrião em Java 
·Ferramentas gráficas para Java 
·Códigos Java Pop -up 
·Como liberar um Android Emulator entrada Tampão 
·Como fazer um proxy em Java 
·NetBeans e do Oracle Tutorial 
·Como Chegar variáveis ​​macro em variáveis ​​Java 
·Métodos anotados em Java 
·Como fazer um catálogo de endereços no NetBeans 
  Artigos em destaque
·Como limpar tela antes de um novo loop em um CPP 
·Como formatar um DataGrid vinculado Campo 
·Como configurar o DMZ no SonicWALL 
·Como instalar o Dolphin Just Host 
·Como fazer um baralho de cartas no NetBeans Usando Arra…
·Como fazer um contador no ActionScript 
·Como Chegar Rato X & Y em ActionScript3 
·COBOL Fatos 
·Como encontrar SAS Formação 
·Como faço para escrever um programa de conversão de t…
Cop e direita © Conhecimento computador http://ptcomputador.com Todos os Direitos Reservados