gesucht ist das Maxiumum eines Arrays

  • Ich bin blutiger Beginner. Daher seid bitte gnädig mit mir =)


    Angabe:


    Hier ist mein aktueller Code:


    Ich habe folgendes Problem:
    Ich möchte über die Main Methode die max Methode aufrufen allerdings habe ich keine Ahnung wie ich das hinbekomme. =(


    ich hätte jetzt einfach mal auf


    Zitat

    werte.berechneMax(int[] werte);


    getippt allerdings klappt das so nicht...
    bin für jeden eurer Tipps dankbar.


    lg

  • Der Aufruf sollte eher so aussehen (so gut das am handy jetzt klappt) :
    Beispiel bsp = new Beispiel() ;
    bsp.berechneMax(werte);


    Tipp bezüglich der konkaven Funktion: sobald der aktuelle Wert kleiner als der vorherige ist, kann beendet werden (da die Funktion ab diesem Zeitpunkt nur noch fallend sein sollte). Dann kannst du dir auch das existierende If sparen, da der vorherige Wert sicher >= alle Vorgänger ist.

  • Danke für deine Tipps auf ersten hätte ich auch selbst draufkommen müssen.
    Stand da wohl ziemlich auf der Leitung.


    zu deinem Tipp bezüglich der konkaven Zahlen hätte ich nur als Lösung eine else break Anweisung hinzugefügt. somit wird die Schleife abgebrochen sobald eine niedrigere Zahl entdeckt wird. wie ich das ganze jedoch ohne die if-Schleife schaffe weiß ich leider nicht. Wie würde dein Lösungsansatz aussehen?


    hier mein Code:


  • Ich meinte eh nicht, dass du das "if" ganz loswerden wirst können, sondern nur das obenstehende (und stattdessen das if für das break hinzufügen).
    Kommt aber jetzt mit der Lösung aufs Selbe.


    Andere Variante wäre sich das "max" zu sparen, werte[i] mit werte[i+1] zu vergleichen (entsprechend loop boundaries beachten) und dann einfach direkt return werte[i].
    Aber das sind dann Spielereien :)