Java Aufgaben-Wie ran gehen?

Diskutiere Java Aufgaben-Wie ran gehen? im Java Basics - Anfänger-Themen Bereich.
K

kafa175

Hallo, ich studiere Angewandte Informatik, habe auch großes Interesse daran, allerdings bereitet mir Java schon ziemliche Kopfschmerzen...
Ich habe vorher in der Schule PHP und HTML gehabt, also kein Einstieg in Java und in der FH kam ich dann nicht so ganz klar, weil der Prof direkt mit Methoden ankam.

Ich versuche so gut es geht zuhause zu lernen, sehe mir YT Videos an und durchforsche Blogs nach Aufgaben, die ich versuche zu lösen. Nur es fällt es mir schwer, irgendwie an die Aufgaben "ranzugehen". Wie geht ihr vor bei einer Aufgabe die ihr lösen müsst? Bsp: eine Methode, die die gespeicherte positive Zahl als Dualzahl in einem String darstellt. Ich denke vieeel zu kompliziert nach, aber dann ist es doch so simpel. Ich wäre für hilfreiche Tipps sehr dankbar! 😞 (ich möchte zu der Beispiel aufgabe KEINE Lösung haben, sondern Tipps, wie ihr vorgehen würdet.)
 
T

tommysenf

1. Besorg dir ein gutes Buch statt der YouTube Videos (z.B.: Java von Kopf bis Fuß und Java ist auch eine Insel)
2. Überlege dir das Verfahren wie du es auf dem Papier machen würdest.
3. Als interaktives Tutorial mit vielen Aufgaben kann ich dir https://codegym.cc empfehlen.
4. Lese viel Code von anderen
 
MoxxiManagarm

MoxxiManagarm

Wie geht ihr vor bei einer Aufgabe die ihr lösen müsst?
Das kommt darauf auf welchem Level. Dein Beispiel ist Grundlagenlevel und dafür sind Bücher, Videos etc nicht verkehrt, alles was dir helfen soll, damit es irgendwann mal Klick macht. Dein Beispiel ist mehr oder weniger auch nur ein Algorithmus. Für Algorithmen eignen sich verschiedenste Methoden auf dem Papier - Beispieleingaben durchspielen, Flussdiagramme, Entscheidungsbäume, aber auch Wahrheitstabellen o.Ä.. Je nachdem. Dann musst du "nur" noch, diesen Teil in Code übersetzen. Das musst du können und dabei kann dir leider keiner helfen, aber das wird schon irgendwann, vorallem mit etwas Übung. Außerdem kannst du stets Google fragen, das machen wir alle andauernd für Teilprobleme. Meistens kommt dann ein Beirtag von Stackoverflow dabei heraus ;-)

3. Als interaktives Tutorial mit vielen Aufgaben kann ich dir https://codegym.cc empfehlen.
Oder auch codingbat.com


Und nun nochmal zu der Beispielaufgabe:
eine Methode, die die gespeicherte positive Zahl als Dualzahl in einem String darstellt.
Überlege dir wie du eine Zahl in eine Dualzahl umwandelst. Das ist ein rein Mathematisches Verfahren. Wenn du in Mathe nicht aufgepasst hast oder es vergessen hast, dann frag, wie oben erwähnt, einfach Google nochmal. Der erste Eintrag bei mir: https://www.mathe-lexikon.at/mengen...hlen/dezimalzahl-in-binaerzahl-umrechnen.html

Du hast in der Tabelle 2 Begriffe: Quotient und Rest. Diese beiden Werte lassen sich mit Ganzzahldivision (int/int) und Modulo (int%int) ganz einfach berechnen. Natürlich müssen dir Ganzzahldivision und Modulo bereits bekannt sein. Das sind absolute Grundlagen. Wenn du sie nicht kennst hast du was nachzuholen. Die Zahl 190 ist auf dieser Seite schon durchgespielt. Der Quotient wird stets zur neuen Zahl und das Ganze geht solange wie der Quotient größer 0 ist. Für einen Wiederholten Ablauf brauchst du eine Schleife. Um auch die 0 umzuwandeln, eignet sich eine do-while Schleife. Im folgenden Code versuche ich mich an die Benennung auf der Seite zu halten, damit es dir verständlicher wird.

Java:
int zahl = 190;
String ergebnis = "";

do {
    int quotient = zahl / 2;
    int rest = zahl % 2;

    ergebnis = rest + ergebnis;
    zahl = quotient;
} while(zahl > 0);

System.out.println(ergebnis); // gibt 10111110 auf der Konsole aus
Das Zwischenspeichern von quotient und rest wäre nicht mal nötig, aber ich habs gemacht, damit es klar ist. Man sieht hier relativ gut das EVA (Eingabe Verarbeitung Ausgabe) Prinzip.


Und wenn du dieses Beispiel nun als Methode brauchst definierst du zahl nicht mehr im Codeschnipsel, sondern machst daraus einen Parameter, und die Methode könnte den Ergebnis-String zurückgeben anstatt ihn auszugeben.
 
Zuletzt bearbeitet:
M

M.L.

Auch hallo,

im Ggs. zu PHP ist in Java mehr Formalismus beim Anlegen und Abfragen einer Variablen/Methode einzuhalten. Zusätzlich zum bereits Geschriebenen könnte man erstmal eine PHP-Lösung implementieren und allmählich Richtung Java übersetzen.
 
mihe7

mihe7

Bsp: eine Methode, die die gespeicherte positive Zahl als Dualzahl in einem String darstellt. Ich denke vieeel zu kompliziert nach, aber dann ist es doch so simpel.
Nimm ein anderes Beispiel (die Lösung gibt es jetzt ja schon) und formulier dazu mal einen Algorithmus.
 
Dompteur

Dompteur

Es ist schon ziemlich lang her, dass ich programmieren gelernt habe. Wir wurden damals ziemlich gedrillt.
Der Ablauf sah bei uns etwas so aus:
* Der Lehrer hat uns ein neues Thema erklärt
* Dann gab es die Möglichkeit, Fragen zu stellen.
* Danach bekamen wir viele kleine Aufgaben dazu.

Durch das oftmalige Wiederholen prägten wir uns das Gelernte ein, bis es saß.
Danach waren wir in der Lage, es anzuwenden, ohne viel darüber nachdenken zu müssen.
zB. Was eine for-Schleife ist und wie sie eingesetzt wird, sollte genauso automatisch funktionieren, wie du 3+4 ausrechnest.
Das bedeutet, dass du dein Werkzeug beherrscht und es zum Lösen der Probleme einsetzen kannst.
Du sollst dich nämlich mit den Problemen und nicht dem Werkzeug beschäftigen.

Aus meiner Sicht ist das bei den Grundlagen einer Sprache immer noch wichtig.
Vor allem, wenn es sich um die erste Programmiersprache handelt, die man von Grund auf erlernen möchte.

Ich bin irgendwann einmal auf diese Seite gestoßen : https://learnjavathehardway.org
Es macht wenig Sinn, wenn ich das Konzept des Buches hier wiederhole. Schau dir dazu die ersten paar Kapitel selbst an.
Die sind nämlich frei zugänglich, sodaß du ausprobieren kannst, ob du damit zurecht kommst: https://learnjavathehardway.org/book/

Sobald du dann dein Werkzeuge (also die Java Sprachkonstrukte) beherrscht, hast du auch schon viele Beispiele gesehen, wie du sie einsetzt.
Beim Programmieren stößt du bei den zu lösenden Problemen immer wieder auf die gleichen Problemstellungen.

Ausblick:
Solltest du beruflich oder privat weiter gehen wollen und in die SW Entwicklung einsteigen, dann kommen noch ganz andere Bereiche dazu.
Für all diese Bereiche/Phasen gibt es Methode/Werkzeuge. Das Ziel ist meist, das Problem (oft iterativ) in kleinere Teilprobleme zu zerlegen und irgendwann zu so einfachen Problemstellungen zu kommen, dass man dazu auch eine Lösung findet.
Einen kleinen Überblick findest du hier : https://de.wikipedia.org/wiki/Softwaretechnik
Bei größeren Projekten ist es dann auch üblich, dass nicht jeder alles macht, sondern man sich die Aufgaben / Phasen aufteilt.
 
mihe7

mihe7

Wir wurden damals ziemlich gedrillt.
Wenn der Drill Instructor den Dompteur im Programming-Boot-Camp anschreit...

Und zur Entspannung gabs einen Lauf mit Gesang:

Nur Uncle Sun hab ich im Sinn
Sagt mir immer, ich wer ich bin!
3, 4, und im Chor: Ich liebe while loops und for!
 
Thema: 

Java Aufgaben-Wie ran gehen?

Passende Stellenanzeigen aus deiner Region:
Anzeige

Neue Themen

Anzeige

Anzeige
Oben