Programmiervorkurs WS 2014 Referenzdatentypen

Slides:



Advertisements
Ähnliche Präsentationen
der Universität Oldenburg
Advertisements

Objektorientierte Programmierung
Imperative Programmierung
der Universität Oldenburg
Imperative Programmierung
der Universität Oldenburg
DVG Einfache Klassen Einfache Klassen. DVG Einfache Klassen 2 Strukturen Beispiel: Personendaten bestehen aus –String name –String vorname.
Zusammenfassung der Vorwoche
PKJ 2005/1 Stefan Dissmann Vorwoche - Klasse public class Studierende { private String name, vorname, studiengang; private int matNr, semester; private.
der Universität Oldenburg
3 Sprachelemente und Anweisungen JavaHS Merseburg (FH) WS 06/07 Strings (Zeichenketten)
Java: Objektorientierte Programmierung
Java: Dynamische Datentypen
Listen Richard Göbel.
Indirekte Adressierung
FH-Hof Verwaltung von Zeichenketten Richard Göbel.
Java: Grundlagen der Sprache
Java: Referenzen und Zeichenketten
Java: Grundlagen der Objektorientierung
Klassenvariable. Da man für jede Kuh bzw. jede Henne auf dem Markt den gleichen Preis für ein Liter Milch, bzw. den gleichen Preis für ein Ei bekommt,
Konstruktoren.
Objekte werden als Adressen (Referenzen) übergeben. Dies führt manchmal zu unerwarteten Ergebnissen...
WHILE - Anweisung. Aufgabe : Ausgabe aller ganzen Zahlen von 0 bis 100 auf dem Bildschirm.
Polymorphie (Vielgestaltigkeit)
Polymorphie (Vielgestaltigkeit)
Objekte und Arbeitsspeicher
V AdresseWert public static void main(...){ int[] v; v=new int[2]; } Was veranlasst diese Anweisung im Arbeitsspeicher ? Es wird im Arbeitsspeicher.
FOR Anweisung. Aufgabe : Ausgabe aller ganzen Zahlen von 0 bis 100 auf dem Bildschirm.
Dynamischer Speicher. In einer Funktion wird z.B. mit der Deklaration int i; Speicher auf dem sogenannten Stack reserviert. Wenn die Funktion verlassen.
DO...WHILE Anweisung.
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 3 Klassen, Objekte, Arrays und Kontrollstrukturen Sommersemester 2003 Lars Bernard.
Einführung in die Programmierung mit Java
Java-Kurs - 2. Übung Entwicklungsumgebung Struktur von Programmen
Java-Kurs - 7. Übung Besprechung der Hausaufgabe Referenzvariablen
Programmieren mit JAVA
PKJ 2005/1 Stefan Dissmann Ausblick Es fehlen noch: Möglichkeiten zum Strukturieren größerer Programme Umgang mit variabler Zahl von Elementen Umgang mit.
PKJ 2005/1 Stefan Dissmann Rückblick auf 2005 Was zuletzt in 2005 vorgestellt wurde: Klassen mit Attributen, Methoden und Konstruktoren Referenzen auf.
PKJ 2005/1 Stefan Dissmann Zusammenfassung Vorwoche Programm besteht aus mehreren Bestandteilen: Schlüsselwörter Sonderzeichen Bezeichner Kommentare Texte.
PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher im Kurs erarbeitete Konzepte(1): Umgang mit einfachen Datentypen Umgang mit Feldern Umgang mit Referenzen.
PKJ 2005/1 Stefan Dissmann Zusammenfassung der Vorwoche Variable stehen für (einen) Wert, der sich im Programmablauf ändern kann. Variablen besitzen einen.
Zusammenfassung Vorwoche
PKJ 2005/1 Stefan Dissmann Zusammenfassung Vorwoche Methoden sind mit einem Namen versehene Programmabschnitte besitzen Rückgabetyp, Namen, Parameterliste.
DVG Einführung in Java1 Einführung in JAVA.
DVG Klassen und Objekte
DVG Einfache Klassen 1 Einfache Klassen. 2DVG Einfache KlassenStrukturen Beispiel: Personendaten bestehen aus String name String name.
Java in 9 Folien Besser: Online-Buch Go to Java 2.
Bestimmung des ggT zweier Zahlen
Seite 1 Interface - Konzept Ein Interface führt einen neuen Datentyp ein: interface Frau {... } Das Interface enthält Deklarationen ( keine Definitionen.
Java programmieren mit JavaKara
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
Wir üben die Malsätzchen
Objektorientiertes Konstruieren
Variablenkonzept Klassisch, in Java Basistyp
Die Klasse String und ihre Methoden
CuP - Java Neunte Vorlesung Entspricht Kapitel 4.2 und 5 des Skriptums
CuP - Java Vierte Vorlesung Entspricht ungefähr Kapitel 2.1 des Skriptums Montag, 14. Oktober 2002.
CuP - Java Sechste Vorlesung Entspricht ungefähr Kapitel 3. 1 – 3
Programmiervorkurs WS 2014/15 Methoden
Programmiervorkurs WS 2014/15 Schleifen
Programmiervorkurs WS 2014/15 Instanzmethoden
CuP - Java Achte Vorlesung Entspricht ungefähr Kapitel 4.1 des Skriptums Montag, 28. Oktober 2002.
3. Beschreibung von Abläufen durch Algorithmen 3.4 Zufall
Übersicht Nachtrag zu Ausdrücken
Java-Kurs - 3. Übung Hausaufgabe Arrays For-Schleifen.
A Workshop About this chapter General description Units Time Schedule
Java-Kurs Übung Besprechung der Hausaufgabe
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer, Dr. Gerhard Gröger Einführung in die Programmierung mit Java 5. Vorlesung WS 2002/2003.
Java Programme nur ein bisschen objektorientiert.
Java-Kurs Übung Klassen und Objekte: Vererbung (Fortsetzung)
Arrays in Java Ein Array ist eine Variable, die aus einer An-zahl von Elementen des gleichen Datentyps besteht, die aufeinanderfolgend im Speicher liegen.
 Präsentation transkript:

Programmiervorkurs WS 2014 Referenzdatentypen Termin 4

Felder Ein umstaendlicher Kalender public class Kalender { public static void main(String[] args) { //Eingabe: Scanner sc = new Scanner(System.in); System.out.println("Ihr Termin am Mo um 0 Uhr:"); String mo00uhr = sc.next(); System.out.println("Ihr Termin am Mo um 1 Uhr:"); String mo01uhr = sc.next(); System.out.println("Ihr Termin am Mo um 2 Uhr:"); String mo02uhr = sc.next(); // usw. //Ausgabe: System.out.println("Mo 0 Uhr: " + mo00uhr); System.out.println("Mo 1 Uhr: " + mo01uhr); System.out.println("Mo 2 Uhr: " + mo02uhr); // usw. }

Felder Ein Kalender mit einem Feld public class Kalender { public static void main(String[] args) { //Eingabe: Scanner sc = new Scanner(System.in); String[] mo = new String[24]; for (int i = 0; i < mo.length; i++) { System.out.println("Ihr Termin am Mo um " + i + " Uhr:"); mo[i] = sc.next(); } //Ausgabe: System.out.println("Mo " + i + " Uhr: " + mo[i]);

Felder Ein Kalender mit einem Feld mo[0] mo[1] mo[2] Vorlesung Seminar Zahnarzt Ein Kalender mit einem Feld mo[1] mo[2] String[] mo = new String[24]; Ein Feld mit Platz für 24 Zeichenketten: Größe des Feldes legt neues Feld im Speicher an Bezeichner des Feldes Kennzeichen für Feld Typ der Daten, die im Feld gespeichert werden mo[23]

Felder Ein Kalender mit einem Feld public class Kalender { public static void main(String[] args) { //Eingabe: Scanner sc = new Scanner(System.in); String[] mo = new String[24]; for (int i = 0; i < mo.length; i++) { System.out.println("Ihr Termin am Mo um " + i + " Uhr:"); mo[i] = sc.next(); } //Ausgabe: System.out.println("Mo " + i + " Uhr: " + mo[i]);

Felder Ein Kalender mit einem Feld mo[i] = sc.next(); System.out.println("Mo " + i + " Uhr: " + mo[i]);

Felder Ein Kalender mit einem Feld mo[i] = sc.next(); System.out.println("Mo " + i + " Uhr: " + mo[i]); Zugriff auf Zelle mit Index i des Feldes mo... ...zum Schreiben: ...und zum Lesen:

Felder Ein Kalender mit einem Feld mo[i] = sc.next(); System.out.println("Mo " + i + " Uhr: " + mo[i]); Zugriff auf Zelle mit Index i des Feldes mo... ...zum Schreiben: ...und zum Lesen: Achtung: die erste Zelle hat Index 0.

Felder Ein Kalender mit einem Feld for (int i = 0; i < mo.length; i++) { System.out.println("Ihr Termin am Mo um " + i + " Uhr:"); mo[i] = sc.next(); } //Ausgabe: System.out.println("Mo " + i + " Uhr: " + mo[i]); Iteration über Zellen des Feldes mo: Anzahl der Zellen

Felder Vektorrechnung public class Vektorsumme { public static void main(String[] args) { double[] a = new double[3]; a[0] = 1.0; a[1] = 2.0; a[2] = 1.5; double[] b = new double[3]; b[0] = 3.5; b[1] = 1.0; b[2] = 2.5; double[] c = new double[3]; //Vektorsumme: for (int i = 0; i < c.length; i++) c[i] = a[i] + b[i]; //Ausgabe: for (int i = 0; i < c.length; i++) System.out.println(c[i]); }

Felder Vektorrechnung Felder lassen sich für alle Datentypen erzeugen! public class Vektorsumme { public static void main(String[] args) { double[] a = new double[3]; a[0] = 1.0; a[1] = 2.0; a[2] = 1.5; double[] b = new double[3]; b[0] = 3.5; b[1] = 1.0; b[2] = 2.5; double[] c = new double[3]; //Vektorsumme: for (int i = 0; i < c.length; i++) c[i] = a[i] + b[i]; //Ausgabe: for (int i = 0; i < c.length; i++) System.out.println(c[i]); } Felder lassen sich für alle Datentypen erzeugen!

Felder Vektorrechnung public class Vektorsumme { public static void main(String[] args) { double[] a = new double[3]; a[0] = 1.0; a[1] = 2.0; a[2] = 1.5; double[] b = new double[3]; b[0] = 3.5; b[1] = 1.0; b[2] = 2.5; double[] c = new double[3]; //Vektorsumme: for (int i = 0; i < c.length; i++) c[i] = a[i] + b[i]; //Ausgabe: for (int i = 0; i < c.length; i++) System.out.println(c[i]); }

Felder Vektorrechnung kompaktere Initialisierung public class Vektorsumme { public static void main(String[] args) { double[] a = {1.0, 2.0, 1.5}; double[] b = {3.5, 1.0, 2.5}; double[] c = new double[3]; //Vektorsumme: for (int i = 0; i < c.length; i++) c[i] = a[i] + b[i]; //Ausgabe: for (int i = 0; i < c.length; i++) System.out.println(c[i]); } kompaktere Initialisierung

Felder Referenzen Ausgabe? public class Doppel { public static void main(String[] args) { int i = 3; //eine Ganzzahl i mit Wert 3 int j = i; //eine Ganzzahl j; j wird Wert von i zugewiesen j = 2 * j; //Wert von j wird verdoppelt //Ausgabe: System.out.println("Der Wert von i ist: " + i); System.out.println("Der Wert von j ist: " + j); } Ausgabe?

Felder Referenzen Ausgabe: i behält also seinen ursprünglichen Wert. public class Doppel { public static void main(String[] args) { int i = 3; //eine Ganzzahl i mit Wert 3 int j = i; //eine Ganzzahl j; j wird Wert von i zugewiesen j = 2 * j; //Wert von j wird verdoppelt //Ausgabe: System.out.println("Der Wert von i ist: " + i); System.out.println("Der Wert von j ist: " + j); } Ausgabe: Der Wert von i ist: 3 Der Wert von j ist: 6 i behält also seinen ursprünglichen Wert.

Felder Referenzen Ausgabe? public class Doppel { public static void main(String[] args) { int[] i = {3}; //ein int-Feld i mit einer Zelle; i[0] = 3 int[] j = i; //ein int-Feld j, dem i zugewiesen wird j[0] = 2 * j[0]; //Wert von j[0] wird verdoppelt //Ausgabe: System.out.println("Der Wert von i[0] ist: " + i[0]); System.out.println("Der Wert von j[0] ist: " + j[0]); } Ausgabe?

Felder Referenzen Ausgabe: i[0] hat sich verändert! Warum? public class Doppel { public static void main(String[] args) { int[] i = {3}; //ein int-Feld i mit einer Zelle; i[0] = 3 int[] j = i; //ein int-Feld j, dem i zugewiesen wird j[0] = 2 * j[0]; //Wert von j[0] wird verdoppelt //Ausgabe: System.out.println("Der Wert von i[0] ist: " + i[0]); System.out.println("Der Wert von j[0] ist: " + j[0]); } Ausgabe: Der Wert von i[0] ist: 6 Der Wert von j[0] ist: 6 i[0] hat sich verändert! Warum?

i Felder 3 Referenzen i ist eine Referenzvariable: zeigt auf int[] i = {3}; int[] j = i; j[0] = 2 * j[0]; zeigt auf i 3

i j Felder 3 Referenzen zeigt auf int[] i = {3}; int[] j = i; j[0] = 2 * j[0]; zeigt auf i 3 j

i j Felder 3 Referenzen j zeigt auf dasselbe Feld wie i. int[] i = {3}; int[] j = i; j[0] = 2 * j[0]; zeigt auf i 3 j j zeigt auf dasselbe Feld wie i. Es wird keine Kopie des Feldes erzeugt!

i j Felder 6 Referenzen j[0] wird verdoppelt. int[] i = {3}; int[] j = i; j[0] = 2 * j[0]; zeigt auf i 6 j j[0] wird verdoppelt. Damit wird auch i[0] verdoppelt. Also: Der Wert von i[0] ist: 6 Der Wert von j[0] ist: 6

Felder Referenzen Ausgabe? public class Doppel { public static void main(String[] args) { int[] i = {3}; //ein int-Feld i mit einer Zelle; i[0] = 3 int[] j = i; //ein int-Feld j, dem i zugewiesen wird j[0] = 2 * j[0]; //Wert von j[0] wird verdoppelt //Ausgabe: System.out.println(i); System.out.println(j); } Ausgabe?

Felder Referenzen [I@1e5e2c3 Ausgabe: gibt Adresse im Speicher an public class Doppel { public static void main(String[] args) { int[] i = {3}; //ein int-Feld i mit einer Zelle; i[0] = 3 int[] j = i; //ein int-Feld j, dem i zugewiesen wird j[0] = 2 * j[0]; //Wert von j[0] wird verdoppelt //Ausgabe: System.out.println(i); System.out.println(j); } Ausgabe: [I@1e5e2c3 gibt Adresse im Speicher an

Mehrdimensionale Felder Die Einmaleins-Matrix: 1 2 3 4 5 6 7 8 9 10 2 4 6 8 10 12 14 16 18 20 3 6 9 12 15 18 21 24 27 30 4 8 12 16 20 24 28 32 36 40 5 10 15 20 25 30 35 40 45 50 6 12 18 24 30 36 42 48 54 60 7 14 21 28 35 42 49 56 63 70 8 16 24 32 40 48 56 64 72 80 9 18 27 36 45 54 63 72 81 90 10 20 30 40 50 60 70 80 90 100

Mehrdimensionale Felder public class Einmaleins { public static void main(String[] args) { //Berechnung der Einmaleins-Matrix: int[][] p = new int[10][10]; // Feld mit Zahlenprodukten for (int z = 0; z < 10; z++) { // Zeilen for (int s = 0; s < 10; s++) { // Spalten p[z][s] = (z + 1) * (s + 1); } //Ausgabe eines Produktes (ohne Neuberechnung!) int x = 5; int y = 8; System.out.println(x + " * " + y + " = " + p[x - 1][y - 1]);

Mehrdimensionale Felder int[][] p = new int[10][10]; zweite Dimension (Anzahl Spalten) erste Dimension (Anzahl Zeilen) ein Feld mit zwei Dimensionen

Mehrdimensionale Felder public class Einmaleins { public static void main(String[] args) { //Berechnung der Einmaleins-Matrix: int[][] p = new int[10][10]; // Feld mit Zahlenprodukten for (int z = 0; z < 10; z++) { // Zeilen for (int s = 0; s < 10; s++) { // Spalten p[z][s] = (z + 1) * (s + 1); } //Ausgabe eines Produktes (ohne Neuberechnung!) int x = 5; int y = 8; System.out.println(x + " * " + y + " = " + p[x - 1][y - 1]);

Mehrdimensionale Felder public class Einmaleins { public static void main(String[] args) { int[][] p = new int[10][10]; for (int z = 0; z < 10; z++) { for (int s = 0; s < 10; s++) { p[z][s] = (z + 1) * (s + 1); } int x = 5; int y = 8; System.out.println(x + " * " + y + " = " + p[x - 1][y - 1]); Achtung: Umrechnung erforderlich! Einmaleins beginnt mit 1 Feldindex beginnt mit 0

Mehrdimensionale Felder public class Einmaleins { public static void main(String[] args) { int[][] p = new int[10][10]; for (int z = 0; z < 10; z++) { for (int s = 0; s < 10; s++) { p[z][s] = (z + 1) * (s + 1); } int x = 5; int y = 8; System.out.println(x + " * " + y + " = " + p[x - 1][y - 1]); Achtung: Umrechnung erforderlich! Einmaleins beginnt mit 1 Feldindex beginnt mit 0

Mehrdimensionale Felder public class Feld { public static void main(String[] args) { int[][] x = new int[3][]; x[0] = new int[2]; x[1] = new int[1]; x[2] = new int[1]; x[0][0] = x[1][0] = 2; x[2][0] = x[0][1] = 1; //Ausgabe: for (int z = 0; z < x.length; z++) { for (int s = 0; s < x[z].length; s++) { System.out.print(x[z][s] + "\t"); } System.out.print("\n");

Mehrdimensionale Felder public class Feld { public static void main(String[] args) { int[][] x = new int[3][]; x[0] = new int[2]; x[1] = new int[1]; x[2] = new int[1]; x[0][0] = x[1][0] = 2; x[2][0] = x[0][1] = 1; zweite Dimension noch offen x x[0] x[1] x[2]

Mehrdimensionale Felder public class Feld { public static void main(String[] args) { int[][] x = new int[3][]; x[0] = new int[2]; x[1] = new int[1]; x[2] = new int[1]; x[0][0] = x[1][0] = 2; x[2][0] = x[0][1] = 1; jede Zelle ist selbst ein 1-D-Feld (Felder dürfen verschiedene Längen haben) x x[0] x[1] x[2]

Mehrdimensionale Felder public class Feld { public static void main(String[] args) { int[][] x = new int[3][]; x[0] = new int[2]; x[1] = new int[1]; x[2] = new int[1]; x[0][0] = x[1][0] = 2; x[2][0] = x[0][1] = 1; 2 1 x x[0] 2 x[1] x[2] 1

Klassen Eine Klasse definiert gemeinsame Eigenschaften einer Menge von Objekten. Jedes Objekt ist Instanz einer Klasse. Klasse Objekt

Klassen Eine Klasse definiert gemeinsame Eigenschaften einer Menge von Objekten. Jedes Objekt ist Instanz einer Klasse. Attribute sind Datenelemente, die in jedem Objekt einer Klasse gleichermaßen enthalten sind und von jedem Objekt mit individuellen Werten repräsentiert werden können.

Klassen Eine Klasse definiert gemeinsame Eigenschaften einer Menge von Objekten. Jedes Objekt ist Instanz einer Klasse. Attribute sind Datenelemente, die in jedem Objekt einer Klasse gleichermaßen enthalten sind und von jedem Objekt mit individuellen Werten repräsentiert werden können. Beispiel: public class Adresse { public String str; //der Strassenname public int plz; //die Postleitzahl public String ort; //der Ortsname }

Klassen Bezeichner der Klasse Beispiel: (Konvention: Beginn mit Großbuchstabe) Beispiel: public class Adresse { public String str; public int plz; public String ort; }

Klassen Beispiel: Attribute Datentyp Bezeichner public class Adresse { public String str; public int plz; public String ort; } Attribute Datentyp Bezeichner

Klassen muss in Datei Adresse.java gespeichert werden! Beispiel: public class Adresse { public String str; public int plz; public String ort; } muss in Datei Adresse.java gespeichert werden!

Klassen public class Adressbuch { public static void main(String[] args) { Adresse a = new Adresse(); a.str = "Am Hubland"; a.plz = 97074; a.ort = "Wuerzburg"; System.out.print(a.str + ", " + a.plz + " " + a.ort); } public class Adresse { public String str; public int plz; public String ort; }

Klassen public class Adressbuch { public static void main(String[] args) { //Instantiierung: Adresse a = new Adresse(); a.str = "Am Hubland"; a.plz = 97074; a.ort = "Wuerzburg"; System.out.print(a.str + ", " + a.plz + " " + a.ort); } public class Adresse { public String str; public int plz; public String ort; }

Klassen public class Adressbuch { public static void main(String[] args) { //Instantiierung: Adresse a = new Adresse(); //Setze Attributwerte: a.str = "Am Hubland"; a.plz = 97074; a.ort = "Wuerzburg"; System.out.print(a.str + ", " + a.plz + " " + a.ort); } public class Adresse { public String str; public int plz; public String ort; }

Klassen public class Adressbuch { public static void main(String[] args) { //Instantiierung: Adresse a = new Adresse(); //Setze Attributwerte: a.str = "Am Hubland"; a.plz = 97074; a.ort = "Wuerzburg"; //Ausgabe System.out.print(a.str + ", " + a.plz + " " + a.ort); } public class Adresse { public String str; public int plz; public String ort; }

Klassen public class Adressbuch { public static void main(String[] args) { Adresse a = new Adresse(); a.str = "Am Hubland"; a.plz = 97074; a.ort = "Wuerzburg"; Adresse b = a; b.ort = "Nuernberg"; System.out.println(a.str + ", " + a.plz + " " + a.ort); System.out.println(b.str + ", " + b.plz + " " + b.ort); }

a Klassen Klassenschablone legt neue Karteikarte an: Adresse a = new Adresse(); a.str = "Am Hubland"; a.plz = 97074; a.ort = "Wuerzburg"; Adresse b = a; b.ort = "Nuernberg"; System.out.println(a.str + ", " + a.plz + " " + a.ort); System.out.println(b.str + ", " + b.plz + " " + b.ort); Klassenschablone legt neue Karteikarte an: a str plz ort

a Klassen Karteikarte wird ausgefuellt: Adresse a = new Adresse(); a.str = "Am Hubland"; a.plz = 97074; a.ort = "Wuerzburg"; Adresse b = a; b.ort = "Nuernberg"; System.out.println(a.str + ", " + a.plz + " " + a.ort); System.out.println(b.str + ", " + b.plz + " " + b.ort); Karteikarte wird ausgefuellt: a str Am Hubland plz 97074 ort Wuerzburg

a b Klassen b zeigt auf dieselbe Instanz wie a: Adresse a = new Adresse(); a.str = "Am Hubland"; a.plz = 97074; a.ort = "Wuerzburg"; Adresse b = a; b.ort = "Nuernberg"; System.out.println(a.str + ", " + a.plz + " " + a.ort); System.out.println(b.str + ", " + b.plz + " " + b.ort); b zeigt auf dieselbe Instanz wie a: a str Am Hubland plz 97074 b ort Wuerzburg

a b Klassen aktualisiere b.ort und damit auch a.ort Adresse a = new Adresse(); a.str = "Am Hubland"; a.plz = 97074; a.ort = "Wuerzburg"; Adresse b = a; b.ort = "Nuernberg"; System.out.println(a.str + ", " + a.plz + " " + a.ort); System.out.println(b.str + ", " + b.plz + " " + b.ort); aktualisiere b.ort und damit auch a.ort a str Am Hubland plz 97074 b ort Nuernberg

a b Klassen Ausgabe: Am Hubland, 97074 Nuernberg Adresse a = new Adresse(); a.str = "Am Hubland"; a.plz = 97074; a.ort = "Wuerzburg"; Adresse b = a; b.ort = "Nuernberg"; System.out.println(a.str + ", " + a.plz + " " + a.ort); System.out.println(b.str + ", " + b.plz + " " + b.ort); a str Am Hubland plz 97074 b ort Nuernberg Ausgabe: Am Hubland, 97074 Nuernberg

Felder und Klassen sind Referenzdatentypen! Zusammenfassung Felder und Klassen sind Referenzdatentypen!

Aufgabe Erstellt ein Programm, das zunächst ein Feld vom Typ int mit n Feldern zufällig mit Zahlen zwischen 0 und 100 füllt (verwendet zum Erzeugen der Zahlen folgenden Ausdruck: (int)(Math.random() * 101)) dieses Feld anschließend sortiert und ausgibt (Felder können in Java automatisch mithilfe der Methode Arrays.sort(int[] a) sortiert werden.) schließlich folgende Dinge bestimmt und ausgibt: den Mittelwert, den Median, das Minimum und das Maximum der Werte im Feld alle Werte die mindestens doppelt vorkommen die am häufigsten vorkommende Zahl

Aufgabe Erstellt eine Klasse AutoQuartettKarte, die die Attribute Name, Länge, Hubraum, Leistung und Höchstgeschwindigkeit besitzt. Erzeugt 2 Instanzen der Klasse mit beliebigen Werten und vergleicht diese in Bezug auf ein Attribut eurer Wahl. Gebt den Namen der besseren Karte aus.

Aufgabe ZUSATZ: Erstellt ein Programm, das alle Primzahlen im Intervall 1 bis 100 ermittelt und ausgibt. Das Programm soll das Sieb des Eratosthenes implementieren: In einem Feld mit 100 Zellen entspricht jede Zelle einer Zahl. Es werden alle Zellen markiert, deren Zahl ein Vielfaches von 2, 3, 4,… ist. Die Zahlen der nicht markierten Zellen werden ausgeben. Hinweis: Versucht euch zunächst auf einem Blatt Papier manuell an dem Algorithmus!