JAVA Programm schreiben

DASISTWICHTIG!!

Neues Mitglied
Hallo ich habe ein Problem, ich muss diese Aufgabe lösen, jedoch blicke ich kaum durch...
Ich muss ein Programm schreiben welche diese kommende Aufgabe löst.!

Bei einer Verlosung wird eine zufällige Zahl zwischen 1 und 100 gewählt. Alle Beteiligten können nun eine zahl wählen.
Wer die Zufallszahl auswählt, der gewinnt. Dafür wird ein Programm verwendet, welches zuerst eine Zufallszahl zwischen 1 und 100 bestimmt und anschließend beliebig viele Zahlen einliest. Sobald q eingelesen wird, gibt das Programm aus, ob die Zufallszahl erraten wurde.

Zu diese Aufgabe soll ich ein Java Programm schreiben, welche die vorliegende Aufgabe löst.
 

Robert Zenz

Top Contributor
Also schau...wie tut man *irgendetwas*?

Am Anfang steht immer die Aufgabenstellung: "Bei einer Verlosung wird eine zufällige Zahl zwischen 1 und 100 gewählt. Alle Beteiligten können nun eine zahl wählen. Wer die Zufallszahl auswählt, der gewinnt. Dafür wird ein Programm verwendet, welches zuerst eine Zufallszahl zwischen 1 und 100 bestimmt und anschließend beliebig viele Zahlen einliest. Sobald q eingelesen wird, gibt das Programm aus, ob die Zufallszahl erraten wurde."

Daraus muss man dann die Anforderungen ableiten: "Ich brauche eine Java Programm das Zufallszahlen generieren und Eingaben lesen kann."

Dann ueberlegt man sich den groben, eventuell vereinfachten Ablauf:

1. Zufallszahl generieren
2. Eingabe lesen
3. Eingabe mit Zufallszahl vergleichen

Und nun kann man anfangen diese Punkte Schritt fuer Schritt in Java Code zu ueberfuehren.

Java:
public final class Gewinnspiel {
    public static final void main(String[] args) {
        // TODO Zufallszahl generieren
        // TODO Eingabe lesen
        // TODO Eingabe mit Zufallszahl vergleichen
    }
}

Und jetzt kannst du anfangen, Zeile um Zeile, umzusetzen.
 

KonradN

Super-Moderator
Mitarbeiter
Ich bin recht neu und verstehe nicht wie ich anfangen soll und allgemein habe ich Probleme den code zu schreiben ;)
Dann würde ich raten, ein Tutorial oder Buch deiner Wahl zu verwenden. Dazu findet sich im Internet extrem viel wobei ich halt ein Buch bevorzugen würde. "Java von Kopf bis Fuss" und Schrödinger programmiert Java" sind zwei Bücher, die hier im Forum oft als Anfängerfreundlich genannt werden, da diese sehr visuell beschreiben.

Und dann musst Du Dir eine Entwicklungsumgebung deiner Wahl nehmen und Dich damit vertraut machen. Das ist auch nichts, das wir Dir abnehmen können. Ich würde Dir am Anfang eine Entwicklungsumgebung wie IntelliJ oder NetBeans empfehlen. Eclipse ist extrem mächtig aber bezüglich Anfängern eher ungeeignet, da diese schnell erschlagen werden.
Auch hier gibt es genug Tutorials, die mit Google leicht zu finden sein sollten.

Und dann erst kommen die Schritte, die auch @Robert Zenz schon erläutert hat:
a) Visualisieren, was gefordert ist. Also erst einmal überlegen, was denn verlangt wird. Und bei diesem Schritt wird keine Programmiersprache genutzt! Du schreibst auf, was passiert, nutzt ggf. Stift und Papier um es auch visuell aufzuschreiben!
b) Du formulierst (in einer Sprache, die Dir vertraut ist, also vermutlich in Deutsch!) die Schritte, die notwendig sind. Also wirklich etwas wie:
1. Zufallszahl bekommen
2. Zahl einlesen
3. So lange zahl nicht die Zufallszahl ist, bei 2 weiter machen.
4. Ausgabe, dass die Zahl erraten wurde.

c) Genau überlegen, wo man Werte hat, die man sich merken musste: das wären dann die Zufallszahl und die eingegebene Zahl.

d) Das wird dann in die Sprache übersetzt, das geht oft 1:1 und kann dann so aussehen:
Java:
int zufallszahl = bekommeZufallszahl();
int zahl;
do {
    zahl = einlesenZahl();
} while (zahl != zufallszahl);
gebeErrateneZahlAus(zufallszahl);

==> Für jede einzelne Methode machst du das entweder wieder genau so oder Du hast eine Komplexität erreicht, dass Du dies direkt in Java umsetzen kannst.
 

wer112

Top Contributor
Und dann musst Du Dir eine Entwicklungsumgebung deiner Wahl nehmen und Dich damit vertraut machen. Das ist auch nichts, das wir Dir abnehmen können. Ich würde Dir am Anfang eine Entwicklungsumgebung wie IntelliJ oder NetBeans empfehlen. Eclipse ist extrem mächtig aber bezüglich Anfängern eher ungeeignet, da diese schnell erschlagen werden.
Von anderen Entwickler, die nicht sowie ich Android machen, wird immer geraten, dass man IntelliJ benutzt. Wennn das die mehrheit sagt, sollte man das auch benutzen.

KonradN, du programmierst ja auch. Welches benutzt du persönlich? Es uss ja schließlich einen Grund haben...


Lieber DASISTWICHTIG!,

Android und Destop sind fast gleich.
Ich erkläre wie ich das Machen würde....

Erstmal brauchst du ein Fenster.
Auf diesen Layout brauchst du ein Eingabe Feld(Center) und darunter (Auch Center) einen Button.

Wenn das Programm startet, rufst du zuerst die Zufallszahl(); Methode auf.
In dieser Methode machst du das wie dort, aber angepasst, ungefähr so:

Java:
        int min = 1;
        int max = 100;

        Random random = new Random();

        zufallszahl = random.nextInt(max + min) + min;

oben definierst du zufallszahl(int zufallszahl;)

Nachdem die Zufallszahl gesetzt ist, holst du EditText und den Button.

oben steht auch int eingabe = 0;(default Wert)

auf den Button setzt du ein onClickListener.
in dem Listener machst du :

Holst die Eingabe und setzt das oben hin.(den Inhalt bearbeiten, das nur Zahlen noch drinnen stehen...)

if(eingabe == zufallszahl){
//Text Ausgabe du hast es geschafft!

}else{
//Du musst es noch mal probieren
}

Ich würde das nicht in der Schleife machen, da ich lieber die Zahl eingebe und dann per Button vergleiche, sonst komme ich nie aus der Schleife raus....



Ich bin selber "Anfänger", Aber so würde ich das mit meinem Java (Android) Verständniss umsetzen. Ich bin kein Experte und es könnte so falsch ein oder zum Teil richtig. Aber logischer Weiße klappt das einwandfrei(Nach mein Wissenstand.)

Alle anderen Forum Mitglieder können mich zum korregieren.

Ich hoffe, ich konnte die weiterhelfen...


(JFrame (Fester, damit du das alles machen kannst...)

Damit du dir die Grundlagen mal gesehen hast und evtl. was gerlernt hast. Sollst dir mal so 5Stunden mitbringen(Videos gehen so ca. 10 min pro Video...)Ps.: die Videos stammen aus 2012, ob das noch so aktuell ist, muss die Community sagen...

Google ist dein Freund ;)

Viel Erfolg!

Und dann das Umsetzten, was ich gesagt habe bzw. KonradN, aber vorher sollst du die Reihenfolge abarbeiten(Playlist... & Videos...)
 
Y

yfons123

Gast
Es uss ja schließlich einen Grund haben.
du nimmst eigentlich IMMER das was dir nicht auf den sack geht oder das wozu du gezwungen wirst


ich benutz eclipse
RobertZenz benutzt eclipse
Konrad benutzt intellij

da alle IDEs den gleichen schmarn können gehts eig nur um die feinheiten und das was dir nicht auf die nerven geht.. zb ich komm mit intellijs github feature nicht zu recht und es hat mich genervt und schon wars weg

auch vom aufbau her was dich mehr anspricht wie buttons lokalisiert sind und welche shortcuts per default da sind ( JA DEFAULT IST WICHTIG ) ... keine sau investiert 10 stunden um dämliche shortcuts einzurichten und allgemein alles einzurichten

kleinigkeiten einrichten geht aber alles puhhh... meisten werden keinen bock drauf haben
 

wer112

Top Contributor
du nimmst eigentlich IMMER das was dir nicht auf den sack geht oder das wozu du gezwungen wirst


ich benutz eclipse
RobertZenz benutzt eclipse
Konrad benutzt intellij

da alle IDEs den gleichen schmarn können gehts eig nur um die feinheiten und das was dir nicht auf die nerven geht.. zb ich komm mit intellijs github feature nicht zu recht und es hat mich genervt und schon wars weg

auch vom aufbau her was dich mehr anspricht wie buttons lokalisiert sind und welche shortcuts per default da sind ( JA DEFAULT IST WICHTIG ) ... keine sau investiert 10 stunden um dämliche shortcuts einzurichten und allgemein alles einzurichten

kleinigkeiten einrichten geht aber alles puhhh... meisten werden keinen bock drauf haben
Was ist jetzt dein Problem?
Ich habe nur mein Wissen, weítergegeben, was ich bisher weiß und auch gesagt, das ich KEIN Experte bin.
Ich wollte nur helfen.
Welche Programme hier benutzt, weiß ich nicht und ich kenne den Unterschied auch nicht, da ich ja Android Studio benutze.
Von den Leuten, von denen ich gehört, das die Java Programmieren, haben alle intelliJ benutzt.

Ich will niemanden auf die Füße tretten, das du mich gleich Beleidigen muss, nur weil ich KonradN gefragt habe, was er benutzt, geht garnicht.
Ich habe nixs schlecht gemacht, war nur mal neugierig, was er benutzt. Aber ich habe ja nicht Schlecht geredet...

Und zu Versuchen zu Helfen darf JEDER!!!

Das Du mich OHNE Grund Beleidigst finde ich nicht gut. Warum Beleidigst du mich jetzt so?
 

httpdigest

Top Contributor
Wo liest du denn auch nur den Hauch einer Beleidigung?? Er hat doch einfach nur die IDE Situation aus seiner Sicht beschrieben. Gut, er hat das Wort "du" verwendet, wenn er eigentlich "man" sagen wollte.
 

wer112

Top Contributor
Wo liest du denn auch nur den Hauch einer Beleidigung?? Er hat doch einfach nur die IDE Situation aus seiner Sicht beschrieben. Gut, er hat das Wort "du" verwendet, wenn er eigentlich "man" sagen wollte.
Ich fühle mich beleidigt von ihm, da ich nur helfen wollte und ich war immer freundlich.
Oder etwa nicht.

Diese setze haben mich beleidigt.

zitate:

du nimmst eigentlich IMMER das was dir nicht auf den sack geht oder das wozu du gezwungen wirst
das was dir nicht auf die nerven geht..
und der Rest ist so geschrieben, das er mich mit meiner Idee runtermacht.

Aber das er Sätze schreibt, da es mir auf den Nerven geht bzw. Sack und das ich das ständig mache ectr.

Ich habe niemanden beleidigt und habe mein erlerntes Wissen nur weitergegeben.

Er ist eigentlich NICHT auf meine Idee normal eingegangen, sondern eher rumgemäckert, das ich KonradN nach seiner Umgebung gefragt habe und wiso er die benutzt. Es solle nicht als Beleidigung aufgefasst werden.

Es tat schon weh, wie er mit mir umgegangen ist.
 

httpdigest

Top Contributor
Ich bin mir ziemlich sicher, dass er mit jeder Verwendung von "du" nicht dich persönlich und nur dich gemeint hat, sondern "man" im Sinne des englischen "you". Ich sage auch häufig "du", wenn ich jemand unbestimmten meine. Er wollte dich garantiert nicht beleidigen oder auch nur direkt persönlich ansprechen.
 

KonradN

Super-Moderator
Mitarbeiter
Das war aber nie beleidigend gemeint. So wie @httpdigest sehe ich da auch keine Beleidigung.

Es ist super, dass Du jetzt auch versuchst, aktiv Anderen zu helfen. Bei Antworten nur bitte immer daran denken, Texte wenn möglich nie pers. zu nehmen! In der Regel will hier niemand den anderen beleidigen oder in einer persönlichen Art und Weise angreifen.

Und er hat ja gewisse Präferenzen richtig aufgezeigt und Deine Frage beantwortet. Ich nutze wirklich IntelliJ (und würde das auch jedem ans Herz legen! Alleine schon die Oracle Falle mit der java.com Webseite kann man da ganz ignorieren! Man installiert einfach IntelliJ und bei Projekten lädt man die JDKs, die man gerne nutzen möchte, einfach herunter - ohne irgend was am System zu machen oder so!)

Eclipse würde ich explizit nicht Anfängern raten, da dort einfach viel zu viele Dinge direkt angeboten werden, die man eben nicht braucht und man extrem viel an vielen Stellen konfigurieren muss. Alleine schon der Standard, dass die awt Klassen in der Kontext Hilfe per default ausgeblendet sind ist etwas, das mich an dem Verstand der Entwickler (von Eclipse) zweifeln lässt! Das sind ganz offensichtlich abgehobene Leute mit Null Empathie, was Anfänger angeht. Das ist auch in Ordnung - ich will das nicht kritisieren! Aber es führt halt zu der klaren Empfehlung von meiner Seite, eben Eclipse nicht als Anfänger zu nutzen.
 

Jw456

Top Contributor
Welche Programme hier benutzt, weiß ich nicht und ich kenne den Unterschied auch nicht, da ich ja Android Studio benutze.
Von den Leuten, von denen ich gehört, das die Java Programmieren, haben alle intelliJ benutzt.
Und was ist Android Studio, es ist ein IntelliJ was etas an Android etwicklung angepast wurde.
 

Jw456

Top Contributor
Ich würde das nicht in der Schleife machen, da ich lieber die Zahl eingebe und dann per Button vergleiche, sonst komme ich nie aus der Schleife raus....

Es wird und soll erst die Schleife verlassen wenn das richtige Ergebnis eingeben wurde .
Ohne Schleife würdest du einmal prüfen Antwort ja oder nein und Programm ende. Das ist nicht die Aufgabe.

PS. der TE soll hier bestimmt auch keine GUI benutzen. Ein und Ausgabe auf der Konsole die es in Android nicht gibt.
 
Zuletzt bearbeitet:

LimDul

Top Contributor
Eclipse würde ich explizit nicht Anfängern raten, da dort einfach viel zu viele Dinge direkt angeboten werden, die man eben nicht braucht und man extrem viel an vielen Stellen konfigurieren muss. Alleine schon der Standard, dass die awt Klassen in der Kontext Hilfe per default ausgeblendet sind ist etwas, das mich an dem Verstand der Entwickler (von Eclipse) zweifeln lässt! Das sind ganz offensichtlich abgehobene Leute mit Null Empathie, was Anfänger angeht. Das ist auch in Ordnung - ich will das nicht kritisieren! Aber es führt halt zu der klaren Empfehlung von meiner Seite, eben Eclipse nicht als Anfänger zu nutzen.
Auch nicht als Experte, was ich heute mit Eclipse über Imports gestritten haben .....
 
Y

yfons123

Gast
Auch nicht als Experte, was ich heute mit Eclipse über Imports gestritten haben .....
nur weil eclipse zb überhaupt nicht klar kommt wenn man ein eigenes repository hat im speicher, oder andere grund funktionalitäten heißt es ja nicht dass ...

verglichen mit VS community ist eclipse wesentlich schneller mit der autovervollständigung und mit bezeichnung zu finden
 

httpdigest

Top Contributor
verglichen mit VS community ist eclipse wesentlich schneller mit der autovervollständigung und mit bezeichnung zu finden
"VS community"??
Du meinst vermutlich Visual Studio Code und nicht "Visual Studio - Community Edition". Mit letzterem kann man nämlich kein Java entwickeln, da Microsoft Java als Sprache und Laufzeitumgebung explizit _nicht_ in Visual Studio eingebaut hat.
Nur Visual Studio Code kann das mit Plugins.
Aber wir wollen hier nicht _wirklich_ anfangen, ernsthaft die Entwicklung von Java mit Visual Studio Code auch nur ansatzweise in Erwägung zu ziehen.
Es sei denn, man hat masochistische Veranlagungen.

EDIT: Und ja, der Name "Visual Studio Code" ist einfach unfassbar dumm gewählt, wenn es nebenbei auch "Visual Studio" als großes Produkt von Microsoft gibt....
 
Y

yfons123

Gast
es war allgemein gehalten dass vs community langsamer ist ( c# ) als wie eclipse mit java

und da gehts nicht um mili sekunden... mal ne minute warten bis es die variable erkennt ist da schon drin
 

wer112

Top Contributor
Und was ist Android Studio, es ist ein IntelliJ was etas an Android etwicklung angepast wurde.
Kein Plan, aus Android Studio besteht. Das interessiert mich ja auch nicht, solange es funktioniert. Ich weiß, das Android auf Linuxs aufgesetzt ist. Inbezug auf Android Studio habe ich mir nie Gedanken dazu gemacht. Wenn Du es sagst, dass es auf intelliJ basiert nehme ich das mal so hin...
 

KonradN

Super-Moderator
Mitarbeiter
vs community langsamer ist ( c# ) als wie eclipse mit java
Das bezweifle ich etwas. Die Frage ist, was man denn so alles nutzt. Visual Studio bietet extrem viel und macht einiges mehr als eben Eclipse. Daher ist das schwer zu vergleichen. Aber ich habe Visual Studio viele Jahre im Einsatz gehabt und bezüglich Geschwindigkeit hatte ich da nie irgendwelche Probleme. Zu Windows XP gab es teilweise mit manchen Solutions Probleme, da die 2GB Speicher für den Prozess nicht ausreichten und da musste man Windows Settings ändern, so dass dem Prozess 3GB zur Verfügung standen.

Was eine Krankheit war, war damals die Offline Hilfe. Da mal ein "F1" versehentlich gedrückt war dann eine kleine Kaffeepause. Damals hatte man halt große Teile der MSDN komplett offline zur Verfügung und der Start dauerte etwas ...
 

KonradN

Super-Moderator
Mitarbeiter
resharper mit intellisense überfordert meinen computer ungemein
ReSharper beansprucht den Rechenr ganz schön aber das ist dann halt die Kombination. Visual Studio Enterprise (Oder wie heisst die große Edition heute? Früher war das Enterprise Edition) hat alles, was man braucht. Da braucht es so AddOns nicht mehr. Kostet zwar nicht wenig, aber bei großen Firmen hat man große Rabatte und man bekommt halt ohne Ende Goodies (Lizenzen für Testumgebung, Azure Kredit was super ist für Tests u.s.w.)

Vorsicht sonst werdet ihr wider in die Plauderecke verschoben.;)
Wir sind hier ja nicht so 100% Off Topic. Das Thema ist hier nun einmal aufgekommen und gehört durchaus mit zu der Frage vom TE. Und das Verschieben ist in der Regel Folge eines Reports - ich neige dazu, meine richtigen Off Topic Posts selbst zu reporten mit der Bitte, dass diese ggf. verschoben / gelöscht / was auch immer werden. Halt je nach Inhalt was halt angebracht sein könnte. Und ich bin sicher, dass die "Admins" meine Sprüche bald nicht mehr lesen können, denn ich neige da immer zu sehr "blumiger Sprache". Das ist also auch nix schlimmes sondern lediglich ein Versuch das Forum etwas sauber zu halten ohne sich massiv zusammen reissen zu müssen.
 
Y

yfons123

Gast
man kann sich auch rider holen für nen 100er im jahr aber joaaa falls du es mir bezahlst :D

nicht jeder hat geld zum rum werfen
 

HansD

Mitglied
[…] Dafür wird ein Programm verwendet, welches zuerst eine Zufallszahl zwischen 1 und 100 bestimmt und anschließend beliebig viele Zahlen einliest. Sobald q eingelesen wird, gibt das Programm aus, ob die Zufallszahl erraten wurde.

Wenn man mir diese Aufgabe mit diesen Worten stellte, würde ich zurückfragen wollen, was mit "beliebig viele Zahlen einlesen" gemeint ist.

Die Aufgabenstellung ist mehrdeutig. Von wo und wie sollen die Eingaben übernommen werden? Wohin und wie sollen die Ergebnisse ausgegeben werden?

Zumindest für mich stellte sich auch folgende weitere Frage:
  • Soll das ein Kommandozeilenprogramm sein oder eines mit grafischer Bedienoberfläche?
Es ist ja ein Unterschied, ob ich eine beliebige Zahlenreihe als Aufrufparameter übergebe oder im Dialog immer eine Zahl nach der anderen abgefragt wird. Die obige Aufgabenstellung gibt keine Auskunft darüber, welche dieser Möglichkeiten realisiert werden soll. Man kann es allenfalls erraten.

Achim Magenheimer, Elektro-Installateur, Informatiker und in Essen zeitweise Dozent für angehende Datenverarbeitungskaufleute, schrieb in einem etwas älteren Buch (1989) übers Programmieren, das ich schätze, weil es lange Zeit geradezu das einzige deutsche Buch war, das ich finden konnte, das grundlegend, klar und hinreichend konkret zum Programmieren anleitete:

Damit ein Problem mit einem Programm zu lösen ist, müssen zwei Forderungen erfüllt sein:

a) das Problem muß vollständig beschrieben vorliegen und
b) es muß so beschrieben sein, daß Fehlinterpretationen des Sachverhalts ausgeschlossen sind.
 
Zuletzt bearbeitet:

berndoa

Top Contributor
Dann würde ich raten, ein Tutorial oder Buch deiner Wahl zu verwenden. Dazu findet sich im Internet extrem viel wobei ich halt ein Buch bevorzugen würde. "Java von Kopf bis Fuss" und Schrödinger programmiert Java" sind zwei Bücher, die hier im Forum oft als Anfängerfreundlich genannt werden, da diese sehr visuell beschreiben.

Und dann musst Du Dir eine Entwicklungsumgebung deiner Wahl nehmen und Dich damit vertraut machen. Das ist auch nichts, das wir Dir abnehmen können. Ich würde Dir am Anfang eine Entwicklungsumgebung wie IntelliJ oder NetBeans empfehlen. Eclipse ist extrem mächtig aber bezüglich Anfängern eher ungeeignet, da diese schnell erschlagen werden.
Auch hier gibt es genug Tutorials, die mit Google leicht zu finden sein sollten.

Und dann erst kommen die Schritte, die auch @Robert Zenz schon erläutert hat:
a) Visualisieren, was gefordert ist. Also erst einmal überlegen, was denn verlangt wird. Und bei diesem Schritt wird keine Programmiersprache genutzt! Du schreibst auf, was passiert, nutzt ggf. Stift und Papier um es auch visuell aufzuschreiben!
b) Du formulierst (in einer Sprache, die Dir vertraut ist, also vermutlich in Deutsch!) die Schritte, die notwendig sind. Also wirklich etwas wie:
1. Zufallszahl bekommen
2. Zahl einlesen
3. So lange zahl nicht die Zufallszahl ist, bei 2 weiter machen.
4. Ausgabe, dass die Zahl erraten wurde.

c) Genau überlegen, wo man Werte hat, die man sich merken musste: das wären dann die Zufallszahl und die eingegebene Zahl.

d) Das wird dann in die Sprache übersetzt, das geht oft 1:1 und kann dann so aussehen:
Java:
int zufallszahl = bekommeZufallszahl();
int zahl;
do {
    zahl = einlesenZahl();
} while (zahl != zufallszahl);
gebeErrateneZahlAus(zufallszahl);

==> Für jede einzelne Methode machst du das entweder wieder genau so oder Du hast eine Komplexität erreicht, dass Du dies direkt in Java umsetzen kannst.
Kann, da gestern selbst gekauft, auch den Udemy Kurs "Java leicht gemacht - Der umfassende Java Einsteigerkurs A-Z" empfehlen.
War nach Einloggen bei mir für rund 19 Euro zu haben, sind aber auch 37 Stunden Videos zu Allem Möglichen.
Den versteh sogar ich, auch wenn er für meinen Geshcmack macnche Sachen shcon extrem oft widerholt,wo man es auch shcon beim 2. Mal kapiert hatte.
Kurzum, gut gemachter Kurs.

jetzt halte ich aber wieder die Klappe sonst werden die Admin:in:eres noch sauer weil ich nicht den Forenkurs sondern eine Fremden Kurs anpreise :-D
 

mihe7

Top Contributor
jetzt halte ich aber wieder die Klappe sonst werden die Admin:in:eres noch sauer weil ich nicht den Forenkurs sondern eine Fremden Kurs anpreise :-D
Glaube ich nicht. Mal abgesehen davon, dass das ein ganz schlechtes Bild abgeben würde, das nicht gerade für den Kurs spräche: da ist vieles Geschmackssache, was Inhalt, Aufbau, Präsentation, Vortragsstil, Sprache oder Stimme des Sprechers betrifft. Die einen bevorzugen Videos, die anderen Bücher, die anderen Präsenzkurse.
 

Jw456

Top Contributor
Leider gibt es wenig Infos zu dem Forum Kurs. Kein Inhaltsverzeichnis....
Das ist etwas was udemy viel besser macht. Über Inhalt uns Aufbau kann ich wenig sagen.
Bei fast keinen Infos über den Kurs kauft man ja fast die Katze im Sack.
 

berndoa

Top Contributor
Leider gibt es wenig Infos zu dem Forum Kurs. Kein Inhaltsverzeichnis....
Das ist etwas was udemy viel besser macht. Über Inhalt uns Aufbau kann ich wenig sagen.
Bei fast keinen Infos über den Kurs kauft man ja fast die Katze im Sack.
Das erwähnte ich sprichwörtlich gestern auch in einem Thread.

Wenn ein Inhaltsverzeichnis dabi wäre, könnte man wenigstens direkt absehen ob es ein grundlagenkurs ist, der nur von "hello World" bis if und WHile Schleife geht (wie praktisch jeder java kurs ever, den man in Schule, Uni und Co. macht).
Oder ob es auch um weitergehenden kram wie Streams, Maps, Input/Output, awt, *den ganzen komischen Kram den man hier im Forum vorfindet*, etc. geht, also "weiterführende Konzepte" die man auch in der realen Welt benutzen würde.

Der Videostil an sich ist okay, nur halt ohne zu wissen "wie weit" der Kurs geht, kauft man wirklich die Katze im Sack.
Und Katzen kriegt man manchmal wirklich billiger als 70 Euro :)
 

berndoa

Top Contributor
😂

was du in der "realen welt vorfinden" wirst ist, ein haufen selbst zusammen gewurschtelter frameworks weil man sich nicht abhängig von anderen machen möchte
Ich meine nur, in jedem 0185 Kurs geht es dann um den klassichen Kram wie if/switch/for,etc.
vielleicht wird auch noch arrays und arraylists oder so erwähnt.

Dann ist da eine Riesenlücke.

Und dann sind wir hier im Forum wo mit "Moments", Enums und was weiß ich um sich geworfen wird.
Kram, von dem man teils noch ncie gehört ht, geschweigedenn angewendet hat :-D
 

mihe7

Top Contributor
@berndoa, das Problem habe ich in ähnlicher Form schon oft gelesen. Da kommen dann Aussagen wie: "Ich glaub, ich bin zu blöd. Jetzt habe ich schon drei Java-Bücher durch, will jetzt mal ein eigenes kleines Projekt umsetzen und habe keine Ahnung, wie ich da überhaupt anfangen soll."

Das Problem ist, dass ein Kurs/Buch zu einer Programmiersprache in erster Linie eben Kenntnisse zu dieser Sprache vermittelt und nicht das Programmieren oder gar Software-Entwicklung.

Der Anfänger müsste eigentlich mit Kursen/Büchern über Algorithmen und Datenstrukturen sowie Grundlagen imperativer Programmierung beginnen. Ein Kurs/Buch über Java würde dagegen über die Sprache, die Plattform, Standardbibliothek, Werkzeuge etc. aufklären.

Beispiel: ich weiß, dass es Kontrollstrukturen gibt wie Sequenzen, bedingte Anweisungen, Schleifen etc. Wenn ich nun eine Sprache lerne, brauche ich dafür keine Erklärung. Analog gilt das für Datenstrukturen wie Aufzählungen, Listen, Dictionaries etc. Damit kann ich auf abstrakter Ebene arbeiten, ohne die Sprache kennen zu müssen. Wenn ich eine Sprache lerne interessiert mich nur noch: wie setze ich ein Konzept dort um?

Das sind natürlich nur die Grundlagen, dann käme die Objektorientierung ins Spiel. Da verhält es sich genauso: die Konzepte haben nichts mit einer Programmiersprache zu tun. Wenn ich weiß, dass es Objekte gibt, die miteinander kommunizieren und dass es Klassen gibt, die eine Menge von gleichartigen Objekten darstellen, dass es Polymorphie und Vererbung gibt, dann interessiert mich im Java-Buch/Kurs: wie setz ich das dort um?

Außerdem hat jede Sprache bzw. Umgebung natürlich auch ihre Eigenheiten, die über diese Grundlagen hinausgehen, z. B. GUI-Entwicklung. Aber auch, wenn z. B. Swing- und Android-UIs völlig unterschiedlich sind, gibt es auch hier gewisse Konzepte, die man übergreifend nutzen kann (z. B. Fenster, UI-Elemente, dass GUIs ereignisgesteuert sind usw.)

Oben habe ich geschrieben, dass der Anfänger mit theoretische Konzepten beginnen müsste (Algorithmen etc.). Das ist natürlich nur die halbe Wahrheit, denn ohne Praxis lernt man praktisch nichts. Daher muss das natürlich auch zur Anwendung kommen - und da kann dann wieder eine Programmiersprache zum Einsatz kommen.

Das Feld ist einfach zu groß, um alles in einem Kurs/Buch behandeln zu können. Von einem Java-Buch/Kurs kann man erwarten, dass einem etwas zu Java gelehrt wird, nicht aber, dass einem das Programmieren beigebracht wird.
 

berndoa

Top Contributor
@berndoa, das Problem habe ich in ähnlicher Form schon oft gelesen. Da kommen dann Aussagen wie: "Ich glaub, ich bin zu blöd. Jetzt habe ich schon drei Java-Bücher durch, will jetzt mal ein eigenes kleines Projekt umsetzen und habe keine Ahnung, wie ich da überhaupt anfangen soll."

Das Problem ist, dass ein Kurs/Buch zu einer Programmiersprache in erster Linie eben Kenntnisse zu dieser Sprache vermittelt und nicht das Programmieren oder gar Software-Entwicklung.

Der Anfänger müsste eigentlich mit Kursen/Büchern über Algorithmen und Datenstrukturen sowie Grundlagen imperativer Programmierung beginnen. Ein Kurs/Buch über Java würde dagegen über die Sprache, die Plattform, Standardbibliothek, Werkzeuge etc. aufklären.

Beispiel: ich weiß, dass es Kontrollstrukturen gibt wie Sequenzen, bedingte Anweisungen, Schleifen etc. Wenn ich nun eine Sprache lerne, brauche ich dafür keine Erklärung. Analog gilt das für Datenstrukturen wie Aufzählungen, Listen, Dictionaries etc. Damit kann ich auf abstrakter Ebene arbeiten, ohne die Sprache kennen zu müssen. Wenn ich eine Sprache lerne interessiert mich nur noch: wie setze ich ein Konzept dort um?

Das sind natürlich nur die Grundlagen, dann käme die Objektorientierung ins Spiel. Da verhält es sich genauso: die Konzepte haben nichts mit einer Programmiersprache zu tun. Wenn ich weiß, dass es Objekte gibt, die miteinander kommunizieren und dass es Klassen gibt, die eine Menge von gleichartigen Objekten darstellen, dass es Polymorphie und Vererbung gibt, dann interessiert mich im Java-Buch/Kurs: wie setz ich das dort um?

Außerdem hat jede Sprache bzw. Umgebung natürlich auch ihre Eigenheiten, die über diese Grundlagen hinausgehen, z. B. GUI-Entwicklung. Aber auch, wenn z. B. Swing- und Android-UIs völlig unterschiedlich sind, gibt es auch hier gewisse Konzepte, die man übergreifend nutzen kann (z. B. Fenster, UI-Elemente, dass GUIs ereignisgesteuert sind usw.)

Oben habe ich geschrieben, dass der Anfänger mit theoretische Konzepten beginnen müsste (Algorithmen etc.). Das ist natürlich nur die halbe Wahrheit, denn ohne Praxis lernt man praktisch nichts. Daher muss das natürlich auch zur Anwendung kommen - und da kann dann wieder eine Programmiersprache zum Einsatz kommen.

Das Feld ist einfach zu groß, um alles in einem Kurs/Buch behandeln zu können. Von einem Java-Buch/Kurs kann man erwarten, dass einem etwas zu Java gelehrt wird, nicht aber, dass einem das Programmieren beigebracht wird.
Schon klar, aber manchmal ist es so dass man aus seiner Uni Vorlesung oder Ähnlichem wie erwähnt nur primitivster Standardkram kennt und ackert sich dann damit ab um ein Problem zu lösen.

Nur um dann irgendwann, oder bei direktem Fragen iM Forum, rauszufinden "Yo, es gibt da so ein Teil namens Hashmap/set(/etc., damit hättest du dir Tagelange Nervenarbeit erspart und die Aufgabe wäre statt in 3 Klassen mit 200 zeilen in einem 2 Zeiler und 5 Minuten lösbar gewesen".

Zumindest ich finde dass man in den meisten kursen einfach zu wenig über die verschiedenen Sachen, die es so gibt, aufgeklärt wird!

Klar muss man, wenn Maps vorgestellt wurden, nicht noch auf Hashmaps und Co. (Sachen die sich nur in Kleinigkeiten voneinander unterscheiden) rumreiten.

Aber viele Sachen, die ein realer programmierer so benutzt, werden in solchen java Kursen erst gar nicht erwähnt, dass sie existieren!

Dann versucht sich der Neuling und scheitert kläglich, was mit selbstgeshcriebenen Klassen und so zu lösen.
Bis er nach 3 Stunden Suchen rausfindet, dass es Streams und Co. gibt, die einemd as Leben so viel einfacher machen würden!

Finde, so ein paar der verschiedenen, alltäglich genutzten Konzepte und Standardsachen (die nicht gerade nur wieder if while for sind) könnten schon in so manchem Kurs vorkommen.

Nur so meine Empfindung, meist findet man erst durch Zufall raus, welche tolle Sachen Java von Haus aus bereitstellt, wo einem das Leben leichter machen!

Ansosnten hast du recht, ohne Praxis wirds halt nichts mit dem Programmiermeister :)
 

KonradN

Super-Moderator
Mitarbeiter
Die Frage ist ja auch, was für ein Lehrstoff vermittelt werden soll. Wenn es um abstrakte Datentypen geht, dann werden genau diese aufgezeigt und da sind die Collections uninteressant. Wie diese Aufgebaut sind lernt man nun einmal nicht durch einfaches verwenden irgendwelcher fertigen Klassen.

Ziel ist halt explizit nicht, euch zu "Java Programmierern" zu machen. Ihr sollt das generelle theoretische Grundgerüst bekommen, um euch jederzeit selbst schnell in eine Sprache einzuarbeiten. Das macht eben die Uni aus.

Und es sollte doch klar sein, dass die Grundlagen, die ihr in der Uni lernt und die schon viele Jahre gelehrt werden garantiert umgesetzt wurden. Daher solltest Du nach der Vorlesung doch ein Grundgerüst haben um
a) zu wissen, dass es irgend etwas in der Art geben muss.
b) die Dokumentation diesbezüglich zu finden um dann
c) das Vorhandene zu begreifen und zu nutzen.

Wenn Du eine entsprechende Fachrichtung studierst (Informatik für Anwendungsentwicklung oder wie sich da die Richtungen so alle schimpfen), dann mag es da auch noch mehr geben. Aber auch da wird an einer Uni sehr stark die Theorie vorherrschen. Und - du wirst es bestimmt schon gemerkt haben - als Student ist man gezwungen, sich selbst Dinge beizubringen. Also Stoff zu vertiefen und auch in der Praxis umzusetzen.

Ich denke, dass genau dieses Verständnis wichtig ist. Ich frage mich immer, was da für ein Bild vorherrscht - in einem anderen Thread gab es eine Aussage a.la. eine Professorin hat an einer Methode 5 Stunden gesessen. Ja, was soll sowas? Ich kenne den Zusammenhang nicht (also was für Gründe gab es, dass es 5 Stunden gedauert hat? Evtl. wollte sie irgendwelche Dinge besonders deutlich machen ... aber evtl. ist die Professorin auch einfach keine gute Software Entwicklerin...) aber so eine verächtlich-machende Aussage ist schon extrem frech und zeugt von einer sehr oberflächigen Sichtweise. Algorithmen und Datenstrukturen war damals bei uns z.B. eine Vorlesung vom Lehrstuhl für theoretische Informatik. Wir hatten da einen relativ jungen Prof. der eine absolute Spitzenkraft war - wenn es da um seine fachlichen Bereiche ging. Softwareentwicklung an sich war das - meiner Meinung nach - bestimmt nicht. Das muss er auch nicht können. Er muss sich nicht hinsetzen und mit Modula-2 oder Java oder irgend einer anderen Sprache Code schreiben. Datenstrukturen und Algorithmen sind aber solche Basics. Das macht er mit Links. Aber ich möchte nicht wissen, wie gut er Methoden implementieren könnte.... (Aber wozu auch. Dazu hat er mich im 2. Semester als HiWi gehabt. Das mussten das noch nicht mal seine Dozenten machen.) Und noch einmal: Von dem Prof. weiss ich, dass er was drauf hat. Und war auch kurz davor, in die theoretische Informatik zu gehen ...

Und wenn Du Praxis gewollt hättest: Dann hättest Du eine Ausbildung machen können. Dann hättest Du einen sehr hohen Praxis-Anteil. Oder als Dualer Student dann noch in einer Firma integriert sein - dann hättest Du auch zwischen den Semestern schön viel Praxis.

Das einfach mal als kleine Sicht von meiner Seite.
 

mihe7

Top Contributor
aber manchmal ist es so dass man aus seiner Uni Vorlesung oder Ähnlichem wie erwähnt nur primitivster Standardkram kennt und ackert sich dann damit ab um ein Problem zu lösen.
Das ist auch völlig richtig so, da es dort um die Vermittlung elementarer Grundlagen und der Fähigkeit geht, darauf selbständig aufzubauen. Der Jurist lernt im Studium nicht die Gesetzesbücher auswendig, sondern nur einen Bruchteil und lernt, wie man diese liest und interpretiert.

Nur um dann irgendwann, oder bei direktem Fragen iM Forum, rauszufinden "Yo, es gibt da so ein Teil namens Hashmap/set(/etc., damit hättest du dir Tagelange Nervenarbeit erspart und die Aufgabe wäre statt in 3 Klassen mit 200 zeilen in einem 2 Zeiler und 5 Minuten lösbar gewesen".
Das habe ich oben beschrieben: zur Lösung musst Du nicht wissen, dass es in Java HashMap, Set etc. gibt. Dass es solche Datenstrukturen gibt, weißt Du aus dem Datenstrukturen-Kurs und dann schaust Du halt, wie sich das in Java umsetzen lässt und findest Map, HashMap, Set, etc.

Finde, so ein paar der verschiedenen, alltäglich genutzten Konzepte und Standardsachen (die nicht gerade nur wieder if while for sind) könnten schon in so manchem Kurs vorkommen.
Klar.
 

berndoa

Top Contributor
Das ist auch völlig richtig so, da es dort um die Vermittlung elementarer Grundlagen und der Fähigkeit geht, darauf selbständig aufzubauen. Der Jurist lernt im Studium nicht die Gesetzesbücher auswendig, sondern nur einen Bruchteil und lernt, wie man diese liest und interpretiert.


Das habe ich oben beschrieben: zur Lösung musst Du nicht wissen, dass es in Java HashMap, Set etc. gibt. Dass es solche Datenstrukturen gibt, weißt Du aus dem Datenstrukturen-Kurs und dann schaust Du halt, wie sich das in Java umsetzen lässt und findest Map, HashMap, Set, etc.


Klar.
Welcher Datenstrukturen-Kurs? :O
 

KonradN

Super-Moderator
Mitarbeiter
Welcher Datenstrukturen-Kurs? :O
Wenn Du Informatik Studierst, wirst Du irgend eine Veranstaltung haben a.la. Algorithmen und Datenstrukturen. Da dürften dann so Dinge thematisiert werden wie Syntax und Semantik und halt auch, wie man Daten mit Algorithmen verwalten kann. Da sind dann so Dinge wie Laufzeit bestimmen und so mit Thema. Läuft einAlgorithmus in O(1), O(n), O(n log(n)) oder noch schlechter ... all sowas halt.
 

berndoa

Top Contributor
Wenn Du Informatik Studierst, wirst Du irgend eine Veranstaltung haben a.la. Algorithmen und Datenstrukturen. Da dürften dann so Dinge thematisiert werden wie Syntax und Semantik und halt auch, wie man Daten mit Algorithmen verwalten kann. Da sind dann so Dinge wie Laufzeit bestimmen und so mit Thema. Läuft einAlgorithmus in O(1), O(n), O(n log(n)) oder noch schlechter ... all sowas halt.
Ich erinnere mich, klang langweilig, war nach der Klausur gleich wieder weg. :)
Gerade das mit der Laufzeit und so
 

Neumi5694

Top Contributor
Ich erinnere mich, klang langweilig, war nach der Klausur gleich wieder weg. :)
Gerade das mit der Laufzeit und so
Ist auch nur bedingt zutreffend. Die reine Anzahl an Vergleichen z.B. passt schon, aber z.B. wie viele Operationen innerhalb eines Ausdrucks passieren, sind nur selten von Belang, die Auswirkungen davon unterscheiden sich je nach CPU und der Länge ihrer Pipelines. Und da sind wir noch lange nicht im Bereich der Vektoroperationen drin.
Es ist gut, dass man die Berechnungen mal macht, um ein Gefühl dafür zu kriegen (anderes Beispiel: Die Reihenfolge von mathematischen Operationen, um Rundungsfehler zu minimieren), aber in der Praxis hat das wenig Bedeutung, außer du bist hauptberuflich mit der Entwicklung hochkomplexer Algorithmen beschäftigt. Als Entwickler von Anwendungen kannst du im Normalfall darauf pfeifen. Dann wird interessanter, z.B. redundante Dateizugriffe zu vermeiden.
 

berndoa

Top Contributor
Ist auch nur bedingt zutreffend. Die reine Anzahl an Vergleichen z.B. passt schon, aber z.B. wie viele Operationen innerhalb eines Ausdrucks passieren, sind nur selten von Belang, die Auswirkungen davon unterscheiden sich je nach CPU und der Länge ihrer Pipelines. Und da sind wir noch lange nicht im Bereich der Vektoroperationen drin.
Es ist gut, dass man die Berechnungen mal macht, um ein Gefühl dafür zu kriegen (anderes Beispiel: Die Reihenfolge von mathematischen Operationen, um Rundungsfehler zu minimieren), aber in der Praxis hat das wenig Bedeutung, außer du bist hauptberuflich mit der Entwicklung hochkomplexer Algorithmen beschäftigt. Als Entwickler von Anwendungen kannst du im Normalfall darauf pfeifen. Dann wird interessanter, z.B. redundante Dateizugriffe zu vermeiden.
Sinnvoll ist es sicherlich, Code effizienter und Platz und zeitsparender zu machen wenn möglich.
 

Robert Zenz

Top Contributor
Sinnvoll ist es sicherlich, Code effizienter und Platz und zeitsparender zu machen wenn möglich.
Es gibt eine "Sinnhaftigkeitsgrenze", und die ist in Java schnell erreicht, insbesondere fuer Anfaenger. Wenn du dich mit Speicher/CPU/Instruktionenoptimierungen beschaeftigen willst, waere C, C++, D, Go und Rust besser geeignet, weil das ist in Java einfach fragwuerdig. Durch die JVM dazwischen bist du nicht nur vom eigentlichen Blech abgetrennt, du hast auch noch keinen Einfluss darauf was wirklich ausgefuehrt wird. Die JVM wird Optimierungen durchfuehren, zur Laufzeit, also der Maschinencode vom Programm veraendert sich auch zur Laufzeit. Man kann zum Beispiel keine Aussage darueber treffen ob jetzt der Funktionsaufruf jetzt wirklich in einem CPU-Sprung resultiert, oder ob der eingebettet wurde von der JVM, oder ob der beim naechsten Aufruf noch eingebettet ist. Und dann ist da noch die Garbage Collection ueber die man keine Kontrolle hat.

Das ist der Luxus von Java, wir koennen uns auf Lesbarkeit, Wartbarkeit und Verstaendlichkeit von dem Code konzentrieren und muessen nie ueber Speicher oder Instruktionen nachdenken. Natuerlich, idealerweise so optimiert wie moeglich, aber "optimiert" bedeutet in vielen Faellen etwas anderes als die Java-Anfaenger immer glauben (zum Beispiel Bit-Gefummel wird nicht interessant schneller werden als eine Division).
 
Zuletzt bearbeitet:

Neumi5694

Top Contributor
Sinnvoll ist es sicherlich, Code effizienter und Platz und zeitsparender zu machen wenn möglich.
... die Frage ist, wie viel Programmierzeit du investieren willst, um 2 Millisekunden sparen zu können.

Wenn du dir mal anschaust, wie viele Operationen in der GUI passieren, damit eine einzelne Linie gezeichnet wird, dann werden dir deine Optimierungen relativ sinnlos vorkommen - wie gesagt, so lange du nicht z.B. komplexe mathematische Operationen ausführst.

Und es hängt auch immer davon ab, was hinterher passiert. Ob das Ergebnis meiner Berechnung nun 4 oder 5 Sekunden dauert, ist egal, da die Verwendung der daraus resultierenden Produktionsdaten mehrere Minuten in Anspruch nehmen kann. Selbst wenn durch den Automatismus keine optimalen Daten entstehen, weil nicht jeder mögliche Fall abgedeckt wurde und die Produktion dadurch ein paar Sekunden länger dauert - auch egal. Mit der herkömmlichen Methode saßen Leute teilweise eine halbe Stunde dran und haben womöglich Fehler gemacht beim manuellen Generiern der Operationen, durch die neue Methode drücken sie ein Knöpfchen und haben ein Ergebnis nach wenigen Sekunden ein Ergebnis, mit dem hoqchqualitativ produziert werden kann.

Platz sparender ... nein, überhaupt nicht. Aus der Zeit sind wir seit 30 Jahren raus. Was heute Platz braucht, ist nicht der Code.
Hier ein Beispiel aus dem Jahr 2001. Ein bestimmtes Spiel hat damals 1.5 GB an Platz gefressen. Der Code? 10 MB.
Es ist vollkommen egal, ob deine Jar 2 oder 3 MB groß ist, die JRE alleine braucht schon ein Vielfaches davon.
Edit: Ok, beim RAM Speicher muss man vielleicht etwas aufpassen, aber auch da hat man mittlerweile doch deutlich mehr Freiheiten als noch vor 10 Jahren. Mit solch einfachen Problemen wirst du deinen RAM nicht voll kriegen. Das passiert im Normalfall heutzutage nur noch durch eine Endlosschleife. In anderen Sprachen musst du noch den Speicher nicht mehr verwendeter Objekte freigeben, in Java nicht. In dem Moment, wo auf ein Objekt keine Referenz mehr besteht, kümmert sich der Garbage Collector darum.

Dein Fokus muss darauf liegen, Code wartbar zu machen, dazu gehört unter anderem ihn zu organisieren. Halte zusammen, was zusammen gehört, trenne, was damit nicht direkt was zu tun hat. Die Methoden für dein Spiel gehören zum Spiel, sie in andere Klassen zu verlegen, macht deinen Code nur unwartbarer. Und beim Refactoring wirst du dich unglaublich schwer tun.

Ein klassisches Beispiel für zu trennende Logik sind Datenbankzugriffe. Diese gehören nicht in die Datenklassen. Man stelle sich mal vor, man ändert die DB in ein anderes System: Hölle. Und außerdem ... was hat das verwendete DBMS mit den Datenstrukturen zu tun? Deshalb gehören alle DB-Zugriffe in EINE Klasse, welche dann am Ende die Daten bereitstellt. Ändert man das DBMS, Tabellen oder Spaltennamen, dann muss nur diese eine Klasse geändert werden.
Deshalb ist auch der Punkt mit der Groß-Kleinschreibung so wichtig, wie mihe gesagt hat. Damit erkennst du sofort, worum es sich bei xyz handelt.
Und - wie immer - Dokumentation. Auch wenn eine Methode gut benannt ist (anstatt einfach nur "b()" zu heißen), sollte in der Methodendokumentation stehen, was darin passiert.

Was objektorientiertes Arbeiten angeht ... vergleiche es immer mit dem, was du darstellen willst, das ist ein guter Ansatz.
Wenn du mehrere Spieler in deinem Spiel hast, dann wird ein Array von ints kaum dabei helfen, das darzustellen.
Als erstes erstelle also eine Klasse "Player". Bestimme, was einen Player ausmacht, welche Eigenschaften hat er?
Was er können muss, kommt dann in einem zweiten Moment.
Dann mach das selbe für das "Spielbrett" oder womit auch immer gearbeitet wird. Haben die Felder bestimmte Eigenschaften? Falls ja, dann erstelle eine Klasse "Feld" und leg dort die Eigenschaften fest (falls es sich nur um Koordinaten handelt wie bei Schach, kann man eventuell auch darauf verzichten). Z.B. muss ein Feld eine Spielfigur beinhalten können, es braucht also eine Eigenschaft Spielfigur (ein anderer Ansatz wäre, der Spielfigur zu sagen, auf welchem Feld sie steht).
..... und und und
Deinen Code auf mehrere Klassen aufzuteilen hat mit objektorientiertem Design nichts zu tun, es geht vielmehr darum, dass die Eigenschaften eines Objekts bestimmt und zusammengehalten werden, vom Rest getrennt werden. Damit fängt alles an.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Hausaufgabe: Java-Programm schreiben zur Berechnung von x und y Java Basics - Anfänger-Themen 9
N Java Programm soll Datei in eigene jar schreiben Java Basics - Anfänger-Themen 13
O Wer kann mir ein fertiges Java Programm schreiben, Java Basics - Anfänger-Themen 12
W Java-PRogramm liest als EXE-File Nicht USB, jedoch aus NetBeans Java Basics - Anfänger-Themen 23
M Java Mail Programm Java Basics - Anfänger-Themen 4
E Java Programm zur anzeige, ob Winter- oder Sommerzeit herrscht Java Basics - Anfänger-Themen 62
P Wie kann ich in meinem Java Programm etwas dauerhaft speichern? Java Basics - Anfänger-Themen 5
H Java-Programm zur Ausgabe von Zuständen Java Basics - Anfänger-Themen 80
G Kann Java-Programm nicht als jar aufrufen, auch als EXE nicht Java Basics - Anfänger-Themen 19
benny1993 Java Programm erstellen für ein Fußball-Turnier Java Basics - Anfänger-Themen 3
KeinJavaFreak Erste Schritte Programm "Java(TM) Platform SE binary " nicht vorhanden Java Basics - Anfänger-Themen 1
D Java Programm mit Batch-Datei starten Java Basics - Anfänger-Themen 32
D Wie sehe ich ein Java-Programm? Java Basics - Anfänger-Themen 27
Zrebna Kann Java Programm nicht in Konsole ausführen Java Basics - Anfänger-Themen 1
T Java FXML selbes Fenster verschiedene Stellen im Programm Java Basics - Anfänger-Themen 5
J Mein Java Programm lässt sich nicht mehr bearbeiten Java Basics - Anfänger-Themen 2
A Verarbeiten einer Excel Datei durch das java-Programm Java Basics - Anfänger-Themen 3
B Java Programm soll mit Python kommunizeren Java Basics - Anfänger-Themen 1
M JAVA Programm in Website einbinden Java Basics - Anfänger-Themen 19
F Frage betreff Programm mit dem man C++-Code in JAVA-Code übersetzen lassen kann Java Basics - Anfänger-Themen 2
TimoN11 Mail Programm mit Java? Java Basics - Anfänger-Themen 1
F Java Programm, das kleine Buchstaben in einem String zählen soll und bei großen Buchstaben oder Sonderzeichen abbrechen soll. Java Basics - Anfänger-Themen 5
C Was ist nötig für ein Java-Programm auf Server für Website Java Basics - Anfänger-Themen 18
justemii Gehalt berechnen - Aufgabe Java-Programm Java Basics - Anfänger-Themen 9
N Best Practice How can I creat a programm with java under windows 10 in order to open an spreadsheet in libreoffice calc format Java Basics - Anfänger-Themen 11
P Wie für EIN Java Programm von 64bit Java (=Standard) auf 32bit Java Installation (Windows) umschalten? Java Basics - Anfänger-Themen 6
X Kurzes Java-Programm, das sich komisch verhält Java Basics - Anfänger-Themen 6
G Java-Programm Terminal Java Basics - Anfänger-Themen 2
Dimax Java Programm mit exec starten Java Basics - Anfänger-Themen 5
I Java Programm sieht wie exe aus. Java Basics - Anfänger-Themen 3
G Java-Programm weitergeben Java Basics - Anfänger-Themen 14
A Java-Programm läuft bei installierter JDK aber nicht mit JRE? Java Basics - Anfänger-Themen 5
W Java Programm mit API Anbindung Java Basics - Anfänger-Themen 2
D Java Programm mit JavaScript einbinden Java Basics - Anfänger-Themen 8
X Java Programm MacOS Java Basics - Anfänger-Themen 1
F Java Programm schließen Java Basics - Anfänger-Themen 1
M Java Methode editierbar machen im Programm Java Basics - Anfänger-Themen 62
B Mit Java anderes Java Programm starten Java Basics - Anfänger-Themen 3
J Java Programm Java Basics - Anfänger-Themen 29
B Java Eclipse Programm in einer Batch ausführen Java Basics - Anfänger-Themen 3
L Java Programm zum Auswerten von Daten Java Basics - Anfänger-Themen 11
S Bestehendes Java Programm, einen festen Wert ändern Java Basics - Anfänger-Themen 17
L Java Zip-Programm Java Basics - Anfänger-Themen 16
C Input/Output Textdatei vom Java-Programm nicht geladen Java Basics - Anfänger-Themen 58
M Java Programm über Batch-Datei ausführen Java Basics - Anfänger-Themen 1
B Brauch Hilfe für Java Programm Java Basics - Anfänger-Themen 12
T CMD über Java-Programm aufrufen Java Basics - Anfänger-Themen 2
L Java-Programm kompilieren Java Basics - Anfänger-Themen 24
D Java BlueJ Programm wiederholen? Java Basics - Anfänger-Themen 6
M Java Programm: Lottozahlen Java Basics - Anfänger-Themen 4
I Java Programm Java Basics - Anfänger-Themen 12
F Java Programm öffnen Java Basics - Anfänger-Themen 3
A Erste Schritte Programm in Shell mit bestimmter Java-Version aufrufen Java Basics - Anfänger-Themen 10
J Pdf-Dokument im Java-Programm öffnen Java Basics - Anfänger-Themen 3
M Chat Programm in Java Java Basics - Anfänger-Themen 1
M Wie sicher sind Daten im Java Programm? Java Basics - Anfänger-Themen 9
M Mein erstes Java Programm Java Basics - Anfänger-Themen 5
L Herunterladbares Java Programm in bestimmten Ordner speicher Java Basics - Anfänger-Themen 3
L Konsole öffnen und Java Programm darin ausführen Java Basics - Anfänger-Themen 4
C Programm JAR startet nicht - Could not create the Java Virtual Machine Java Basics - Anfänger-Themen 4
T CMD mit Java Programm öffnen? Java Basics - Anfänger-Themen 5
B Java Programm ohne statische Main Methode aufrufen Java Basics - Anfänger-Themen 5
G Input/Output CSV-Datei über Java-Programm erstellen, Zeichensalat Java Basics - Anfänger-Themen 3
F Java-Programm gibt in Eingabeaufforderung nichts aus Java Basics - Anfänger-Themen 4
M Erste Schritte Java programm unable to access Java Basics - Anfänger-Themen 10
? Klassen einfacher Fehler in einem Java Programm. Java Basics - Anfänger-Themen 5
? Methoden Fehler in einfachem Java Programm. Java Basics - Anfänger-Themen 9
T Selbst erstellten Dateityp mit java Programm assoziieren? Java Basics - Anfänger-Themen 4
S Programm wie Java? Java Basics - Anfänger-Themen 10
M C++ programm (kompiliertes) aus java aufrufen Java Basics - Anfänger-Themen 7
A Eclipse - Java-Programm exportieren für Ubuntu TLS 10 Java Basics - Anfänger-Themen 9
F Java-Programm aus CMD ausführen mit Parametern Java Basics - Anfänger-Themen 7
N Java Programm zum Suchen und Ersetzen von Text Dateien Java Basics - Anfänger-Themen 10
P Probleme Java Programm Java Basics - Anfänger-Themen 6
MiMa Lauffähiges Java Programm erstellen Java Basics - Anfänger-Themen 4
J C++ Bitmanipulations-Programm in Java umwandeln Java Basics - Anfänger-Themen 10
N Java Programm im CMD Fenster öffnen, wie? Java Basics - Anfänger-Themen 17
S Externes Java Programm starten Java Basics - Anfänger-Themen 9
D Java Programm auf Kommandozeile durchführen Java Basics - Anfänger-Themen 12
H Ich kann mein Java Programm Test.class nicht ausführen Java Basics - Anfänger-Themen 6
M Kann Java Programm nicht starten Java Basics - Anfänger-Themen 7
V Java Chat Programm Problem mit IP Addresse Java Basics - Anfänger-Themen 7
S Hilfe zu Java-Programm und JUnit Test!! Java Basics - Anfänger-Themen 5
B Mit Java-Programm Daten aus MySQL-Datenbank auslesen, lokal und nicht lokal. Java Basics - Anfänger-Themen 10
P Java Programm in Powerpoint Java Basics - Anfänger-Themen 5
Y Java Programm URL und String Vergleich! Java Basics - Anfänger-Themen 4
U Java-Programm auf einem Server starten Java Basics - Anfänger-Themen 33
M Kann mein Java Programm nicht starten Java Basics - Anfänger-Themen 6
G Kleine Java Programme aus Main Java Programm starten..... Java Basics - Anfänger-Themen 3
P Java Programm von außen aufrufen Java Basics - Anfänger-Themen 8
D Java programm durch vorgegebene bat ausführen Java Basics - Anfänger-Themen 3
Crashbreaker Eigene Java-Programm ohne hilfe des CMD starten Java Basics - Anfänger-Themen 11
S Interpreter-Fehler Java - Programm ausführen! Java Basics - Anfänger-Themen 12
B Grafische Oberfläche für Java-Programm Java Basics - Anfänger-Themen 5
T Mac OSX - Programm aus Java öffnen Java Basics - Anfänger-Themen 3
H Wie kann ich offline ein Java Programm abspeichern Java Basics - Anfänger-Themen 14
U Visual-Basic Programm mit Java steuern Java Basics - Anfänger-Themen 8
K In MySQL Select Variablen aus Java Programm benutzen Java Basics - Anfänger-Themen 8
J Java-Programm starten Java Basics - Anfänger-Themen 6
C java programm mit Texten, speichern und so Java Basics - Anfänger-Themen 3

Ähnliche Java Themen


Oben