Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.
Aufgabe 2.3
Hallo,
leider finde ich die Aufgabenstellung nicht so ganz eindeutig. Bisher kamen mir zwei Fragen auf:
-
Wie soll die Ausgabe korrekt aussehen? “1966 in Base 2 is 11110101110” oder “1966 in Base [2] is [11110101110]”?
-
Wird erwartet, dass wir Joins machen, oder können wir das der JVM überlassen?
Meine Vermutung: ersteres, wobei zweiteres sicherlich auch keine Punkte abzug gäbe.
Steht da ja sogar. Sieht man beim Durchlesen der Aufgabe a) sogar fast. m)
[size=4]Und bringt in diesem Fall ja sogar fast was… :)[/size]
Ist es auch in Ordnung, statt diese Hilfsfunktion zu verwenden, Großbuchstaben auszugeben oder sind die Testcases nicht ausführlich genug?
- Wie soll die Ausgabe korrekt aussehen? „1966 in Base 2 is 11110101110“ oder „1966 in Base [2] is [11110101110]“?
Das überlasse ich ganz deinem ästhetischem Empfinden
Ist es auch in Ordnung, statt diese Hilfsfunktion zu verwenden, Großbuchstaben auszugeben oder sind die Testcases nicht ausführlich genug?
Es geht in der Aufgabe ja nicht um das korrekte Umrechnen sondern darum, mit Java und Threading warm zu werden. Benutz bitte die Hilfsfunktion, es gibt eh so gut wie keine Punkte auf die Berechnung selber.
THREADNUMMER
Hallo,
wie sollen wir das mit der Threadnummer machen?
Da wir nur den default-Konstruktor werden sollen, habe ich keine Idee, wie ich dem jeweiligen Thread eine Nummer übergeben soll.
Hat jemand eine Idee?
Danke
[…]wie ich dem jeweiligen Thread eine Nummer übergeben soll.
Hat jemand eine Idee?
- danke, so hätte ich es auch gemacht, aber da wird ein eigener Konstruktor verwendet und nicht der Standard-Konstruktor
Darf man das so machen?- Bei uns wurde in der Übung gesagt, dass wir immer den Standard-Konstruktor verwenden sollen…
Eure public-class soll einen default-Konstruktor haben. Innere Klassen mit beliebigen Konstruktoren sind nicht ausgeschlossen ;).
ok, danke
[m]Runnable[/m] implementieren und per [m]new Thread(runnable).start()[/m] starten ist toller als von Thread zu erben :rolleyes:
[m]Runnable[/m] implementieren und per [m]new Thread(runnable).start()[/m] starten ist toller als von Thread zu erben :rolleyes:
Ich traue den Leuten, die in der VL nicht ganz aufgepasst zu haben scheinen, eigentlich schon zu zumindest mal zu schaun auf welche Seite der Ideen-Link verweist und dort auch auf weitere Rätselslösungen zu stoßen.
teils seltsame Zahlenbasis-Ausgabe mit Windows
Hallo,
dies ist mein erster post in meinem neuen Studium. Ich studiere wieder seit diesem Semester und hätte eine Frage bezüglich der Ausgabe.
Ich hatte angefangen im Huber die a) zu programmieren und dort sah die Zeichenfolgenausgabe meineswissens für alle Zahlen die ich getestet habe ganz normal aus. Dieses Wochenende habe ich mir Eclipse auf meinem Windowsrechner installiert und an der Beispielzahl 41 erneut getestet. Hier war die Darstellung der Zahlenbasis für einige Basen seltsam. z.B. bekam ich: “41 in Base 14 is 2d”. Das meiste stimmte aber.
Kann mir jemand sagen, warum genau das so ist, und ob ich die Klassen trotzdem einfach abgeben kann, weil es dann schon wieder richtig dargestellt wird bei meinem Übungsleiter? Oder soll ich sicherheitshalber die neu geschriebenen Klassen ( b) und c) ) nochmal im Huber testen? Vielleicht irre ich mich ja auch und es war im Huber auch falsch…
Vielen Dank schonmal und noch ein schönes we
z.B. bekam ich: „41 in Base 14 is 2d“. Das meiste stimmte aber.
Laut >>dem hier<< stimmt 2d.
Laut >>dem hier<< stimmt 2d.
Ist ja interessant. Darüber habe ich noch gar nicht nachgedacht, dass Rest 13 irgendwie bezeichnet werden muss. Danke!
Eure public-class soll einen default-Konstruktor haben. Innere Klassen mit beliebigen Konstruktoren sind nicht ausgeschlossen ;).
Warum denn? meine public Klassen haben nur eine static main-Funktion, der rest sind private, hab auch den custom Konstruktor private, wo ist denn da des problem? Hab ich des anders gemacht als ich sollte?
Zur Unterstützung der Korrektur werden üblicherweise Testfälle verwendet. Da wollen die Korrektoren einfach ein „new EureKlasse()“ (sofern nicht anders in der Aufgabenstellung gefordert) machen können, ohne für jede Abgabe die Tests ändern zu müssen (denn das zögert die Korrektur nur unnötig heraus, nervt die Korrektoren und genervte Korrektoren sind im Allgemeinen zu vermeiden ). Sonst müsste man für 30 Abgaben 30 Mal die Testfälle umschreiben.
Wenn du nur einen privaten Konstruktor angibst, kann man deine Klasse übrigens gar nicht erzeugen, es sei denn, du erstellst einen zusätzlichen öffentlichen Konstruktor. Wenn man einer Klasse überhaupt keinen Konstruktor gibt, so erhält sie implizit einen leeren Standardkonstruktor (das kann unter Umständen zu Problemen führen, wenn man von Klassen erbt, die keinen solchen Konstruktor haben).
Zur Unterstützung der Korrektur werden üblicherweise Testfälle verwendet. Da wollen die Korrektoren einfach ein „new EureKlasse()“ (sofern nicht anders in der Aufgabenstellung gefordert) machen können, ohne für jede Abgabe die Tests ändern zu müssen (denn das zögert die Korrektur nur unnötig heraus, nervt die Korrektoren und genervte Korrektoren sind im Allgemeinen zu vermeiden ). Sonst müsste man für 30 Abgaben 30 Mal die Testfälle umschreiben.
Äh. Ja. Darum steht in der Aufgabenstellung auch, welche nicht-statischen Methoden deine Klasse haben soll. Oh warte, in der Aufgabenstellung steht nur, dass dein Programm einen Parameter auf der Kommandozeile übergeben bekommt. Du könntest die Aufgabe auch lösen, indem du nur die main-Methode schreibst und alles darin machst. Und wofür genau muss ein Testcase dann ein Objekt dieser Klasse erstellen?
Edit: Und die (gewollt) nichtdeterministische Ausgabe auf stdout wird sich in einem Junit-Test bestimmt auch sehr gut abprüfen lassen. Also klar, kannst du irgendwie machen, musst du halt System.out umbiegen und main aufrufen. Aber dafür musst du auch kein Objekt der Klasse erzeugen.
Meine Aussage bezog sich vielmehr auf spätere Aufgaben, in denen meistens eine Schnittstelle vorgegeben wird. Die „Threadausgabe-Aufgabe“ ist da natürlich gewissermaßen eine Ausnahme, da hast du vollkommen Recht.