Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

Ako nájsť duplicitné číslo v poli v Jave

Ak máte číselný rad v programe Java a obsahuje nežiaduce duplicitné hodnoty , môže byť nutné ju nájsť . Pomocou slučky štruktúr , váš kód môže iterovať cez pole , kontrola každú hodnotu , či už došlo , a umožní vám vedieť , kde je duplikát je . Vložením jednu slučku vnútri druhého , váš kód môže skontrolovať každú položku s predchádzajúcimi položkami . Dajte si jasný prehľad o procese premýšľať celú cestu , čo sa stane , keď váš kód vykoná zakaždým , keď pridáte nový riadiaci štruktúry . Pokyny dovolená 1

Vytvorte si číselný rad . Ak ešte nemáte číselný rad vo vašom programe , môžete použiť nasledujúce ukážkovej :

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

Tento riadok deklaruje a vytvorí inštanciu polia s primitívny typ celočíselné hodnoty . Ako môžete vidieť , duplicitné hodnota je číslo päť . Pripravte si dve premenné pre uloženie duplicitné číselnú hodnotu a postoj , ktorý sedí v rámci poľa :

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

inicializácia to na zápornú , budete môcť zistiť , či váš proces nájde duplicitné hodnoty v poli , alebo nie .
2

Vytvorte slučku na iterovat cez pole . Pridajte nasledujúcu štruktúru slučky osnovy do programu :

for ( int i = 1 ; i < myNums.length ; i + + ) { obsah tu //procesné }

Táto slučka bude iterovat raz každý prvok v číselnom poli . Vnútri slučky , môžete implementovať proces kontroly , porovnávanie každú položku na predchádzajúcej položky v štruktúre . Uložte aktuálnu číselnú hodnotu v lokálnej premennej vnútri vášho cyklu : int currNum = myNums [ i ] ;

Táto hodnota predstavuje celé číslo v aktuálnej polohe , kedykoľvek iterácia slučky
. 3

Vytvorte druhú slučku vnútri prvý . Pridajte nasledujúci slučky obrys po uloženie aktuálnej hodnoty v jeho premennej :

for ( int j = 0 ; j < i , j + + ) { //skontrolovať predchádzajúce hodnoty }

Vnútri tejto slučky , môžete porovnať aktuálnu hodnotu na ktoré sú uvedené v predchádzajúcich pozícií v poli . Týmto spôsobom môžete zistiť , či aktuálna hodnota je duplicitné .
4

Porovnajte aktuálne číslo na predchádzajúce hodnoty . Vnútri svojho druhého cyklu for , pridajte nasledujúce podmienený príkaz : klipart

( currNum == myNums [ j ] ) { //hodnota je duplicitné }

Ak tento test vracia hodnotu true , znamená to , že aktuálny prvok poľa sa rovná predchádzajúcej , s jeho polohy označenej na druhý počítač slučky . Vnútri podmienený príkaz if , pokyn program , čo má robiť , keď narazí na duplikát :

dupNum = currNum ; dupPos = i; break ;

kód nastaví hodnoty duplicitné čísla a jeho pozície tak , že budú dostupné , keď je slučka skončí . Žiadne ďalšie bod existuje pre pokračovanie slučky v tejto fáze , takže príkaz break sa zastaví z ďalšej iterácie .
5

vymaniť sa z prvého cyklu . Príkaz break preruší iba kód z najbližšieho okruhu . To znamená , že vonkajšia slučka bude pokračovať , aj keď ste našiel duplicitné hodnoty . Po zatváracej držiak pre premetu , pridajte nasledujúce podmienený príkaz : klipart

( dupNum > = 0 ) break ;

Ak nebol nájdený duplicitné , vonkajšie slučka bude pokračovať v realizácii . Môžete pridať nasledujúce skúšobné vyhlásenie po tom , čo váš vonkajšie slučka uzatvára :

System.out.println ( " Duplicitné číslo : " + dupNum + " , pozície " + dupPos ) ;

Ak je váš kód nie je umiestnený duplikát , obe premenné bude aj naďalej ukladať hodnoty negatívny .

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené