programmation java

Telechargé par merveille mbiada
Dr. Jens Kohlmeyer Einführung in die Informatik I SoSe 2023
Dr. Markus Maucher Blatt 08
Abgabe bis: 21.06.2023 - 16:00 Uhr Besprechung in den Tutorien vom 22.06.2023 bis 28.06.2023
Lernziele
Mit eindimensionalen Arrays arbeiten können.
Halten Sie weiterhin die Code-Richtlinien ein (Datei CodeConventions.pdf im Moodle).
Die Abgabe erfolgt über das übliche Archiv mit den entsprechenden .java-Dateien.
Aufgabe 1 Arrays mit primitiven Datentypen 3 + 1 + 4 + 5 + 5 + 5 + 2 = 25 Punkte
Im Moodle finden Sie die Datei ArrayUtil.java, diese enthält Methodenrümpfe und Testfälle für die folgenden
Teilaufgaben. Manche Methoden enthalten bereits eine Fehlerbehandlung für leere Arrays.
a) Implementieren Sie die Methode sum(double[] array), welche alle Werte des Arrays array addiert und
die Summe als double zurückgibt. Bei einem leeren Array soll 0zurückgegeben werden.
b) Implementieren Sie die Methode avg(double[] array), welche den Durchschnitt aller Werte berechnet.
Hinweis: Der Durchschnitt berechnet sich aus der Summe der Werte dividiert durch die Anzahl der Werte.
c) Implementieren Sie die Methoden max(double[] array) und min(double[] array), welche den größten
(kleinsten) Wert des Arrays array bestimmen und zurückgeben sollen.
d) Implementieren Sie die Methode var(double[] array), welche die Stichprobenvarianz der übergebenen
Werte berechnet.
Hinweis: Die Stichprobenvarianz s2einer Stichprobe x1, . . . , xnkann wie folgt berechnet werden:
s2=1
n1
n
X
i=1
(xix)2.
xist dabei der Durchschnitt der Werte x1, . . . , xn. Für n= 1 ist die Stichprobenvarianz (entgegen obiger
Formel) gleich 0.
e) Implementieren Sie die Methode sort(double[] array), welche die Werte im Array array mit dem fol-
genden Algorithmus absteigend sortiert.
Seien a0, . . . , an1die Werte eines Arrays der Länge n. Für jedes i∈ {0, . . . , n 2}betrachte alle aj
mit j∈ {i+ 1, . . . , n 1}und vergleiche aiund aj. Falls ai< ajvertausche aiund ajund fahre fort.
f) Warum besitzt die vorherige Methode den Rückgabetyp void, funktioniert jedoch „trotzdem“? Begründen
Sie und bedenken Sie dabei, dass es sich bei Arrays um Objekte handelt.
g) Implementieren Sie die Methode isSortedDesc(double[] array), welche entscheidet ob das übergebene
Array absteigend sortiert ist und das Ergebnis als boolean zurückgibt.
1 / 2
Aufgabe 2 Vermischte Aufgaben zu Arrays 3 + 7 + 5 + 5 + 5 = 25 Punkte
Im Moodle finden Sie die Datei ArrayMixed.java, diese enthält Methodenrümpfe und Testfälle für die folgenden
Teilaufgaben. Beachten Sie Randfälle und kommentieren Sie deren Sonderbehandlung.
Sie dürfen bei der Implementierung die Methoden indexOf,lastIndexOf,length und substring der Klasse
String verwenden1.
a) Implementieren Sie die Methode
public static String join(String delim, String[] array)
welche die im Array array gespeicherten Werte, getrennt durch delim, zu einem String konkateniert. Die
Methode join(...) aus String darf dabei nicht verwendet werden.
Beispiel: join(";" ,new String[]{"A" ,"B" ,"Horst" }) "A;B;Horst"
b) Implementieren Sie die Methode
public static String[] split(String delim, String str)
welche den String str an den Vorkommen von delim auftrennt und ein Array aus den dadurch entstandenen
Teilstrings zurückgibt. Die Methode split(...) aus String darf dabei nicht verwendet werden.
Beispiel: join("-" , split(";" ,"A;B;Horst" )) "A-B-Horst"
c) Implementieren Sie die Methode
public static void sortByLength(String[] array)
welche die im Array array enthaltenen Strings aufsteigend nach deren Länge sortiert.
Beispiel: sortByLength(new String[]{"Abc" ,"D" ,"Ef" }) Index: 0 1 2
Werte: "D" "Ef" "Abc"
d) Implementieren Sie die Methode
public static void sortByOcc(char c, String[] array)
welche die im Array array enthaltenen Strings aufsteigend nach Anzahl der Vorkommen des Charakters c
sortiert.
Beispiel: sortByOcc('A',new String[]{"AAAAA" ,"Aaaaaa" ,"AHA!" })
Index: 0 1 2
Werte: "Aaaaaa" "AHA" "AAAAA"
e) Implementieren Sie die Methode
public static String joinReverse(String delim, String str)
welche den String str an den Vorkommen von delim auftrennt und danach in umgekehrter Reihenfolge
wieder zusammenfügt.
Beispiel: joinReverse(" " ,"Das Wetter ist schön." )"schön. ist Wetter Das"
1https://docs.oracle.com/javase/8/docs/api/java/lang/String.html
2 / 2
1 / 2 100%

programmation java

Telechargé par merveille mbiada
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !