längstes tuple

regtan

Aktives Mitglied
Hallo, ich muss Implementieren die Methode int searchMaxtuples(Random r, int[] numbers) und dieser Methode wird bereits ein Random-Objekt übergeben.Array wird mit Zufallszahlen zwischen 1 und 6 vom übergebenen Random-Objekt befüllt.Als nächstes soll meine Implementierung in dem befüllten Array die längste Sequenz gleicher, aufeinanderfolgender Zahlen ermitteln und anschließend zurückgeben. Ich hab mein Code geschrieben aber irgendwas geht nicht. Hat jemand eine Idee??
Code:
public static int searchMaxtuples(Random r, int[] numbers) {
     
     int oberGrenze = 6;
     int pairCount = 0;
     int max = 0;
   
     for (int i = 0 ; i<numbers.length - 1; i++){
       numbers[i] = (r.nextInt(oberGrenze)+1);
       int leftInt = numbers[i];
       int rightInt = numbers[i+1];
       
        if(leftInt == rightInt){
          pairCount++;
       
          if(pairCount>max){
         max = pairCount;
        }
      }
     }
     return max;
   }
 

regtan

Aktives Mitglied
ja int pairCount = 0; sollte int pairCount = 1 ; hab ich versehentlich geändert. Meinst du ich sollte eine andere for schleife schreiben oder hab ich falsch verstanden?
 

Meniskusschaden

Top Contributor
Die Schleife kann grundsätzlich so bleiben, du musst nur die Abfragen so organisieren, dass beispielsweise das erste und zweite Element erst beim zweiten Durchlauf verglichen werden. Im Moment geschieht es bereits beim ersten Durchlauf, also vor Generierung der zweiten Zufallszahl. Dein Vergleich kommt also immer etwas zu früh, so dass du immer eine der Zahlen von eins bis sechs mit null vergleichst, was natürlich nie zutrifft.
 
Zuletzt bearbeitet:

bilo

Neues Mitglied
Ich verstehe nicht ganz was dir die max-Variable bringt. Wenn du diese gleich der pairCount setzt, solltest du doch normalerweise die Anzahl aller gleichen Zahlen zurückbekommen und nicht nur eine Sequenz. Oder verstehe ich da was falsch?
 

Ähnliche Java Themen

Neue Themen


Oben