Spiderpig does whatever a spiderpig does…

17Nov/09Off

Knobelstunde mit Java

Knobeln und Rätseln mit Java

fragezeichenIm Zuge meines Tutoriums für Erstsemestler habe ich ein paar kleine Aufgaben erstellt. Es wird ein Quellcode gezeigt der eine Ausgabe bzw. etwas macht und die Studenten sollen sagen was herauskommt. Selbstverständlich ohne das Programm einzugeben und auszuführen. Verliert natürlich dann den Reiz.

Der Hintergedanke dabei war alles Nötige einzubauen, was sie bis dahin in der Vorlesung behandelt hatten. Sprich: Casting, Typen, Schleifen und Arrays.

Wenn man natürlich sich mal C-Code anschaut mit Pointer etc. ist das ein Kinderspiel :D

Um die Ecke gedacht.

char[] output = { 'Q', 'S', 'X', 'K', 'A', 'M', 'S', 'B', 'T', 'T', 'D', 'W' };
for (int i = output.length - 2, k = 1; i > -1; i -= 2, k++)
System.out.println((char) (output[i] + k - 4));

Das einzig schwere hier ist wohl der Cast auf (char) aber mit ein bisschen Nachdenken sollte das machbar sein.

Arrays, Arrays

Noch ein kleines für 2-dimensionale Arrays und dem Konditionaloperator, aber sonst wärs ja langweilig.


String[][] out = { { "so", "die", "einfach", "net" },
 { "Arbeit", "Programmierung", "ja", "nix" },
 { "Wörter", "die", "Zeichen", "Arrays" },
 { "machen", "Arbeit", "erleichtern", "hier" } };

 for (int i = (int) (Math.PI - 1), j = 3; j > -1; i++, j--) {
 System.out.println(out[i][j]);
 i = i == 3 ? -1 : i;
 }

Operator-Wirrwarr

Bei dieser Aufgabe sollen die Variablenwerte nach jeder Codezeile angegeben werden. Einfach um sich die Präzedenzen und Operatoren zu verinnerlichen.


int a, b, c;
 double d = 5.0;

 c = b = a = 9 / 2;

 b += ++c;

 d = (a / (c + 1)) / c;

 d = b-- % --c % 2 / 2.0;

 a = (int) ((double) (a / d)*4d);

Ich werde wohl im nächster Zeit ein paar weitere solche kleinen Aufgaben stellen. Lösung kann man sich natürlich selbst ausgeben lassen.

Hoffe es hat euch gefallen. Feedback wäre nicht schlecht.

Autor Info's mit anzeigen Michael Ebert

veröffentlicht unter: Allgemein, Coding, Studium Kommentare