Hallo liebe Java-Spezialisten. Ich habe eine Aufgabe und komme leider nicht weiter. Ich hoffe mir kann jemand, nach Möglichkeit vielleicht sogar heute Abend noch ne Hilfe liefern.
Also die Aufgabe ist folgende:
Gegeben sei ein eindimensionales Integer-Array. Ein "Plateau" ist eine Sequenz von aufeinanderfolgenden gleichen Werten eines Arrays, so dass VOR und NACH dieser Seqenz die Feldelemente kleinere Werte enthalten.
Beispiel:
int a[]= {2,5,5,5,4,4,3,2,4,2,3,3};
In diesem Fall besitzt das Array "a" 3 Plateaus:
-Ein Plateau mit den Werten 5 an der Position 1 mit der Länge 3
-Ein Plateau mit dem Wert 4 an der Position 8 mit der Länge 1
-Ein Plateau mit den Werten 3 an der Position 10 mit der Länge 2
Das Plateau mit den Werten 5 an der Position 1 ist also das längste Plateau in diesem Array.
SCHREIBEN SIE EIN PROGRAMM WELCHES DIE POSITION UND DIE LÄNGE DES LÄNGSTEN IINTEGER-ARRAYS AUSGIBT. HIERBEI KANN DAS ARRAY DAS UNTERSUCHT WERDEN SOLL IM PROGRAMM DEKLARIERT UND INITIALISIERT WERDEN.
Hier mein bisheriger Text:
public class Plateau {
public static void main (String[]args){
int[]a = new int[10];
a[0] = 2;
a[1] = 5;
a[2] = 5;
a[3] = 5;
a[4] = 4;
a[5] = 4;
a[6] = 3;
a[7] = 2;
a[8] = 3;
a[9] = 3;
for (int i=0;i<a.length;i++){
System.out.println("Wert a[' +i+ '] = "+a[i]);
}
}
}
Also das Initialisiern und Deklarieren ist ja im Prinzip kein Problem. Ich denke das habe ich ja richtig gemacht. Mein Problem ist, wie schaffe ich es dass nur das längste Plateau ausgegeben wird. Ich hatte überlegt dass man das doch vllt mit einer For-Schleife und einer If-Abfrage lösen könnte. In der man dann fragt ist "i" größer als der nächste Wert usw... Aber wie man dann noch als Bedingung setzt das der vorheriger und nachfolgender Wert kleiner sein muss hab ich leider keine Idee : /
HAT DA JEMAND EINE IDEE???? Für Hilfe wäre ich sehr dankbar!