public class a6{ // erweiterte Aufgabe 4+5 - Array einlesen, formatiert ausgeben, umkehren und mit Zufallszahlen fuellen sowie Maximum und Minimum Suche
	
	//Array referenzieren
	static int[]meinArray;
	
	public static void main(String a[]){

	//Menue
		int menue;
		do{
			switch (menue=Mylib.ganzeZahlLesen("Array verwalten\n==============="
				+"\n1: Array einlesen"
				+"\n2: Array umkehren"
				+"\n3: Array mit Zufallszahlen fuellen"
				+"\n4: Array mit Zufallszahlen erzeugen"
				+"\n5: Maximalwert des Arrays suchen"
				+"\n6: Minimalwert des Arrays suchen"
				+"\n7: Mittelwert des Arrays berechnen"
				+"\n8: Array ausgeben"
				+"\n9: Programm beenden"
				+"\n\nIhre Wahl?",1,9)){
					case 1: arrayLesen(); break;
					case 2: reverse(); break;
					case 3: arrayFuellen(); break;
					case 4: arrayErzeugen(); break;
					case 5: maximumSuchen(); break;
					case 6: minimumSuchen(); break;
					case 7: mittelWertBerechnen(); break;
					case 8: arrayAusgeben(); break;
					case 9: break;
				}
			}
			while (menue<9 ||!Mylib.jaNein("\nWirklich beenden?"));
	}

	public static void arrayLesen(){
		int arrayLaenge=Mylib.ganzeZahlLesen("\nWelche Laenge soll das Array haben?");
		meinArray=new int [arrayLaenge];
		Mylib.intArrayLesen(meinArray);
		System.out.println(" ");
		// Ausgabe gleich nach der Eingabe testen: 
		// Mylib.intArrayAusgeben("Eingegebene Werte", meinArray);
	}

	static void reverse(){

		int memory=0;
		int z=meinArray.length-1;
		for (int a=0; a<(meinArray.length/2);a++){
		memory=meinArray[a];
		meinArray[a]=meinArray[z];
		meinArray[z]=memory;
		z--; 
		}
		System.out.println("\nFertig! Das Array ist umgekehrt worden.");
		System.out.println(" ");
	}

	public static void arrayFuellen(){
		Mylib.fillRandomArray(meinArray);
		if (meinArray!=null) System.out.println("\nArray wurde mit Zufallszahlen gefuellt.\n");
	}
	
	public static void arrayErzeugen(){
		int arrayLaenge=Mylib.ganzeZahlLesen("\nWelche Laenge soll das Array haben");
		meinArray=Mylib.makeRandomArray(arrayLaenge);
		System.out.println("\nArray der Laenge "+arrayLaenge+" wurde erzeugt.\n");
	}	

	public static void maximumSuchen(){
		System.out.println("\nDer Maximalwert des Arrays betraegt "+Mylib.indexMaximum(meinArray)+" .\n");
	}	

	public static void minimumSuchen(){
		System.out.println("\nDer Minimalwert des Arrays betraegt "+Mylib.indexMinimum(meinArray)+" .\n");
	}
	
	public static void mittelWertBerechnen(){
		if (meinArray!=null) System.out.println("\nDer Mittelwert betraegt: "+Mylib.mittelWert(meinArray)+"\n");
	}
		
	public static void arrayAusgeben(){
		Mylib.intArrayAusgeben("Die Wasserstandsmeldungen", meinArray);
		System.out.println(" ");
	}
	
	
}
