OOP-Anfänge über CMD + Editor

Bene123

Mitglied
Hallo zusammen, ich bin quasie ein absoluter frischling im Programmieren - Nun folgendes:
Ich habe mir zum erlernen von Java ein Buch gekauft "Java von Kopf bis Fuß". Im grunde ein recht informatives Buch mir netten ersten übungen etc.

Ich habe nun Folgendes Problem:
1. ich arbeite über windows 10 mit CMD und den Editor
2. Ich habe ein Code abgeschrieben um übung im Schreiben und besseres verständnis zu bekommen. Aktuell bin ich bei dem Thema Objektorientiertes Programmieren angekommen - die codes sind soweit einfach und verständlich - in dem Beispiel geht es um das Objekt Hund und eine klasse.

nun habe ich folgendes Problem oder eher unwissenheit...

der Klassen code ist folgender:

Java:
class Hund {

int groeße;
String rasse;
String name;

void bellen() {
System.out.println("Wau! Wau!");
}
}

das Hauptprogramm lautet:

Java:
class HundTestlauf {
public static void main (String [] args) {

Hund h= new Hund();
h.groeße= 40;
h.bellen();
}
}

im grunde soll wenn ich das hauptprogramm startet das objekt ausgeführt werden mit der ausgabe Wau! Wau!

da ich ja nun ohne programme wie Eclipse usw arbeite stelen sich mit 2-3 fragen 1. speicher ich den code in 1 datei? 2. wenn ich 2 dateien nutze wie bekomm ich es hin das die beiden dateien ihre verknüpfung finden?

das ist für mich nicht ganz ersichtlich und ich könnte gerade fluchen :D

wäre also sehr dankbar wenn mir einer helfen könnte dieses verständnis zu gewinnen :)

MfG
Bene123
 
Zuletzt bearbeitet von einem Moderator:

VPChief

Bekanntes Mitglied
warum lädst du dir kein eclipse runter
1. speicher ich den code in 1 datei?
warum nicht?
wäre dann einfach so:
Java:
public static void main (String [] args) {

        bellen();
        }

    private static void bellen() {
        
            System.out.println("Wau! Wau!");
        }
PS: mit Java Code ist es deutlich einfacher zu lesen, einfach oben auf einfügen und dann auf Code, und dort den Code reinschreiben, oder einfach [CODE=java]yourcode[/CODE]
 

Bene123

Mitglied
warum lädst du dir kein eclipse runter

warum nicht?
PS: mit Java Code ist es deutlich einfacher zu lesen, einfach oben auf einfügen und dann auf Code, und dort den Code reinschreiben, oder einfach [CODE=java]yourcode[/CODE]
ok danke ich probier es mal aus

Java:
class Hund {

int groeße;
String rasse;
String name;

void bellen() {
System.out.println("Wau! Wau!");
}
}
class HundTestlauf {
public static void main (String [] args) {

Hund h= new Hund();
h.groeße= 40;
h.bellen();
}
}

das wäre der code
 

Bene123

Mitglied
warum lädst du dir kein eclipse runter

warum nicht?
wäre dann einfach so:
Java:
public static void main (String [] args) {

        bellen();
        }

    private static void bellen() {
       
            System.out.println("Wau! Wau!");
        }
PS: mit Java Code ist es deutlich einfacher zu lesen, einfach oben auf einfügen und dann auf Code, und dort den Code reinschreiben, oder einfach [CODE=java]yourcode[/CODE]
Eclipse habe ich - laut dem Buch soll es aber für das Verständnis erstmal leichter sein über die console und einem 0815 editor zu schreiben....
 

VPChief

Bekanntes Mitglied
bei meinem obringen Beispiel ist es nicht so umständlich

bellen(); ersetzt dann
class HundTestlauf { Hund h= new Hund();
 

Bene123

Mitglied
Error: Main method not found in class Hund, please define the main method as:
public static void main(String[] args)
or a JavaFX application class must extend javafx.application.Application

das bekomm ich von CMD gesagt also nein klappt nicht
 

VPChief

Bekanntes Mitglied
hmm, so funktioniert es bei mir:
Code:
package programme;



public class Programm2 {



public static void main (String [] args) {

        bellen();
        }

    private static void bellen() {
        
            System.out.println("Wau! Wau!");
        }


        
    }

aber wie dus gemacht hast is ja auch nicht verkehrt
 

Bene123

Mitglied
hmm, so funktioniert es bei mir:
Code:
package programme;



public class Programm2 {



public static void main (String [] args) {

        bellen();
        }

    private static void bellen() {
       
            System.out.println("Wau! Wau!");
        }


       
    }

aber wie dus gemacht hast is ja auch nicht verkehrt
 

Anhänge

  • 7FAC0206-9F19-4036-AB90-E981F42BBC9E.jpeg
    7FAC0206-9F19-4036-AB90-E981F42BBC9E.jpeg
    2 MB · Aufrufe: 12

Bene123

Mitglied
das Problem was ich habe ist das die folgenden übungen darauf aufbauen - ich habe danach noch ein weiteres Programm zum üben abgeschrieben aber bekomme dies auch nicht ans laufen - deswegen würde ich um das verständnis zu bekommen, wie es funktioniert den fehler raus finden den ich da mache.
 
K

kneitzel

Gast
Also Du kannst die Dateien direkt erstellen, z.B. mit dem Notepad.

Dabei ist wichtig:
a) Jede Datei heisst so wie die Klasse - nur eben mit .java am Ende. (Also class Hund --> Hund.java)
b) wenn die erste Zeile eine package zeile ist, dann muss die Datei in entsprechende Unterverzeichnisse. Der "." wird dabei zu einem "\" also package a.b.c -> a\b\c\
c) Wenn Du nun ein Projekt hast, das aus mehreren Dateien besteht, dann musst Du die Dateien alle beim Übersetzen angeben, also:
javac Hund.java AnotherFile.java WhatEver.java .... bzw die Dateien mit dem richtigen Pfad angeben also a\b\c\Hund.java und so...

Der Start erfolgt dann über ein einfaches
java Hund
so in der Klasse Hund die main Methode war. Dabei musst Du dich aber im Verzeichnis befinden, in dem die Klassen bzw. die Verzeichnisse selbst waren....
 

Bene123

Mitglied
Das ist die Fehlermeldung die mir ausgeworfen wird:

D:\JavaTestOrdner\ObjektorientierteTestProgramme\Hund>Java HundTestlauf.java
Exception in thread "main" java.lang.IllegalAccessError: failed to access class Hund from class HundTestlauf (Hund is in unnamed module of loader 'app'; HundTestlauf is in unnamed module of loader com.sun.tools.javac.launcher.Main$MemoryClassLoader @6d3af739)
at HundTestlauf.main(HundTestlauf.java:4)
 

Bene123

Mitglied
Also Du kannst die Dateien direkt erstellen, z.B. mit dem Notepad.

Dabei ist wichtig:
a) Jede Datei heisst so wie die Klasse - nur eben mit .java am Ende. (Also class Hund --> Hund.java)
b) wenn die erste Zeile eine package zeile ist, dann muss die Datei in entsprechende Unterverzeichnisse. Der "." wird dabei zu einem "\" also package a.b.c -> a\b\c\
c) Wenn Du nun ein Projekt hast, das aus mehreren Dateien besteht, dann musst Du die Dateien alle beim Übersetzen angeben, also:
javac Hund.java AnotherFile.java WhatEver.java .... bzw die Dateien mit dem richtigen Pfad angeben also a\b\c\Hund.java und so...

Der Start erfolgt dann über ein einfaches
java Hund
so in der Klasse Hund die main Methode war. Dabei musst Du dich aber im Verzeichnis befinden, in dem die Klassen bzw. die Verzeichnisse selbst waren....
ok danke also muss ich in die script datei ein Pfad zuweisen sprich \a \b usw? sry bin da echt absuluter neuling
 

VPChief

Bekanntes Mitglied
ok danke also muss ich in die script datei ein Pfad zuweisen sprich \a \b usw? sry bin da echt absuluter neuling
da kann ich dir auch nicht weiterhelfen, bin da so neu wie du, wenn nicht noch neuer, hab das schon immer in Eclipse gemacht.
benutz mal eclipse, oder mach mal so
erstelle eine datei HundTestlauf.java mit diesem inhalt:
Code:
public class HundTestlauf {
public static void main (String [] args) {

Hund h= new Hund();
h.groeße= 40;
h.bellen();
}
}

und eine datei Hund.java mit diesem inhalt
Code:
public class Hund {
  
int groeße;
String rasse;
String name;

void bellen() {
System.out.println("Wau! Wau!");
}
}
im gleichen ordner
 

Bene123

Mitglied
da kann ich dir auch nicht weiterhelfen, bin da so neu wie du, wenn nicht noch neuer, hab das schon immer in Eclipse gemacht.
benutz mal eclipse, oder mach mal so
erstelle eine datei HundTestlauf.java mit diesem inhalt:
Code:
public class HundTestlauf {
public static void main (String [] args) {

Hund h= new Hund();
h.groeße= 40;
h.bellen();
}
}

und eine datei Hund.java mit diesem inhalt
Code:
public class Hund {
 
int groeße;
String rasse;
String name;

void bellen() {
System.out.println("Wau! Wau!");
}
}
im gleichen ordner


Verzeichnis von D:\JavaTestOrdner\ObjektorientierteTestProgramme\Hund

08.09.2020 17:38 <DIR> .
08.09.2020 17:38 <DIR> ..
08.09.2020 17:39 251 Hund.java
08.09.2020 17:39 129 HundTestlauf.java
2 Datei(en), 380 Bytes
2 Verzeichnis(se), 998.540.607.488 Bytes frei

D:\JavaTestOrdner\ObjektorientierteTestProgramme\Hund>java HundTestlauf.java
HundTestlauf.java:4: error: cannot find symbol
Hund h= new Hund();
^
symbol: class Hund
location: class HundTestlauf
HundTestlauf.java:4: error: cannot find symbol
Hund h= new Hund();
^
symbol: class Hund
location: class HundTestlauf
2 errors
error: compilation failed

das ist das Resultat
 

VPChief

Bekanntes Mitglied
ich kann dir da nich mehr weiterhelfen, ausser dir zu sagen, dass du eclipse benutzen solltest, dann kann ich dir weiterhelfen
 
K

kneitzel

Gast
Also das Übersetzen muss erfolgen mit
java Hund.java HundTestlauf.java

Danach solltest Du in dem Ordner neben den beiden java Dateien ein Hund.class und HundTestlauf.class haben.
(Schau mit dir nach!)

Dann kannst Du den Aufruf machen mit
java HundTestlauf
 

Bene123

Mitglied
Also das Übersetzen muss erfolgen mit
java Hund.java HundTestlauf.java

Danach solltest Du in dem Ordner neben den beiden java Dateien ein Hund.class und HundTestlauf.class haben.
(Schau mit dir nach!)

Dann kannst Du den Aufruf machen mit
java HundTestlauf
Ok also beides mit javac compillieren und dann nochmal testen - werde ich später oder morgen mal machen :) mach nun erstmal ne Pause :)
 

mrBrown

Super-Moderator
Mitarbeiter
wäre dann einfach so:
Java:
public static void main (String [] args) {

        bellen();
        }

    private static void bellen() {
       
            System.out.println("Wau! Wau!");
        }
PS: mit Java Code ist es deutlich einfacher zu lesen, einfach oben auf einfügen und dann auf Code, und dort den Code reinschreiben, oder einfach [CODE=java]yourcode[/CODE]
BTW: das wäre ein ziemlicher Rückschritt im Vergleich zu dem im Buch gezeigten und allgemein ziemlich schlechter Code – sowas sollte sich besser niemand angewöhnen ;)
 

M.L.

Top Contributor
Was den Tip mit Eclipse angeht: neuere Versionen haben bei der Projektanlage evtl. ein Häkchen bei "module.info erstellen" gesetzt. Dieses erstmal entfernen um Probleme und Rückfragen diesbezüglich zu vermeiden.
 

Bene123

Mitglied
Hallo zusammen,
ich habe mir Eclipse nun mal geladen und es hat alles funktioniert :) Der fehler war tatsächlich, das ich die 2 Scripte nicht als eine Datei zusammengefasst habe - die verbindung hat gefehlt.

ich habe aber nochmal eine Verständnis Frage ein neues Programm:

Klasse mit der MAin Methode:


Code:
public class EchoTestLauf {
public static void main (String[] args) {
    
    Echo e1 = new Echo();
    Echo e2 = new Echo();
    
    int x = 0;
    
    while (x < 4) {
        e1.hallo();
        e1.zähler = e1.zähler +1;
        if(x == 3) {
            e2.zähler = e2.zähler + 1;
        }
        if (x > 0) {
            e2.zähler = e2.zähler + e1.zähler;
        }
        x = x +1;
    }
    System.out.println(e2.zähler);
        
    }
}

und das dazu gehörige Objekt:

Code:
class Echo {
    int zähler = 0;
    void hallo() {
        System.out.println("Halloooo...");
    }
}

meine Frage ist nun auf die Ausgabe bezogen und zwar:
In der while schleife wird der wert x < 4 angegeben, so das in der ausgabe
Halloooo...
Halloooo...
Halloooo...
Halloooo...
10
als Resultat erschein - so soll es auch sein.
Die frage ist für mich nun wie der Wert von 10 sich ergibt. Kann mir das jemand näher erläutern?
Danke schonmal im Vorfeld :)
 

Bene123

Mitglied
BTW: das wäre ein ziemlicher Rückschritt im Vergleich zu dem im Buch gezeigten und allgemein ziemlich schlechter Code – sowas sollte sich besser niemand angewöhnen ;)
naja das sie codes noch keine qualität haben ist für mich kein Wunder - es geht ja auch erstmal darum ein Paar codes zu schreiben und verständnis für schleifen usw zu bekommen - das die codes noch weit vom "profi" entfernt sind ist durchaus klar :)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
N Kommandozeile,Anfänge Java Basics - Anfänger-Themen 12
N Compiler-Fehler GUI Anfänge Java Basics - Anfänger-Themen 15
L anfänge mit Poi Java Basics - Anfänger-Themen 6
I Anfänge in der Netzprogrammierung Java Basics - Anfänger-Themen 14
T Anfänge mit Graphics2D Java Basics - Anfänger-Themen 15
richis-fragen GlassPane über JScrollPane legen Java Basics - Anfänger-Themen 6
A Server - Client Nachrichtenaustausch über Eventbus Java Basics - Anfänger-Themen 12
P Neue Java v8 JRE Version nicht über alte drüber installierbar: Wie sonst? Java Basics - Anfänger-Themen 7
D Downloadfortschritt von Datei über Google Drive API v3 Java Basics - Anfänger-Themen 10
B großzügiges Pixelraster über Bildschirm legen Java Basics - Anfänger-Themen 7
ravenz Schleife mit for über String Array „zahlen“und prüfen ob Wert „a“ oder „b“ oder „c“ entspricht (mittels || ) Java Basics - Anfänger-Themen 4
L Beim Java Programmstart, mehrere Parameter über die Kommandozeile übergeben Java Basics - Anfänger-Themen 9
sserio Iterierung über ein zweidimensionales Array Java Basics - Anfänger-Themen 16
H Eine Methode über Actionlistener beenden Java Basics - Anfänger-Themen 8
S Java über SSH Java Basics - Anfänger-Themen 13
X Wie erreiche ich, dass ein Robot weitere Attribute hat, die nicht materialisiert sind, sondern nur über get/ set-Methoden simuliert sind? Java Basics - Anfänger-Themen 1
M Wie können Klassen nicht-materialisierte Attribute haben, die nur über get/ set-Mehoden simuliert sind? Java Basics - Anfänger-Themen 6
D Best Practice Ausgabe über direkte Ausgabe oder try-catch? Java Basics - Anfänger-Themen 13
R Eigenschaft über Parameter auslesen und ändern Java Basics - Anfänger-Themen 15
P Datei einlesen, nach Begriff filtern und in Datei ausgeben. Problem Standardausgabe über Konsole Java Basics - Anfänger-Themen 19
W Unterschiede bei Zugriff auf Objekt und Klassenvariablen über einen Getter? Java Basics - Anfänger-Themen 2
W char über die Konsole? Java Basics - Anfänger-Themen 7
EchtKeineAhnungManchmal Hallo :) ich bekomme es nicht hin eine Fehlermeldung auszugeben über die GUI Java Basics - Anfänger-Themen 3
S Array über ein Ausgabemethode in main ausgeben Java Basics - Anfänger-Themen 31
C Potenzberechnung über switch case. Taschenrechner mit Eingabe über einen grafischen Dialog Java Basics - Anfänger-Themen 22
J Wert zurückgeben über get Methode Java Basics - Anfänger-Themen 8
J Eintrag Combobox über einen String auswählen Java Basics - Anfänger-Themen 3
A Array Ansprache einer Zelle über Punktnotation? Java Basics - Anfänger-Themen 3
O Java über cmd benutzen ? Java Basics - Anfänger-Themen 5
J Variablenzugriff über string Java Basics - Anfänger-Themen 18
W Objekte über Scanner Input; ToString Probleme... Java Basics - Anfänger-Themen 4
H Methode über String Wert aufrufen Java Basics - Anfänger-Themen 8
M Java Kompilieren über Package grenzen hinaus Java Basics - Anfänger-Themen 4
M Arrays mit mehreren Werten über JOptionPane initialisieren Java Basics - Anfänger-Themen 12
Tino1993 Ellipse über draw Funktion ohne spur wandern lassen Java Basics - Anfänger-Themen 6
M Mehrere Datenbank zugriffe über tomee.xml regeln? Java Basics - Anfänger-Themen 1
N Input/Output Eine Frage über system.out.println. Java Basics - Anfänger-Themen 10
J Array über Getter erlangen Java Basics - Anfänger-Themen 34
S While-Schleife geht in Endlosschleife über, warum? Java Basics - Anfänger-Themen 6
G Variablen Array Länge über den Konstruktor definieren Java Basics - Anfänger-Themen 4
L Addition von Arrays über die Parameterliste Java Basics - Anfänger-Themen 11
C Datei über relative Pfade einlesen Java Basics - Anfänger-Themen 6
1 Erste Schritte Was denkt ihr über eines meiner ersten Javaprogramme? Java Basics - Anfänger-Themen 2
S Allgemeine Frage über Generics und Vererbungen Java Basics - Anfänger-Themen 5
J Button über Pfeiltasten bewegen Java Basics - Anfänger-Themen 8
E Objekt durch Benutzer über Konsole erzeugen - Java Java Basics - Anfänger-Themen 3
N Eingabe Kommazahlen über Scanner Java Basics - Anfänger-Themen 2
T DoWhile Schleife über mehrere Mothoden Java Basics - Anfänger-Themen 5
C Collections List über Interface zugreifen Java Basics - Anfänger-Themen 32
J Gefilterten Stream über die Konsole ausgeben Java Basics - Anfänger-Themen 1
S Variablen Klassenvariable über Objekt aufrufen Java Basics - Anfänger-Themen 16
S Bilder über Socket Senden Java Basics - Anfänger-Themen 1
K Textdatei auslesen und über Mqtt schicken Java Basics - Anfänger-Themen 4
L Iterieren über eine CSV Datei Java Basics - Anfänger-Themen 7
I GUI über Eclipse oder NetBeans Java Basics - Anfänger-Themen 23
S Klassenaufruf über JFrame Button Java Basics - Anfänger-Themen 3
Java The Hutt SetWerte über verschiedene Klassen Java Basics - Anfänger-Themen 16
L Zugriff auf Attribute eins Objekts über ActionListener Java Basics - Anfänger-Themen 4
O Methode über Leerzeichen Java Basics - Anfänger-Themen 13
I OOP Objektnamen über die Konsole richtig einlesen Java Basics - Anfänger-Themen 9
A Variablen Variablenwert über Konstruktor ändern Java Basics - Anfänger-Themen 3
J MySQL Datumsabfrage über ResultSet in Java-Servlet Java Basics - Anfänger-Themen 4
CptK Interface Bilder über Bildschirm bewegen, bis der Abstand zum vorherigen zu groß wird Java Basics - Anfänger-Themen 13
dapzoo Class File Version zu niedrig? Ausführen über Eingabeaufforderung nicht möglich Java Basics - Anfänger-Themen 14
J Punkt auf,über,unter oder zwischen 2 Geraden Java Basics - Anfänger-Themen 14
CptK Interface Bild über Methode ändern funktioniert nicht Java Basics - Anfänger-Themen 4
R Keine Verbindung zu MySql über Netbeans Java Basics - Anfänger-Themen 15
E Best Practice Jar-file mit zwei Klassen und externer Bibliothek über Konsole erzeugen Java Basics - Anfänger-Themen 13
J Aufruf einer Methode über einen String Java Basics - Anfänger-Themen 11
G Arraynamen über eine Schleife ansprechen Java Basics - Anfänger-Themen 4
S Bild über JButton legen Java Basics - Anfänger-Themen 3
temi Druckeransteuerung über ESC-Sequenz Java Basics - Anfänger-Themen 21
M Methodenaufruf über SQL UPDATE Java Basics - Anfänger-Themen 8
B Könnte jemand über dieses jurze Javaprogramm schauen? Irgendwas funktioniert mit der z-Varible nicht Java Basics - Anfänger-Themen 2
M Java Programm über Batch-Datei ausführen Java Basics - Anfänger-Themen 1
E Wie Passwort-Eingabe (ohne Echo!) über Konsole ? Java Basics - Anfänger-Themen 4
C Erste Schritte Fehler beim *.class Aufruf über cmd.exe Java Basics - Anfänger-Themen 9
R Fragen über den Konstruktor Java Basics - Anfänger-Themen 0
X Minimax-Algorithmus über alle Kanten möglich? - Kanten darstellen Java Basics - Anfänger-Themen 1
P Threads Prozess kann nicht über die GUI gestartet werden Java Basics - Anfänger-Themen 8
T CMD über Java-Programm aufrufen Java Basics - Anfänger-Themen 2
X Finde die Files über FTP nicht Java Basics - Anfänger-Themen 4
J Methode über Scanner aufrufen Java Basics - Anfänger-Themen 15
P Programm kann über CMD nicht ausgeführt werden Java Basics - Anfänger-Themen 2
E Frage über Speichern und Ausgabe Java Basics - Anfänger-Themen 7
J Verschieden Fragen über Java Programmierung Java Basics - Anfänger-Themen 3
X Betriebssytem interne Consolen Commands über Java starten Java Basics - Anfänger-Themen 2
J ArrayList über verschiedene Klassen verwenden Java Basics - Anfänger-Themen 7
A .jar über Webbrowser aufrufen Java Basics - Anfänger-Themen 2
D Ausgabe über JLabel Java Basics - Anfänger-Themen 12
L Erste Schritte Arrays über eine for Schleife ansprechen. Java Basics - Anfänger-Themen 6
MiMa Datentyp Short Wert zuweisen über Methode Java Basics - Anfänger-Themen 2
K Objekt soll Anwendung über Änderungen informieren Java Basics - Anfänger-Themen 8
Detox Class Datei erzeugen nicht möglich über cmd Java Basics - Anfänger-Themen 1
F Gewichteter Mittelwert über eine Zeitperiode Java Basics - Anfänger-Themen 3
B Schleife über einen Container Java Basics - Anfänger-Themen 7
Henri Paare Frage über Java Programmierung Java Basics - Anfänger-Themen 10
T jar von stick aus über jre auf stick starten Java Basics - Anfänger-Themen 6
L Iterieren über ArrayList Java Basics - Anfänger-Themen 1
D Java doppelte Zahlen auch über 10 in einem String entfernen Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben