FB18 - Das Forum für Informatik

fb18.de / Diplom Informatik / Unterbereich Grundstudium / Praktische Informatik

P3 Blatt2 Aufgabe2

P3 Blatt2 Aufgabe2 2003-11-03 14:04
Graogramar
Hi Folks.

Ich habe eine generelle Frage zur Aufgabenstellung in Aufgabe 2.

Wir sollen ja die Sortieralgorithmen implementieren. Unsere Methoden haben die Form (nach Interface ISorting)

sortAlgorithm(Object[] objects)

erwarten also nur ein Array von Objekten. Nun sollen wir im Test einmal nach BeginOfStudiesComperator und einmal mit MatrikelComperator sortieren.

Woher "weiß" denn die Sortiermethode, welchen wir jetzt haben wollen, oder soll noch ein Parameter übergeben werden, z.B.

sortAlgorithm(Object[] objects, int compareMethod)

Dankeschön

Re: P3 Blatt2 Aufgabe2 2003-11-03 15:28
Fred
Nun sollen wir im Test einmal nach BeginOfStudiesComperator und einmal mit MatrikelComperator sortieren.
Ich verstehe es so, dass primär nach Studienbeginn sortiert werden soll, und sekundär nach Matrikelnummer. Also nur wenn zwei Studien gleichzeitig angefangen haben, sollen diese nach Matrikelnummer sortiert werden.

Re: P3 Blatt2 Aufgabe2 2003-11-03 20:18
UncleOwen
Dann macht aber die Tatsache, dass man ein Object[] und kein Student[] uebergeben bekommt keinen Sinn. Wir haben (um das Interface nicht zu verletzen) den Comparator im Konstruktor der Sortierklasse uebergeben.

Btw: @author Author ist nicht wirklich sinnvoll, oder? In P2 wusste man wenigstens immer, wer die kranken Vorlagen verbrochen hat…

Re: P3 Blatt2 Aufgabe2 2003-11-03 22:29
UncleOwen
<rant>

for (int i = 0; (in != null) && (line = in.readLine()) != null && (line.length() > 0) && i < num; i++)

Erde an VSIS, Erde an VSIS, wir schreiben JAVA und nicht C!

Achja, und Umlaute in Javadoc-Kommentare funktionierten auch noch nie…

</rant>

So, jetzt gehts mir wieder besser [img]http://www.fb18.de/gfx/15.gif[/img]

Re: P3 Blatt2 Aufgabe2 2003-11-03 22:39
Slater
da musst du noch viel lernen um hier hin zu kommen ;)
http://commsy.wisspro.de/2001ws/projekt/discussion/body.php?PHPSESSID=
8279cf2cfcbb4cf62ada9f60683a3a1c&cid=2001ws000015&ID=1515&forumID=
67&PHPSESSID=8279cf2cfcbb4cf62ada9f60683a3a1c

Re: P3 Blatt2 Aufgabe2 2003-11-03 22:44
UncleOwen
hehe

Re: P3 Blatt2 Aufgabe2 2003-11-04 01:10
MoKrates
for (int i = 0; (in != null) && (line = in.readLine()) != null && (line.length() > 0) && i < num; i++)

Erde an VSIS, Erde an VSIS, wir schreiben JAVA und nicht C!

Hm? *aufwach* Wieso? Ist doch wunderschoener Code… Ich denke nicht, dass man Java fuer eine Sandkastenversion von C halten sollte.

Naja, ich bevorzuge ja "++i" anstelle von "i++", aber ansonsten, gerne :)

MoKrates

Re: P3 Blatt2 Aufgabe2 2003-11-04 02:04
TriPhoenix
Hm? *aufwach* Wieso? Ist doch wunderschoener Code…
Naja, wenn man ein bisschen drin geübt ist schon, aber für ne Uni imho genau das Gegenteil von dem was üblich ist [img]http://www.fb18.de/gfx/28.gif[/img]

Ich denke nicht, dass man Java fuer eine Sandkastenversion von C halten sollte.

Und ich dachte immer, die Sandbox wäre eines der Kernkonzepte von Java-Applets [img]http://www.fb18.de/gfx/24.gif[/img]

SCRN
Tri"Zeit für schlechte Witze"Phoenix [img]http://www.fb18.de/gfx/22.gif[/img]

Re: P3 Blatt2 Aufgabe2 2003-11-04 13:34
tekai
Achja, und Umlaute in Javadoc-Kommentare funktionierten auch noch nie…

Huh? Wieso gehts dann bei mir? Java arbeitet doch mit UTF-8 oder nicht.

Re: P3 Blatt2 Aufgabe2 2003-11-04 15:38
UncleOwen
Achja, und Umlaute in Javadoc-Kommentare funktionierten auch noch nie…

Huh? Wieso gehts dann bei mir? Java arbeitet doch mit UTF-8 oder nicht.

Aber der von Javadoc erzeugte HTML-Code nicht.

Re: P3 Blatt2 Aufgabe2 2003-11-04 17:38
tekai
Aha, Ich weiß nicht welches Java du benutzt aber mein Java (1.4.2, Linux, SUN) produziert UTF-8 HTML. Nur steht das im HTML Code nicht drinne, weshalb ich mit moz immer erst UTF-8 auswählen muß.

Re: P3 Blatt2 Aufgabe2 2003-11-04 17:43
UncleOwen
Nur steht das im HTML Code nicht drinne,

QED.

Re: P3 Blatt2 Aufgabe2 2003-11-04 17:52
tekai
Was dann aber nicht funktioniert ist die Texterkennung des Browsers und nicht JavaDoc oder Java. Also klappt das schon mit Umlauten in JavaDoc Kommentaren.

Re: P3 Blatt2 Aufgabe2 2003-11-04 17:53
UncleOwen
Was soll der Browser da erkennen? Wenn etwas nicht als UTF-8 deklariert ist, dann ist es kein UTF-8.

Re: P3 Blatt2 Aufgabe2 2003-11-04 18:22
tekai
was ist es dann? windows-1252 oder was? Sorry aber ich muß nicht explizit sagen welchen Zeichensatz ein Text verwendet, und die HTML Spezifikation sagt auch nicht "Wenn keiner angegeben ist dann ist es ISO-8859-1", lediglich im HTTP Protokoll ist ISO-8859-1 als Standardwert empfohlen. Aber das spielt bei mir keine Rolle da ich die Doku direkt von meiner Festplatte lese.

Zudem frage ich mich wieso ich bei UTF-8 Text angeben muß das es UTF-8 Text ist, das ist zwar besser, aber ich würde mich doch sehr wundern wenn es ohne ohne das kein UTF-8 ist. Schließlich beschreibt UTF-8 lediglich wie Bytes geschrieben und interpretiert werden sollen.

Re: P3 Blatt2 Aufgabe2 2003-11-04 18:33
UncleOwen
Sorry aber ich muß nicht explizit sagen welchen Zeichensatz ein Text verwendet, und die HTML Spezifikation sagt auch nicht "Wenn keiner angegeben ist dann ist es ISO-8859-1", lediglich im HTTP Protokoll ist ISO-8859-1 als Standardwert empfohlen.

Tatsache. Habs gerade nachgelesen, Du hast recht. HTML verweist auf ISO/IEC 10646-1:1993, was im Prinzip Unicode ist. Hmpf, warum steht dann in so gut wie jedem Dokument ueber HTML, dass man Umlaute maskieren muss? Hiermit ziehe ich in dem Punkt alles zurueck und behaupte das Gegenteil. Und naechstes Mal schlag ich VORHER nach!

Zudem frage ich mich wieso ich bei UTF-8 Text angeben muß das es UTF-8 Text ist, das ist zwar besser, aber ich würde mich doch sehr wundern wenn es ohne ohne das kein UTF-8 ist. Schließlich beschreibt UTF-8 lediglich wie Bytes geschrieben und interpretiert werden sollen.

Ich mags halt nicht, wenn der Browser muntere Ratespielchen veranstalten darf…

Re: P3 Blatt2 Aufgabe2 2003-11-04 18:37
tekai
Hmpf, warum steht dann in so gut wie jedem Dokument ueber HTML, dass man Umlaute maskieren muss?

Weil nicht jeder browser etwas anderes als iso-8859-1 interpretieren kann, aber meist schon mit &bla; maskierte Zeichen darstellen kann. Außerdem werden die Dinger in jedem Zeichensatz richtig dargestellt wenn der Browser den Standard soweit richtig unterstützt.

Re: P3 Blatt2 Aufgabe2 2003-11-05 22:48
Anonymer User
ihr scheint ja ganzschoen viel Zeit zu haben :)

uhm, wir sollen also zwei Klassen haben, die ISorting implementieren, und zwar eine per QuickSort und eine per verbessertem bubble-sort. richtig?

wie geht denn quicksort? ne url würde mir ja schon reichen!

danke!

Re: P3 Blatt2 Aufgabe2 2003-11-05 22:56
UncleOwen
http://www.google.de/search?q=quicksort+java

Ist das so schwer? [img]http://www.fb18.de/gfx/13.gif[/img]

Re: P3 Blatt2 Aufgabe2 2003-11-05 23:06
low_level
Naja, ich bevorzuge ja "++i" anstelle von "i++", aber ansonsten, gerne :)

Erklär mal bitte, warum.

[ ] "++i ist schneller als i++" (Quelle: unbekannt)
[ ] sieht schöner aus
[ ] da steht der Operator vor dem Operand
[ ] …

low_level

Re: P3 Blatt2 Aufgabe2 2003-11-07 14:23
Anonymer User
der einzige unterschied zwischen x++ und ++x, sofern ich mich recht entsinne, entsteht bei zuweisungen. denn bei

a = x++ wird x erst a zugewiesen, dann inkrementiert, bei

a = ++x wird x erst inkrementiert, dann zu a zugewiesen. Also ein wichtiger Unterschied. Ansonsten ist es glaubich voellig lachs wie rum man das schreibt.

Schneller? kann ich mir nicht vorstellen, aber man koennte sich ja mal den erzeugten assembler angucken und dann weiter spekulieren.

Das zweite und dritte Argument finde ich zu blöde, um darüber zu diskutieren.

Re: P3 Blatt2 Aufgabe2 2003-11-07 14:32
tekai
mein argument gegen ++i ist wie bei let und let*. i++ ist "normal" und wenn man ++i verwendet sollte das einen grund haben, und wenn es keinen gibt sucht man sich natürlich udmm & dämlich,

Re: P3 Blatt2 Aufgabe2 2003-11-07 15:00
UncleOwen
mein argument gegen ++i ist wie bei let und let*.

Also das ist finde ich noch was anderes. let* signalisiert schon durch das * ein "Ich bin boese". ++i mag zwar weniger ueblich sein als i++, aber immerhin noch so weit verbreitet, dass man es meistens irgendwo schonmal gesehen hat und damit was anzufangen weiss.

Re: P3 Blatt2 Aufgabe2 2003-11-07 15:04
UncleOwen
der einzige unterschied zwischen x++ und ++x, sofern ich mich recht entsinne, entsteht bei zuweisungen.

Allgemein wenn man den Rueckgabewert verwendet. Beim einen wird der alte, beim anderen der neue Wert zurueckgegeben. Bei x++ muss daher der alte Wert zwischengespeichert werden, was /theoretisch/ langsamer ist. Wenn x aber beispielsweise ein int ist, ist der Geschwindigkeitsnachteil praktisch nicht messbar - wenn er nicht vom Compiler gaenzlich wegoptimiert wird. Anders verhaelt es sich, wenn x (in C++) ein Objekt ist.

Das zweite und dritte Argument finde ich zu blöde, um darüber zu diskutieren.

Wieso? Bekanntlich isst das Auge nicht nur mit. Und Einheitlichkeit hat auch noch nie geschadet.