Kurze Notiz für die fortgeschritteneren Leser: ich hätte eigentlich gerne noch Sachen wie ++, += und sowas reingenommen, aber das Kapitel wurde immer länger und länger. Evtl. werde ich das nachträglich nochmal umstrukturieren.
Außerdem hätte ich eigentlich sehr gerne noch Input mit reingenommen, aber folgendes will ich keinem Anfänger antun:
Hat jemand Ideen, wie ich sowas schonender beibringe?
Hat jemand Ideen, wie ich sowas schonender beibringe?
...
Nicht wirklich. :-/ Java nimmt einem da eben nichts ab, wenn man einfach Nutzereingaben lesen will, muss man auf Script-Sprachen wechseln. <__<"
Du könntest erstmal direkt Bytes aus System.in lesen, dann ersparst du dir immerhin die ganzen geschachtelten Konstruktoren. Wenn du dann System.out.write() verwendest, kannst du sie sogar wieder sinnvoll ausgeben. Alternativ sammelst du ein Array von Bytes und machst einen String draus. Und damit, dass das beides ziemlich grauenhaft ist, hast du auch gleich die Motivation, sie mit der "eleganteren" Variante zu quälen.
Naja, und es gäbe natürlich noch java.util.Scanner, der das Beispiel immerhin schon deutlich vereinfachen würde. *kratz* Hm, eigentlich ist der wohl sogar die Lösung, aber das da oben will ich nicht umsonst getippt haben. XD
--
A human is a system for converting dust billions of years ago into dust billions of years from now via a roundabout process which involves checking email a lot.
Ich habe oft gesehen, dass auf bestimmte Themen solange verzichtet wird, bis genügend Wissen vermittelt wurde. Andererseits benutzt du auch bereits Packages und Module (Klassen natürlich sowieso), ohne, dass der Teilnehmer weiß wofür sie sind und wie sie funktionieren.
Was diese angeht, hast du im vorherigen Tutorial geschrieben, dass dafür Grundkenntnisse der Objektorientierung benötigt werden, IMO ist Modulare Programmierung aber nicht (unbedingt) Teil der Objektorientierten Programmierung und kann vorerst zumindest vereinfacht an einem bildlichen Beispiel erklärt und später vertieft werden.
BTW: Beim Kommentar zum ersten Codebeispiel, im Satz "Bei der zweiten Variante kann man den Typ selbst angeben" sollte "Typ" eigentlich "Wert", oder "Wert, mit dem initialisiert wird" heißen.
Und bei der Aufzählung der Operatoren hast du die Klammern bei "Multiplikation" vergessen.
BTW: Beim Kommentar zum ersten Codebeispiel, im Satz "Bei der zweiten Variante kann man den Typ selbst angeben" sollte "Typ" eigentlich "Wert", oder "Wert, mit dem initialisiert wird" heißen.
Und bei der Aufzählung der Operatoren hast du die Klammern bei "Multiplikation" vergessen.
Kurze Notiz für die fortgeschritteneren Leser: ich hätte eigentlich gerne noch Sachen wie ++, += und sowas reingenommen, aber das Kapitel wurde immer länger und länger. Evtl. werde ich das nachträglich nochmal umstrukturieren.
Außerdem hätte ich eigentlich sehr gerne noch Input mit reingenommen, aber folgendes will ich keinem Anfänger antun:
Hat jemand Ideen, wie ich sowas schonender beibringe?
...
Du könntest eine Hilfsklasse erstellen die statische eine init und mehrere read Methoden bereitstellt. Oder halt in dieser Klasse ein Console Objekt benutzt. Dann kann man die einfach importieren was für Anfänger ja auch einfach sein sollte. Und wenn du dann Exceptions und OOP abgearbeitet hast kannst du dein Beispiel nochmal erklären.
@ssj5000:
Stimmt hast recht.
Ich wusste garnicht das eine Scanner Klasse existiert, die Java API is irgendwie zu groß.
Du könntest eine Hilfsklasse erstellen die statische eine init und mehrere read Methoden bereitstellt. Oder halt in dieser Klasse ein Console Objekt benutzt. Dann kann man die einfach importieren was für Anfänger ja auch einfach sein sollte. Und wenn du dann Exceptions und OOP abgearbeitet hast kannst du dein Beispiel nochmal erklären.
...
Anderer Punkt bei OOP: Man muss nicht Sachen neu erfinden die es schon gibt.
Wo bleibt der nächste Teil? Wir wollen doch Java lernen!
Nee, eigentlich wollte ich nur mal kurz berichten, wie Java bei mir in der Vorlesung beigebracht wird: Wir benutzen BlueJ, eine recht simple IDE mit eingebautem Debugger und vor allem Konsole, und alles, was unsere Methoden an Eingaben brauchen, bekommen sie über Argumente. Ich will damit nicht sagen, dass es hier genau so gemacht werden sollte, da hier der Fokus eher auf dem "ich will schnell etwas sinnvolles damit machen können" liegt, in der Vorlesung aber auf "Lernt, Algorithmen zu entwickeln, Programmierparadigmen anzuwenden und das ganze dann in Java zu implementieren" (weswegen wir auch in der 10. Vorlesung noch nicht über das Implementieren des Sieb von Eratosthenes und das Zusammenfassen von Variablen als Verbunde/Klassen hinaus sind). Und natürlich zäumen wir das Pferd von vorne auf und lernen erstmal, was OOP ist. ^^
(auch anzumerken ist, dass unsere Vorlesungen alles andere als einsteigerfreundlich sind, und ich vermutlich arge Probleme hätte, wenn ich nicht schon einige andere Sprachen beherrschen würde...)
Also, leider keine Lösung für dein Problem, Fyx, aber ich hab mir gedacht ich erzähls mal...