/* Interaktives Arbeitsblatt zu Feldern. (C) Konle und Zerr Beachte die Arbeitsaufträge in den Kommentaren, bitte notiert eure Ansätze/Lösungen/ Ideen ebenfalls innerhalb der Kommentarumgebung */ public class FelderInJava { // Zunächst möchten wir einige Felder initieren // Zunächst der Notenspiegel für eine wirklich benotete Englischklausur static int[] notenspiegel = {0,1,4,3,0,5,8,4,1,3,3,2,1,2,3,0}; static int[] notenspiegelMathe = new int[16]; // Mathe: 16 Felder alle auf Null; static int[] notenspiegelInfo = new int[16]; // Info: 16 Felder alle auf Null; static int anzahlsus = 20; // Die Anzahl der Schülerinnen und Schüler im Kurs. /* 1) Ordne die Bestandteile der obigen Variablenzuweisungen den Modellbegriffen: Brett, Becher, Inhalt zu. Wenn man sich gut mit Feldern auskennt, kann man natürlich schneller große Zahlenmengen manipulieren. Die Lehrer Zerr (Mathe) und Konle (Info) würfeln beispielsweise mit Javaprogrammen ihre Noten so aus, dass es der Schulleitung nicht auffällt. Für ihre Programme brauchen sie zunächst beiden die folgenden Methoden: */ static int zufallsWürfel() { return (int) (Math.random()*6 + 1); } static int zufallsNote() { return (int) (Math.random()*16); } /* Folgende Methoden dienen erstmal nur der Ausgabe in der Konsole, bitte zunächst ignorieren. In der Main geht es weiter */ static void notenspiegeldruck() { System.out.println("Notenspiegel Englischleherer |(Punkte Note)|"); for(int i=0; i < notenspiegel.length; i++) { System.out.print(i+" "+notenspiegel[i]+"|"); } System.out.println(""); System.out.println("Notenspiegel Informatikleherer |(Punkte Note)|"); for(int i=0; i < notenspiegelInfo.length; i++) { System.out.print(i+" "+notenspiegelInfo[i]+"|"); } System.out.println(""); System.out.println("Notenspiegel Matheleherer |(Punkte Note)|"); for(int i=0; i < notenspiegelMathe.length; i++) { System.out.print(i+" "+notenspiegelMathe[i]+"|");} } public static void main(String args[]) { /* ... hier gehts weiter */ System.out.println(notenspiegel[4]); /* 3) Prüfe, welche Zahl ausgegeben wird. Gib die Zahl an, die sich hinter notenspiegel[7] verbirgt. 4) Erkläre, warum notenspiegelMathe[7] den Wert 0 hat. */ System.out.println(notenspiegel.length); /* Jedes Feld, hat ein Attribut vom Typ INT mit dem Namen length. 5) Untersuche was notenspiegel.length bedeutet. Was kann man tun, damit dieser Wert 6 ist. */ for(int i=0; i < 10; i++) { System.out.print(i+" "+notenspiegel[i]); } /* Obige Schleife soll alle Noten in die Konsole schreiben, was leider nicht richtig funktioniert. 6) Berichtige die for Schleife, sodass alle Noten ausgegben werden */ /* Nun geht es darum herauszufinden, ob die gewürfelten Noten von Herrn Konle oder von Herrn Zerr der Schulleitung weniger auffällig sind. 7) Erkläre in eigenen Worten, welche Werte die Methoden zufallsWürfel() und zufallNote() zurückgeben. */ System.out.println(); // Zeilenumbruch // Das ist das Notenwürfelprogramm von Herrn Konle for(int i=0; i < anzahlsus; i++) { int note = zufallsWürfel() + zufallsWürfel()+zufallsWürfel() - 3; notenspiegelInfo[note]++; } // Das ist das Notenwürfelprogramm von Herrn Zerr for(int i=0; i < anzahlsus; i++) { int note = zufallsNote(); notenspiegelMathe[note]++; } /* 8) Beschreibe die Betrügerein in eigenen Worten. TIPP: Teste die Programme: Bitte lösche // vor dem Methodenaufruf von notenspiegeldruck(); Dann werden Dir die Notenspiegel Englisch/ Mathe und Info angezeigt. Begründe welcher Lehrer am besten betrogen hat, sodass die Schulleitung nichts merkt. */ // notenspiegeldruck(); /* Zusatz: 9) Bestimme den Notenschnitt 10) Wie lassen sich Nachschreibener hinzufügen? */ } }