Dator
 |  Startsida |  Hårdvara |  Nätverk |  Programmering |  Programvara |  Felsökning |  System |   
Programmering
  • C /C + + -programmering
  • Computer Programspråk
  • Delphi Programmering
  • Java Programming
  • JavaScript programmering
  • PHP /MySQL Programmering
  • perl Programmering
  • python Programming
  • Ruby programmering
  • Visual Basics Programmering
  • * Dator Kunskap >> Programmering >> Java Programming >> Content

    Hur hittar man de duplicerade nummer i en array i Java

    Om du har en numerisk array i ett Java -program och det innehåller en oönskad dubbla värde , kanske du behöver hitta den . Använda slingstrukturer , kan din kod iterera igenom din array , kontrollera varje värde för att se om det redan har inträffat och att du vet var den dubbla är . Genom att bädda en loop inuti en annan , kan din kod kontrollera varje punkt mot tidigare poster . Ge dig själv ett tydligt grepp om den process genom att tänka hela vägen igenom vad som ska hända när koden körs varje gång du lägger till en ny kontroll struktur . Instruktioner
    1

    Skapa din numerisk array . Om du inte redan har ett antal array i ditt program , kan du använda följande exempel :

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

    raden deklarerar och exemplifierar en array med primitiva värden typ heltal . Som ni kan se , är det dubbla värdet på nummer fem . Förbered två variabler för att lagra den duplicerade numerärt värde och det läge den sitter i arrayen :

    int dupNum = -1, int dupPos = -1 ,

    Genom att initiera dessa till negativ , du kommer att kunna berätta om din process finner en dubblett värde i arrayen eller inte .
    2

    Skapa en slinga för att iterera igenom din array . Lägg följande struktur loop disposition till ditt program :

    for (int i = 1 ; i < myNums.length , i + + ) { //process innehåll här }

    Denna slinga kommer iterera gång för varje element i din numerisk array . Inne i loopen , kan du genomföra kontroll processen , jämföra varje post till föregående objekt i strukturen . Lagra nuvarande antal värde i en lokal variabel inuti din loop : . Int currNum = myNums [ i] ;

    Detta värde representerar heltalet vid den aktuella positionen när slingan itererar
    3

    Skapa en andra slinga inuti den första. Lägg följande slinga disposition när du lagrar det aktuella värdet i sin variabel :

    for (int j = 0 ; j < i; j + + ) { //kolla tidigare värden }

    Inuti denna loop , du kan jämföra det aktuella värdet på de som förekommer vid tidigare positioner i arrayen . Detta sätt kan du berätta om det aktuella värdet är en dubblett .
    4

    Jämför det aktuella numret till tidigare värden . Inuti din andra for-loop , tillsätt följande villkorlig uttalande :

    om ( currNum == myNums [ j ] ) { //värdet är en dubblett }
    p Om detta test ger ett äkta värde , betyder det att den nuvarande arrayelementet är lika med en tidigare en , med sin position som anges av den andra slingan räknaren . Inuti den villkorliga if , instruera programmet vad man ska göra när den stöter på en dubblett :

    dupNum = currNum , dupPos = i; break;

    koduppsättningarna värdena för duplicerade antal och sin position , så att de kommer att vara tillgängliga när slingan avslutas . Ingen ytterligare punkt existerar för att fortsätta med slingan i detta skede , så att break stoppar det från iteration vidare .
    5

    Bryt ut den första slingan . Den break bryter bara din kod ut från närmaste slingan . Detta innebär att den yttre slingan kommer att fortsätta även när du har hittat det dubbla värdet . Efter den sista som monteras på insidan slingan , tillsätt följande villkorlig uttalande :

    om ( dupNum > = 0 ) break;

    Om duplikat har inte hittats , kommer den yttre loopen fortsätta körningen . Du kan lägga till följande test uttalande efter din yttre slingan stänger :

    System.out.println ( " Dubblerad nummer : " + dupNum + " , läge : " + dupPos ) ;

    Om koden inte har hittat en dubblett , kommer båda variablerna fortfarande lagra värden för negativ .

    Tidigare:

    nästa:
    relaterade artiklar
    ·Konvertera Prime Numbers till Alphabet koden i Java
    ·Java Substring funktion
    ·The Round metod i Java
    ·Hur läser jag Stream Java
    ·Konvertera Java tecken från gemener till versaler
    ·Hur att fästa en Running Java Process
    ·Hur konvertera HTML till text i Java
    ·Hur man använder CLOB i Java
    ·Varför webbdesigners använder Java Applets i webbsido…
    ·Konvertera JSP till Java
    Utvalda artiklarna
    ·Beskrivning av VB6 Project Files
    ·Hur man beräknar de långdistans telefonen från en CS…
    ·Hur man gör en anpassningsbar webbplats
    ·Hur man visar en aritmetisk operator i en fråga
    ·Hur man gör strängsammanfogning i Python
    ·Hur man tolka en ArrayCollection
    ·Hur att hoppa i ActionScript
    ·Hur man avgör jämna nummer från Odd Numbers Använda…
    ·Hur Swap 8 - Byte big endian i Python
    ·Hur man skapar en array av löpnummer i Ruby
    Copyright © Dator Kunskap http://www.dator.xyz