Wo ist der Wurm in meinem Grundverständnis von Klassen?

Wuast

Bekanntes Mitglied
Hallo liebe Leute,

mein Name ist Yannik und ich habe mich mit über 30 Jahren trotz 0 Vorkenntnissen mittels Buch und einigen Youtube Videos endlich getraut und angefangen, mich in Java einzuarbeiten.
Mir sind schon einge Dinge ein Begriff und einfachste Dinge klappen auch schon mehr oder weniger - aber eben alles noch sehr simpel und ohne Erfahrung. Das möchte ich jetzt langsam ändern.

Was ich bisher glaube grob verstanden zu haben (oder was mir zumindest ein Begriff ist) sind Datentypen, Objekte, Klassen, Methoden, einfache Operatoren, If-Else, die Systemeingabe mittels new java.util.Scanner, einfache Schleifen und Arrays, allerdings ohne sie wirklich anwenden zu können.

Ich arbeite mit Eclipse.

Nun zu meiner Problemstellung:

Ich möchte als eigenes Übungsprojekt mit dem mir zur Verfügung stehenden Wissen ein Programm schreiben, welches es zwei Personen (z.B. in einer WG) ermöglicht, ihre Ausgaben einander gegenzurechnen, indem die Werte (z.B. von Kassenbons oder so) in eine Klasse eingetragen und dann zusammengerechnet werden, um sie dann in der Main miteinander zu vergleichen. So sollen A und B einfach eine Abrechnung machen können, wenn Sie beide gleichviel für Lebensmittel und Verbrauchsgegenstände ausgeben wollen (oder was auch immer).

Meine Gedanken dazu bisher: Die Hauptklasse "empfängt" die Objekte der beiden anderen Klassen, die die Gesamtausgaben der Personen widerspigeln, indem A und B ihre Ausgabenwerte in die Konsole eintragen können und sie dort zu einem Gesamtergebnis addiert werden. Diese double-Werte sollen das jeweilige Objekt werden, welches in die Hauptklasse übernommen wird.

Habe das ganze mal im Screenshot beigefügt.
Ich kriege zig Fehlermeldungen und ganz abgesehen davon, dass es mit Sicherheit reichlich elegantere Lösungswege gibt, verstehe ich nicht so ganz, wie ich das grundsätzlich umsetzen muss.

Wie erstelle ich die Objekte in den A und B Klassen und wie bringe ich diese dann rüber in die Hauptklasse?
Hat jemand vielleicht den ein oder anderen Hinweis für mich?

Ich glaube, meine Absicht wird in den Screenshots deutlich, die mangelhafte Umsetzung bestimmt auch :D

Danke im Voraus und liebe Grüße

Yannik

PS(edit): In AusgabeB steht eine falsche Variable. Die muss natürlich auch bTotal heißen, nicht bgesamt.
PS2: Der Kommentar in der Hauptklasse hat keine Bedeutung, den habe ich mir nur aus einer anderen Übung da gelassen.
 

Anhänge

  • AusgabeA.jpg
    AusgabeA.jpg
    152,2 KB · Aufrufe: 11
  • AusgabeB.jpg
    AusgabeB.jpg
    151,2 KB · Aufrufe: 8
  • Hauptklasse.jpg
    Hauptklasse.jpg
    172,5 KB · Aufrufe: 8

mihe7

Top Contributor
Klassen kannst Du Dir einerseits als Mengen gleichartiger Objekte, andererseits als Bauplan für gleichartige Objekte vorstellen. Wenn Du Deine beiden "Klassen" AusgabeA und AusgabeB anschaust, wo ist der Unterschied? Praktisch nirgends. Deswegen reicht es, eine Klasse Ausgaben zu haben. Dann erzeugst Du einmal ein Ausgaben-Objekt für Person A und ein Ausgaben-Objekt für Person B.

Wenn man ein klein wenig weitergeht: Klassen dienen dazu, für eine Problemstellung geeignete Abstraktionen zu formulieren. Wenn Du mal an Einnahmen denkst, dann sehen die eigentlich genauso aus wie Ausgaben. Sie verhalten sich auch so: ich kann eine Ausgabe vermerken, ich kann eine Einnahme vermerken, ich kann Ausgaben zusammenzählen, ich kann Einnahmen zusammenzählen usw. Insofern erscheint der Name "Ausgabe" für die Klasse auch nicht besonders sinnvoll. Allerdings: ob etwas sinnvoll ist oder nicht, hängt in erster Linie von den Anforderungen ab. Das aber nur nebenbei.

Man könnte hier noch stundenlang zum Thema schreiben, dazu habe ich aber gerade keine Lust :)

Wie erstelle ich die Objekte in den A und B Klassen und wie bringe ich diese dann rüber in die Hauptklasse?
Hat jemand vielleicht den ein oder anderen Hinweis für mich?

Du erzeugst bereits die Objekte in der Hauptklasse, da brauchst Du nichts mehr rüberzubringen. Allerdings kannst Du nicht einfach zwei Objekte mit Vergleichsoperatoren miteinander vergleichen. Deine Objekte haben ja viele Attribute und woher soll das Programm jetzt wissen, wann ausgabeA > ausgabeB gilt? Stattdessen kannst Du auf die Daten zugreifen:
if (aTotal.gesamta > bTotal.gesamtb) { ... }

Gleich vorweg: das ist so nicht Sache des Erfinders, aber Du musst erstmal ein paar Grundlagen verstehen.
 

temi

Top Contributor
Was ich bisher glaube grob verstanden zu haben (oder was mir zumindest ein Begriff ist) sind Datentypen, Objekte, Klassen, Methoden, einfache Operatoren, If-Else, die Systemeingabe mittels new java.util.Scanner, einfache Schleifen und Arrays, allerdings ohne sie wirklich anwenden zu können.
Mach noch ein wenig mit den Grundlagen weiter, bis du dir mit den genannten Themen einigermaßen sicher bist. Aktuell geht da noch einiges durcheinander, z. B. würde man den Scanner nicht so anwenden, wie du es tust. Es reicht i. d. R. eine Instanz von Scanner zu erzeugen und diese dann immer wieder zu verwenden, z. B.
Java:
public static void main(String[] args) {
 
    Scanner scanner = new Scanner(System.in);
 
    System.out.println("Ausgabe 1:");
    double ausgabe1 = scanner.nextDouble();
 
    System.out.println("Ausgabe 2:");
    double ausgabe2 = scanner.nextDouble();
 
    // usw.
}

Das würde man dann allerdings in eine separate Methode verlagern und, für mehrere Ausgaben, zusammen mit Arrays in einer Schleife verwenden, z. B.
Java:
public class Main {

    private Scanner scanner = new Scanner(System.in);
    private double[] ausgaben;
 
    public static void main(String[] args) {
 
        System.out.println("Wieviele Ausgaben sollen erfasst werden?");
        int anzahlAusgaben = scanner.nextInt();
    
        ausgaben = new double[anzahlAusgaben];
    
        for (int i = 0; i < anzahlAusgaben; i++) {
            ausgaben[i] = ausgabeErfassen(i + 1);
        }

        // jetzt sind alle Ausgaben im Array erfasst
    }
 
    public static double ausgabeErfassen(int nr) {
        System.out.println("Wert für Ausgabe " + nr +" eingeben:");
        double ausgabe = scanner.nextDouble();
        return ausgabe;
    }

Das Array für die Ausgaben sollte man allerdings auch in einer separaten Klasse verwalten, die sich dann auch darum kümmern kann, z. B. die Endsumme zu berechnen. Möchte man das Programm sauber strukturieren, dann hat man am Ende vielleicht eine Klasse für eine einzelne Buchung (Ein- oder Augabe), die die Buchungssumme und einen Freitext für die Art der Buchung enthält. Dann eine Klasse Konto, die die Buchungen für einen Mitbewohner sammelt (also das Array von Buchungen enthält). Und eine Klasse, die die Konten der Mitbewohner verwaltet und gegeneinander rechnet. Zu guter Letzt trennt man die Logik von der Ein- und Ausgabe, so dass es noch mindestens eine Klasse für das UserInterface gibt.

Das soll nicht bedeuten, dass du das jetzt alles gleich so machen sollst. Fang ruhig klein an, deinem aktuellen Wissen entsprechend, und bau das Programm dann stückweise aus, wobei ich mich an deiner Stelle für mehrere Buchungen gleich mal mit dem Thema Arrays beschäftigen würde, dann könnte deine main() ungefähr so aussehen (nicht perfekt!):
Java:
    public static void main(String[] args) {
        System.out.println("Wieviele Buchungen sollen erfasst werden?");

        int anzahlBuchungen = scanner.nextInt();

         Konto bewohner1 = new Konto(anzahlBuchungen); // erstellt ein Konto für eine bestimmte Anzahl an Buchungen

        for (int i = 0; i < anzahlBuchungen; i++) {
            double buchung = buchungErfassen(i + 1); // aktuelle Buchung von der Konsole erfassen
            bewohner1.add(buchung); // und im Konto speichern
        }
    
        System.out.println("Summe der Buchungen:");
        System.out.println(bewohner1.getSumme());
    }
 
Zuletzt bearbeitet:

Wuast

Bekanntes Mitglied
Puh okay, das ist schon mal ne Menge input. Muss ich mal sacken lassen und rumprobieren. Danke an dieser Stelle. ggf. melde ich mich nochmal :)
 

M.L.

Top Contributor
Im Grund sind die Vorschläge einfach zusammenzufassen (und deren Sinn ergibt sich auf lange Sicht): welche Teile der Software können sich wie oft ändern (je öfter, desto eher sollte man ebendiese Teile in Interfaces auslagern) und wieviele Aktionen gilt es mengenmässig zu bearbeiten. Die Trennung der Logiken (und später evtl. i.Z. mit einer GUI) dient der -potentiellen- Wiederverwendung in einem anderen Kontext oder der Vereinfachung einer nötigen Änderung.
 

Wuast

Bekanntes Mitglied
Im Grund sind die Vorschläge einfach zusammenzufassen (und deren Sinn ergibt sich auf lange Sicht): welche Teile der Software können sich wie oft ändern (je öfter, desto eher sollte man ebendiese Teile in Interfaces auslagern) und wieviele Aktionen gilt es mengenmässig zu bearbeiten. Die Trennung der Logiken (und später evtl. i.Z. mit einer GUI) dient der -potentiellen- Wiederverwendung in einem anderen Kontext oder der Vereinfachung einer nötigen Änderung.
Das leuchtet mir ein. Tatsächlich fehlt mir a) natürlich das Gefühl für die richtige Anwendungen der einzelnen .. (wie heißen die Dinger überhaupt? :D Befehle? z.B. System.out.print oder do ... oder so, diese Keywords bzw. Operatoren?!) und b) welche es überhaupt alles gibt, wie eine Art Vokabelliste.

Ich glaube ein großes Verständnisproblem aktuell ist, dass ich nicht weiß, wann ich was wo platzieren muss (in der IDE Eclipse). Alles in eine Main? Oder doch nicht? Kann ich innerhalb einer Main die Klassen voneinander trennen - passiert das über die {} oder wie?

So wie du es schreibst - bitte korrigiere mich ggf. - haue ich also alles in die Main, AUßER ich brauche es an anderer Stelle vllt. nochmal in anderer Form oder in einem anderen Zusammenhang?! Sprich HIER würde ich es in die Main hauen, weil das Programm ja simpel wird. Soll es aber in einer komplexen Software an verschiedener Stelle möglich sein, Ausgabe/Einnahme-Werte zu erfassen und diese unterschiedlich weiter zu bearbeiten, mache ich eine neue, separate Klasse auf. (Richtig?)

Ich meine das alles irgendwann schon mal gelesen zu haben aber mein Hirn bockt da noch etwas, das auch abrufen zu können. Ich lese es dann, denke mir "na klar, macht Sinn" und dann beim nächsten Mal will es wieder nicht.. Wenn ich hier die Codes lese (ohne sie jetzt getestet zu haben) macht es für mich Sinn. Mein Gehirn bringt erstmal aber anderen Plunder hervor (s. Screenshots).
Ich bin mir sicher, dass es irgendwann klickt und plötzlich frage ich mich, ob ich wirklich so bescheuert gewesen sein kann.

Danke schonmal! :)
 

mihe7

Top Contributor
Das Problem ist, dass Dir sämtliche Grundlagen fehlen. Am besten wäre es, Du besorgst Dir ein Buch, besuchst einen Kurs oder schaust Dir gutes Material im Netz an (weiß ich ad hoc keines). Die Insel kannst Du auch online anschauen, ist aber eher ein Nachschlagewerk: https://openbook.rheinwerk-verlag.de/javainsel/

wie heißen die Dinger überhaupt?
Operatoren sind etwas wie !, +, -, /, *, %, &, |, &&, ||, <, > usw. Keywords (Schlüsselwörter) sind etwa class, new, interface, etc. und gehören wie Operatoren zur Sprache. Im Gegensatz zu den meisten Klassen und natürlich deren Methoden. Vermutlich spielst Du auf diese an.

Beispiel: Die Klasse System, die übrigens zur Sprache Java gezählt wird und mit vollem Namen java.lang.System heißt, weil sie im Paket java.lang liegt, hat eine statische Variable (auch Klassenvariable genannt) namens out. Diese ist vom Typ PrintStream. Die Klasse PrintStream hat eine println()-Methode. Mit System.out.println() rufst Du also die Methode println() des PrintStream-Objekts out der Klasse System auf.

welche es überhaupt alles gibt, wie eine Art Vokabelliste.
Dem kann abgeholfen werden: für Java 11 z. B. https://docs.oracle.com/en/java/javase/11/docs/api/index.html

Ich hab Dir absichtlich nicht die Doku zu Java 8 verlinkt, weil Du dort noch nicht suchen kannst. Tipp mal oben rechts System oder PrintStream ein.
 

Wuast

Bekanntes Mitglied
Das Problem ist, dass Dir sämtliche Grundlagen fehlen. Am besten wäre es, Du besorgst Dir ein Buch, besuchst einen Kurs oder schaust Dir gutes Material im Netz an (weiß ich ad hoc keines). Die Insel kannst Du auch online anschauen, ist aber eher ein Nachschlagewerk: https://openbook.rheinwerk-verlag.de/javainsel/
Ich hab das Inselbuch vorliegen. Würdest du ein anderes empfehlen? Bin noch nicht allzuweit, vllt. Seite 150 oder so. Dort gibts viele Infos, aber wenig Anleitungen zur konkreten Umsetzung wie es bspw. ein Schulbuch tut.
Ich habe zig Youtube Kanäle angesehen. Aber auch hier empfinde ich das eher dann sinnvoll, wenn ich gezielt etwas nicht verstehe, um die korrekte Anwendung/Umsetzung zu SEHEN. Ein Leitfaden und konkrete Übungen etc. fehlen mir auch da (zumindest bei dem, was ich so gesehen habe, von SimpleClub bishin zu weniger bekannten Kanälen).
 

temi

Top Contributor
Die Insel ist eher ein Nachschlage- als ein Lehrbuch. Was gut sein soll ist Java von Kopf bis Fuß, wenn man mit dem Stil zurecht kommt. Ich habe Entwurfsmuster von Kopf bis Fuß aus dieser Reihe und halte das für ein sehr gutes Werk (was ich übrigens - nach den Grundlagen - auf jeden Fall empfehlen würde).
 

mihe7

Top Contributor
Dort gibts viele Infos, aber wenig Anleitungen zur konkreten Umsetzung wie es bspw. ein Schulbuch tut.
Die Insel ist kein Lehrbuch, wie neben @temi auch Christian @Ullenboom hier im Forum schon anmerkte. Lehrbücher kenne ich keine. Von Christian gibts neu ein Aufgabenbuch, unter https://www.rheinwerk-verlag.de/captain-ciaociao-erobert-java/ sind auch eine Seiten online verfügbar. Das dürfte aber insbesondere in Kombination mit einem Lehrbuch/Kurs Sinn machen.

Was mir hier bei einigen schon aufgefallen ist, dass sie ggf. falsche Erwartungen an die Bücher stellen. Die besorgen sich ein Java-Buch und sind dann enttäuscht, dass sie selbst keine Programme auf die Reihe bekommen. Hier musst man sagen: ein Buch, das eine Programmiersprache behandelt, ist kein Buch über (objektorientierte) Softwareentwicklung. Natürlich gibt es Bücher, die Softwareentwicklung mit Java behandeln, das setzt aber dann in der Regel voraus, dass Du Java bereits kannst. Also, hier ein wenig aufpassen.
 

Wuast

Bekanntes Mitglied
Die Insel ist kein Lehrbuch, wie neben @temi auch Christian @Ullenboom hier im Forum schon anmerkte. Lehrbücher kenne ich keine. Von Christian gibts neu ein Aufgabenbuch, unter https://www.rheinwerk-verlag.de/captain-ciaociao-erobert-java/ sind auch eine Seiten online verfügbar. Das dürfte aber insbesondere in Kombination mit einem Lehrbuch/Kurs Sinn machen.

Was mir hier bei einigen schon aufgefallen ist, dass sie ggf. falsche Erwartungen an die Bücher stellen. Die besorgen sich ein Java-Buch und sind dann enttäuscht, dass sie selbst keine Programme auf die Reihe bekommen. Hier musst man sagen: ein Buch, das eine Programmiersprache behandelt, ist kein Buch über (objektorientierte) Softwareentwicklung. Natürlich gibt es Bücher, die Softwareentwicklung mit Java behandeln, das setzt aber dann in der Regel voraus, dass Du Java bereits kannst. Also, hier ein wenig aufpassen.
Ich habe gehört, das bei einer Fernuni für den Kurs der objektorientierten Programmierung eben jenes Buch vorausgesetzt wird als Begleitlektüre für die Skripte, deswegen habe ich es gekauft.
 

mihe7

Top Contributor
Die Insel? Das kann durchaus sein, schließlich dient sie dann als Begleitmaterial zum Kurs, und ggf. wird im Kurs darauf Bezug genommen.
 

Wuast

Bekanntes Mitglied
Mach noch ein wenig mit den Grundlagen weiter, bis du dir mit den genannten Themen einigermaßen sicher bist. Aktuell geht da noch einiges durcheinander, z. B. würde man den Scanner nicht so anwenden, wie du es tust. Es reicht i. d. R. eine Instanz von Scanner zu erzeugen und diese dann immer wieder zu verwenden, z. B.
Java:
public static void main(String[] args) {
 
    Scanner scanner = new Scanner(System.in);
 
    System.out.println("Ausgabe 1:");
    double ausgabe1 = scanner.nextDouble();
 
    System.out.println("Ausgabe 2:");
    double ausgabe2 = scanner.nextDouble();
 
    // usw.
}
Ich habe das Gerüst mal so übernommen, parallel mit YT Videos geschaut und auch das Prinzip dahinter verstanden - macht für mich also jetzt Sinn.
Um das ganze einfach zu halten war mein Gedanke jetzt zunächst: Jeder darf erstmal nur 3 Quittungen haben... (kein Plan warum, vllt. wird einfach immer dann abgerechnet wenn jeder drei Quittungen hat und es wird abwechselnd eingekauft)

Möchte ich das Programm starten, erhalte ich nach Eingabe des ersten Wertes direkt eine Fehlermeldung und das Programm bricht ab.

Exception in thread "main" java.util.InputMismatchException
at java.base/java.util.Scanner.throwFor(Scanner.java:939)
at java.base/java.util.Scanner.next(Scanner.java:1594)
at java.base/java.util.Scanner.nextDouble(Scanner.java:2564)
at Hauptklasse.main(Hauptklasse.java:13)


Warum, bzw. was will mir Eclipse sagen?

Und muss ich nach den drei Eingaben nicht den Scanner beenden?
 

Anhänge

  • 1.jpg
    1.jpg
    123,5 KB · Aufrufe: 8

Wuast

Bekanntes Mitglied
Die Insel? Das kann durchaus sein, schließlich dient sie dann als Begleitmaterial zum Kurs, und ggf. wird im Kurs darauf Bezug genommen.
Ich vermute mal.. was ich bisher so gesehen habe, wird mich das wohl nicht weiter bringen. Die Skripte sind da ziemlich kurz gehalten und erwarten nach wenigen Seiten schon Programme, die aufwendiger sind als das, was ich hier vorhabe. Deswegen dachte ich, ich versuch zunächst mal das, was ich bisher gehört habe, zu vertiefen
 

mihe7

Top Contributor
Wie oben geschrieben: Softwareentwicklung ist nicht Programmierung in Sprache X, so wie der Architekt nicht der Maurer oder Baumeister ist.

OOP beinhaltet beispielsweise viel imperative Programmierung, während es bei OOSE darum geht, ein Problem objektorientiert zu lösen (sprich: modellieren) - unabhängig vom Code (du kannst ein OO-Modell mit verschiedenen Programmiersprachen umsetzen, sogar mit nicht-objektorientierten).

Darum: wenn Du Java lernen willst, besorg Dir ein Lehrbuch für Java (oder einen Kurs oder ein Tutorial im Netz). Nur erwarte von diesem Buch nicht, dass es Dir Softwareentwicklung beibringt, auch wenn sich natürlich Begriffe wie Klassen und Objekte wiederfinden und erklärt werden.
 

Wuast

Bekanntes Mitglied
Wie oben geschrieben: Softwareentwicklung ist nicht Programmierung in Sprache X, so wie der Architekt nicht der Maurer oder Baumeister ist.

OOP beinhaltet beispielsweise viel imperative Programmierung, während es bei OOSE darum geht, ein Problem objektorientiert zu lösen (sprich: modellieren) - unabhängig vom Code (du kannst ein OO-Modell mit verschiedenen Programmiersprachen umsetzen, sogar mit nicht-objektorientierten).

Darum: wenn Du Java lernen willst, besorg Dir ein Lehrbuch für Java (oder einen Kurs oder ein Tutorial im Netz). Nur erwarte von diesem Buch nicht, dass es Dir Softwareentwicklung beibringt, auch wenn sich natürlich Begriffe wie Klassen und Objekte wiederfinden und erklärt werden.
Nein, soweit bin ich schon. Ich habe mich zu Beginn informiert und mich dann bewusst für Java als Einstieg entschieden. Irgendwo muss ich ja anfangen und wenn ich etwas mit Java arbeiten kann, bin ich auch in der Lage, einige Programme zu schreiben.
Deswegen habe ich mir dann das genannte Buch gekauft. Das mir das aber nicht beibringt, mit Java zu arbeiten, ist aber ein anderes Thema.
 

Wuast

Bekanntes Mitglied

Sorry, bin schon was weiter als im screenshot.
s. Anbei, der übrige Inhalt meiner Frage bleibt aber bestehen :D, das da wäre

Ich habe das Gerüst mal so übernommen, parallel mit YT Videos geschaut und auch das Prinzip dahinter verstanden - macht für mich also jetzt Sinn.
Um das ganze einfach zu halten war mein Gedanke jetzt zunächst: Jeder darf erstmal nur 3 Quittungen haben... (kein Plan warum, vllt. wird einfach immer dann abgerechnet wenn jeder drei Quittungen hat und es wird abwechselnd eingekauft)

Möchte ich das Programm starten, erhalte ich nach Eingabe des ersten Wertes direkt eine Fehlermeldung und das Programm bricht ab.

Exception in thread "main" java.util.InputMismatchException
at java.base/java.util.Scanner.throwFor(Scanner.java:939)
at java.base/java.util.Scanner.next(Scanner.java:1594)
at java.base/java.util.Scanner.nextDouble(Scanner.java:2564)
at Hauptklasse.main(Hauptklasse.java:13)


Warum, bzw. was will mir Eclipse sagen?

Und muss ich nach den drei Eingaben nicht den Scanner beenden?
 

Anhänge

  • A.jpg
    A.jpg
    98,2 KB · Aufrufe: 0

mihe7

Top Contributor
Warum, bzw. was will mir Eclipse sagen?

Und muss ich nach den drei Eingaben nicht den Scanner beenden?
1. Eclipse sagt Dir hier gar nichts, das ist die Ausgabe der JVM und die sagt Dir, dass Du einen nicht passenden Wert eingegeben hast (kann sein, dass Du ein Dezimalkomma statt eines Punkts verwenden musst, oder andersrum).

2. Ein Scanner wird nicht beendet, höchstens geschlossen und nein, in diesem Fall solltest Du den Scanner nicht schließen. Grund ist, dass der Scanner System.in, also die Standardeingabe, verwendet. Würdest Du den Scanner schließen, dann würdest Du auch die Standardeingabe schließen und das willst Du nicht.
 

Barista

Top Contributor
Meine Gedanken dazu bisher: Die Hauptklasse "empfängt" die Objekte der beiden anderen Klassen, die die Gesamtausgaben der Personen widerspigeln,
Was meinst Du mit "empfängt"?

Als Parameter einer Methode.

OOP ist sicher nicht alles (im Programmieren).
Du musst Dir eine Datenstruktur überlegen.
Dabei ist wichtig, ob die Daten das Beenden und Neustarten des Programmes überleben sollen (Persistenz).

Ich kriege zig Fehlermeldungen
Es klappt nicht, etliche Zeilen Code zu Schreiben und dann Knall-Start.

Schreib eine kleine Sache und bring die zum Laufen.
Dann bastele das nächste Feature dran.
 

Wuast

Bekanntes Mitglied
Was meinst Du mit "empfängt"?

Als Parameter einer Methode.

OOP ist sicher nicht alles (im Programmieren).
Du musst Dir eine Datenstruktur überlegen.
Dabei ist wichtig, ob die Daten das Beenden und Neustarten des Programmes überleben sollen (Persistenz).


Es klappt nicht, etliche Zeilen Code zu Schreiben und dann Knall-Start.

Schreib eine kleine Sache und bring die zum Laufen.
Dann bastele das nächste Feature dran.
Super Hinweis, danke :D Ich dachte, ich wäre schon sehr einfach unterwegs aber vermutlich kann ich das auch noch runterbrechen. Ich schau mal.
Ich denke, das ist es auch, was du mit Datenstruktur meinst?!

Mit empfängt meinte ich, dass ich ein Objekt in einer Klasse schreibe und das dann in der Main aufrufe.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
G Der Wurm ist drin Java Basics - Anfänger-Themen 4
P Wie kann ich in meinem Java Programm etwas dauerhaft speichern? Java Basics - Anfänger-Themen 5
P Wie kann ich beispielsweise Speicherstände eines Spiels DAUERHAFT in meinem Programm speichern? Java Basics - Anfänger-Themen 3
D Anfängerfrage zu meinem Programm. Java Basics - Anfänger-Themen 15
httprt Probleme bei dem erstellen von leveln in meinem Spiel Java Basics - Anfänger-Themen 2
J Frage zu meinem Code (OOP) Java Basics - Anfänger-Themen 4
NadimArazi Wie kann ich eine collision detection für die Paddles in meinem Pong Programm hinzufügen? Java Basics - Anfänger-Themen 4
A wie kann ich es in meinem Programm rein tun Java Basics - Anfänger-Themen 8
C konstruktiver Kritik zu meinem Lösungsansatz Java Basics - Anfänger-Themen 22
E extern Datei von meinem Computer aufmachen Java Basics - Anfänger-Themen 5
J Erste Schritte Was mache ich in meinem Code falsch. Java Basics - Anfänger-Themen 3
K Wie kontrolliere ich ob ich die Zahl in meinem Array schon hab? Java Basics - Anfänger-Themen 9
B Grundsatzfragen zu meinem neuen Projekt Einnahmen-Ausgaben App Java Basics - Anfänger-Themen 8
K Error bei meinem Programm - Hilfe Java Basics - Anfänger-Themen 8
R Was muss ich an meinem Code ändern? Java Basics - Anfänger-Themen 2
S Hilfe bei meinem Code [Schleife]? Java Basics - Anfänger-Themen 5
M Problem mit meinem Programm Java Basics - Anfänger-Themen 6
W Dezimalzahl in Binär umwandeln - Was sollte ich an meinem Programm verbessern? Java Basics - Anfänger-Themen 5
W Wie ziehe ich positive ungerade Zahlen von meinem Hauptwert ab? Java Basics - Anfänger-Themen 17
V Operatoren Was will mir die Tabelle in meinem Lehrbuch sagen? (logische Operatoren) Java Basics - Anfänger-Themen 4
N Problem bei meinem Code Java Basics - Anfänger-Themen 10
P Erste Schritte Bitte ein paar Erklärungen zu meinem Code Java Basics - Anfänger-Themen 6
H OOP, wie gehts richtig? (Beispiel von meinem Prof) Java Basics - Anfänger-Themen 6
H IOException in meinem Programm Java Basics - Anfänger-Themen 7
K Frage zu meinem ersten Programm Java Basics - Anfänger-Themen 5
K Frage zu meinem Programm Java Basics - Anfänger-Themen 25
F Methoden Kleines Problem mit meinem Glücksrad... Java Basics - Anfänger-Themen 9
O Wert in einer URL hinzufügen (in meinem Beispiel Google) Java Basics - Anfänger-Themen 7
M Wo ist der Fehler in meinem Programm? Java Basics - Anfänger-Themen 12
G Welche Java-Version auf meinem Rechner? Java Basics - Anfänger-Themen 2
D Keine Ausgabe in meinem Helden Programm Java Basics - Anfänger-Themen 2
M kurze frage zu meinem Code ... Java Basics - Anfänger-Themen 3
S Wie ist folgender Kommentar in meinem Ant file zu verstehen..? Java Basics - Anfänger-Themen 0
N Frage zu meinem Calculator Java Basics - Anfänger-Themen 6
D Verschiedene Fragen zu meinem Projekt Java Basics - Anfänger-Themen 6
F Hilfe bei meinem Spiel Java Basics - Anfänger-Themen 3
X Datentypen Probleme mit Char bei meinem 1. Spiel Java Basics - Anfänger-Themen 20
F Wie rechne ich bei meinem Code, die Wahrscheinlichkeit von Fall X aus? Java Basics - Anfänger-Themen 3
D Problem mit meinem ersten JOptionPane - Fatal exception occurred. Program will exit. Java Basics - Anfänger-Themen 6
K Hilfe, komme nicht weiter in meinem JAVA-Spiel Java Basics - Anfänger-Themen 3
C ArrayIndexOutOfBoundsException bei meinem ersten objektiorientierten Programm Java Basics - Anfänger-Themen 4
H frage zu meinem quellcode Java Basics - Anfänger-Themen 10
B Wo ist der Fehler in meinem Script Java Basics - Anfänger-Themen 4
Gonzalez Eingabe des Benutzers mittels readLine()-Methode. Klappt in meinem Beispiel nicht! Java Basics - Anfänger-Themen 7
M Fehler in meinem Quicksort! Java Basics - Anfänger-Themen 21
JeromeM90 Problem bei meinem Programm : Lottozahlen Java Basics - Anfänger-Themen 30
S Was ist falsch an meinem Rechner? Java Basics - Anfänger-Themen 7
S Ich habe ein kleines Problem mit meinem Übungsprogramm Java Basics - Anfänger-Themen 7
N NullPointerException bei meinem AbstractListModel Java Basics - Anfänger-Themen 4
G Brauche eure Hilfe bei meinem Programm Java Basics - Anfänger-Themen 4
A Ä;Ö;Ü warum geht das nicht mit meinem Konsolenprogramm ? Java Basics - Anfänger-Themen 5
A Java I/O Probleme mit meinem Encypter. Java Basics - Anfänger-Themen 6
S was ist in meinem code falsch? Java Basics - Anfänger-Themen 2
M brauche hilfe bei meinem Taschenrechner mit dem "-&quot Java Basics - Anfänger-Themen 4
G fibonacci was stimmt an meinem code nicht? Java Basics - Anfänger-Themen 2
C Zugriff auf Datein in meinem jar File Java Basics - Anfänger-Themen 23
D frage zur meinem objekt. sinnvolle objektmethode Java Basics - Anfänger-Themen 3
megachucky Problem bei meinem Videothek-Programm Java Basics - Anfänger-Themen 5
K komme in meinem stammchat nicht rein. Java Basics - Anfänger-Themen 6
megachucky Was kann ich besser / sinnvoller machen bei meinem code Java Basics - Anfänger-Themen 7
G Was is falsch mit meinem program? (stringvergleich-problem) Java Basics - Anfänger-Themen 8
J Probleme mit meinem Taschenrechner Java Basics - Anfänger-Themen 2
A Grundverständnis Programmaufbau Java Java Basics - Anfänger-Themen 8

Ähnliche Java Themen

Neue Themen


Oben