BufferedReader für IOTools ersetzen?

KuchenBoss

Mitglied
Hey,

ich habe ein Programmcode vorgegeben, den ich mit IOTools ersetzen soll. Nur erschließt sich mir das nicht ganz.

Hier mal die "BufferedReader" :

Java:
    public static Product createProductFromUserinput() {
        // read name
        System.out.print("Produktname eingeben: ");
        BufferedReader in1 = new BufferedReader(new InputStreamReader(System.in));
        String name;
        try {
            name = in1.readLine();
        } catch (Exception e1) {
            name = "";
        }
       
        // read price
        System.out.print("Preis eingeben: ");       
        BufferedReader in2 = new BufferedReader(new InputStreamReader(System.in));
        double price;
        try {
            price = Double.valueOf(in2.readLine());
        } catch (Exception e) {
            price = 0.0;
        }
       
        // read description
        System.out.print("Beschreibung eingeben: ");       
        BufferedReader in3 = new BufferedReader(new InputStreamReader(System.in));
        String description;
        try {
            description = in3.readLine();
        } catch (IOException e) {
            description = "";
        }

Ist es möglich hier ohne weiteres BufferedReader einfach für IOTools zu ersetzen?
 
Darf ich fragen wie ich das dort ersetzen kann? Weil BufferedReader bringt ja meines Wissens schon eine "readLine" mit.

Kann ich ihm dann einfach sagen:

Java:
String in3 = IOTools.ReadString("Bitte Beschreibung eingeben: ") 
        String description;
        try {
            description = in3();
        } catch (IOException e) {
            description = "";
        }

Oder würde das nicht funktionieren?
 
Darf ich fragen wie ich das dort ersetzen kann? Weil BufferedReader bringt ja meines Wissens schon eine "readLine" mit.

Kommt drauf an, was IOTools kann, da möchte ich ungern raten...

Kann ich ihm dann einfach sagen:

Java:
String in3 = IOTools.ReadString("Bitte Beschreibung eingeben: ")
        String description;
        try {
            description = in3();
        } catch (IOException e) {
            description = "";
        }

Oder würde das nicht funktionieren?
Probiers doch einfach mal aus?
Nein, in3() ist Unsinn.
 
@JStein52
Daran schlecht ist gar nichts, nur ist es für mich ziemlich neu und ich verstehe es noch nicht. Daher hätte ich gerne IOTools genommen der Übersicht halber, da es für mich alles etwas übersichtlicher wäre.

Also ich verstehe den Vorteil von BufferedReader nicht. Und warum man eher das benutzen sollte als ein simples IOTools. ^^
 
Daran schlecht ist gar nichts, nur ist es für mich ziemlich neu und ich verstehe es noch nicht. Daher hätte ich gerne IOTools genommen der Übersicht halber, da es für mich alles etwas übersichtlicher wäre.
Wie bist du denn zu der Lösung mit BufferedReader gekommen, wenn du's nicht verstehst?

Also ich verstehe den Vorteil von BufferedReader nicht. Und warum man eher das benutzen sollte als ein simples IOTools. ^^
Es ist eben Simpel, sobald wenn "mehr" braucht, reicht es nicht aus.
IOTools am nächstem kommt Scanner, der wird für sowas durchaus benutzt.
 
Ich habe mir Übungen von einem Bekannten geben lassen, der das selbe macht wie ich aktuell und er meinte, er hat damit damals geübt halt. Daher bin ich beim BufferedReader.

Ja aber was bedeutet denn "wenn man "mehr" braucht" ? Was denn genau "mehr" , wenn ich fragen darf? Das habe ich auch bereits in Google gelesen und dort wird immer wieder betont, dass nützlicher ist, wenn man mehr brauch aber ich verstehe nicht was genau mit mehr gemeint ist 😀

Ja Scanner kenne ich aber habe ich noch nicht behandelt

Ich habe nur immer gelesen das BufferedReader nützlicher ist, weil man dadurch einen größeren Speicher hat.

Ach und ich habe gelesen das Scanner Exceptions "versteckt" während BufferedReader es sofort auslöst. Darunter kann ich mir nichts genau vorstellen. Ich weiß ja, das Exceptions praktisch Fehlereingaben sind bzw Fehler und inwiefern kann man denn Fehler verstecken und sofort auslösen? Entschuldigung für diese Amateurfragen 😀
 
Ich habe mir Übungen von einem Bekannten geben lassen, der das selbe macht wie ich aktuell und er meinte, er hat damit damals geübt halt. Daher bin ich beim BufferedReader.
Mein Tipp: schmeiß es weg und mach es von Grund auf selbst.

Ja aber was bedeutet denn "wenn man "mehr" braucht" ? Was denn genau "mehr" , wenn ich fragen darf? Das habe ich auch bereits in Google gelesen und dort wird immer wieder betont, dass nützlicher ist, wenn man mehr brauch aber ich verstehe nicht was genau mit mehr gemeint ist 😀
Einfaches Beispiel: Mit IOTools (wenn die so funktionieren wie ich denke) kann man nur von einer Quelle lesen, BufferedReader kann man für beliebig viele gleichzeitig erstellen.
 
Ja ich denke auch, dass ich mich in Zukunft nicht weiter mit BufferedReader auseinandersetzen werde. Zumindest vorerst.

Ah okay. Na ich verstehe es halbwegs. Zumindest 20% davon. Aber trotzdem danke, dass du probiert hast es mir zu erklären
 
Ich habe nur immer gelesen das BufferedReader nützlicher ist, weil man dadurch einen größeren Speicher hat.
BufferedReader ist ein fester Teil der Java-Bibliothek https://docs.oracle.com/javase/8/docs/api/java/io/BufferedReader.html
IOTools hingegen ist ein Teil eines Paketes, welcher seine Existenzberechtigung hat nur, weil der Autor sein Buch so konstant wie möglich gestalten möchte, sprich eine gewisse Unabhängigkeit von den mit der Zeit aufkommenden Veränderungen, welche die Entwicklung mit sich bringt, weil eben diese Veränderung zumindest für ein Anfänger keine große Rolle spielt, spielen sollte. Schaut man sich die Versionen an, so hat der Autor nur geringfügig etwas verändern oder anpassen müssen und aktuell ist es die achte Ausgabe.

Wie ich bereits erwähnte, sehe ich hier kein Vorteil, sich in etwas einzuarbeiten, was nicht das feste Bestandteil der
Java-Bibliothek ist und man sich selbst danken wird, wenn man den Weg einschlagen sollte, sich in die Standardbibliothek einzulesen um die Konzepte kennen zu lernen, die a) ständig weiter entwickelt werden und b) viel mehr können, als besagtes Paket.
 
@Javinner

Danke für deinen langen Text. Ja es stimmt schon, dass es wohl besser wäre es zu lernen, wenn ich Java wirklich mal gut können möchte. Ich habe es mir ja jetzt auch auf mehreren Seiten angeguckt und es sieht nicht schwer aus umzusetzen.

Ich werde es mir wohl mal weiter genauer angucken und hoffentlich früher oder später genug können um es auch einsetzen zu können. Ich verliere nur halt den Überblick, wenn ich zu viel Sachen aufeinmal erlernen möchte
 
@Javinner

Ach was nein. Du hast ja nicht unrecht, dass man eher hauseigene Sachen von Java lernen sollte 😀

Du verstehst aber wohl etwas mehr als ich daher würde ich eher sagen, dass das ein Tipp vom Fortgeschrittenem zum Anfänger war 😀

Darf ich dich/euch mal fragen, wie ihr Java gelernt habt bzw habt ihr Tipps, wie ich es besser lernen kann vor allem das objektorientierte Programmieren? Habt ihr ein Buch was ihr empfiehlt oder gar eine Video-Software oder hilft da nur lesen, lesen, lesen bis man praktisch alle Befehle so auswendig kann, dass man das im Schlaf macht? ^^
 
KuchenBoss hat gesagt.:
bis man praktisch alle Befehle so auswendig kann
Verstehen ist viel besser als auswendig lernen 😉

Ich für mein Teil habe mit Java im Mai diesen Jahres angefangen (noch nie programmiert). Im Netz bin ich dann zufällig auf den Java-Hamster
http://www.java-hamster-modell.de/index2.html gestoßen und bis zur Hälfte des zweiten Buches durchgemacht.
Meine Erfahrung mit dem Java-Hamster kannst du hier nachlesen https://www.java-forum.org/thema/java-hamster-mein-resume.178707/ . Dann bin ich irgendwann diesem Forum beigetreten und habe meine Erfahrung mit Online-Tutorials gesammelt, neben her las ich mich in Java ist auch eine Insel ein http://openbook.rheinwerk-verlag.de...tml#dodtp26179a0a-2d10-4e6f-87d0-b41b72952492 . War für den Anfang recht schwer (das Buch) und Online-Tutorials, naja, dafür bin ich zu sehr Leserratte, so entschloss ich mich mir geeignete Literatur zu kaufen, so kam ich zum Buch Grundkurs Programmieren in Java und als Vertiefung holte ich mir die neue Insel (November kam eine neue Auflage raus).

Wie du siehst, ich bin ein Anfänger 🙂
 

Zurück
Oben