Eclipseprogramm funktioniert mit cmd nicht

KingOfExceptions

Bekanntes Mitglied
Hallo leute,

ich habe in eclipse ein programm mit den klassen:

Main
Spieler
Doer
SpielerObjekt

erstellt. Das läuft auch ohne Probleme. Am anfang importiere ich das package, in dem diese klassen sind.

Da aber alle ausgaben mit System.out.println() gemacht werden, muss ja das programm in der cmd gestartet werden. wenn ich das mache, dann kommt die fehlermeldung, dass die main nicht gefunden wird(im Main.java) obwohl alles in eclipse ohne probleme funktionierte.

hier mal die klassen:

Main:
Java:
package StaemmeSpielerVerwaltung;

public class Main
{
    public static void main(String[] args)
    {
        Spieler spieler = new Spieler();
        spieler.intialisiere();
        spieler.anfangsspiel();
        
        while (true)
        {
            String antwort = spieler.leseAntwort();
            spieler.wasGemachtWerdenSoll(antwort);
        }
        
    }
    
}

Spieler

Java:
package StaemmeSpielerVerwaltung;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.util.Scanner;
import java.util.Vector;

import javax.swing.JOptionPane;

class Spieler
{
    Scanner                      scanner    = new Scanner(System.in);
    int                          randomZahl = 0;
    Doer                         doer       = new Doer();
    static Vector<SpielerObjekt> vec        = new Vector<SpielerObjekt>(50, 5);
    
    public Spieler()
    {
        
    }
    
    public static Vector<SpielerObjekt> getVec()
    {
        return vec;
    }
    
    public void intialisiere()
    {
        
        try
        {
            BufferedReader reader = new BufferedReader(new FileReader("Speicherung"));
            
            String zeile = reader.readLine();
            
            String[] values = null;
            
            if (zeile != null)
            {
                values = zeile.split("/");
                
                for (int k = 0; k < values.length; k += 3)
                {
                    vec.add(new SpielerObjekt(values[k], Integer.parseInt(values[k + 1]), Integer.parseInt(values[k + 2])));
                }
            }
            reader.close();
        }
        
        catch (IOException exception)
        {
            JOptionPane.showMessageDialog(null, "Es ist ein Fehler beim Laden aufgetreten.");
        }
        
        doer.intialisieren();
    }
    
    public void anfangsspiel()
    {
        System.out.println("*****************************************");
        System.out.println("*          Copyright (c) 2012           *");
        System.out.println("*        Staemmehelper by BotBot        *");
        System.out.println("*****************************************");
        System.out.println("*         Für die Hilfe 'h' tippen      *");
        System.out.println("*             'Neuer Spieler'           *");
        System.out.println("*             'Lösche Spieler'          *");
        System.out.println("*             'Zeige Spieler'           *");
        System.out.println("*           'Bearbeite Spieler'         *");
        System.out.println("*           'exit' zum beenden          *");
        System.out.println("*****************************************");
    }
    
    public String leseAntwort()
    {
        return scanner.nextLine();
    }
    
    public void wasGemachtWerdenSoll(String antwort)
    {
        if (antwort.equals("h"))
            doer.hilfeAnzeigen();
        else if (antwort.equals("Neuer Spieler"))
            doer.neuerSpieler();
        else if (antwort.equals("Lösche Spieler"))
            doer.löscheSpieler();
        else if (antwort.equals("Zeige Spieler"))
            doer.zeigeSpieler();
        else if (antwort.equals("Bearbeite Spieler"))
            doer.bearbeiteSpieler();
        else if (antwort.equals("exit"))
        {
            sicheresBeenden();
            System.exit(-1);
        }
        else
        {
            System.out.println("Invalid input.");
            System.out.println("Re-enter your input");
        }
    }
    
    private void sicheresBeenden()
    {
        try
        {
            BufferedWriter writer = new BufferedWriter(new FileWriter("Speicherung"));
            
            for (int i = 0; i < doer.vec.size(); i++)
            {
                writer.write(doer.vec.elementAt(i).name);
                writer.write("/");
                writer.write(String.valueOf(doer.vec.elementAt(i).verloreneTruppenBeiIhm));
                writer.write("/");
                writer.write(String.valueOf(doer.vec.elementAt(i).verloreneTruppenBeiWeg));
            }
            
            writer.close();
            
        }
        
        catch (IOException exception)
        {
            JOptionPane.showMessageDialog(null, "Es ist ein Fehler beim Speichern aufgetreten.");
        }
        
        for (int i = 0; i < doer.vec.size(); i++)
        {
            System.out.print(doer.vec.elementAt(i).name);
            System.out.print("/");
            System.out.print(doer.vec.elementAt(i).verloreneTruppenBeiIhm);
            System.out.print("/");
            System.out.print(doer.vec.elementAt(i).verloreneTruppenBeiWeg);
        }
    }
}

Doer

Java:
package StaemmeSpielerVerwaltung;

import javax.swing.BoxLayout;
import javax.swing.JFrame;
import javax.swing.JLabel;
import java.util.Scanner;
import java.util.Vector;

public class Doer
{
    
    Scanner               scan = new Scanner(System.in);
    Vector<SpielerObjekt> vec  = new Vector<SpielerObjekt>(50, 5);
    
    public void intialisieren()
    {
        if (!Spieler.vec.isEmpty())
            vec.addAll(Spieler.getVec());
    }
    
    public void hilfeAnzeigen()
    {
        JFrame frame = new JFrame();
        
        JLabel label = new JLabel("*****************************************");
        JLabel label1 = new JLabel("*            Für die Hilfe 'h' tippen      *");
        JLabel label2 = new JLabel("*                'Neuer Spieler'           *");
        JLabel label3 = new JLabel("*                'Lösche Spieler'          *");
        JLabel label4 = new JLabel("*                'Zeige Spieler'           *");
        JLabel label5 = new JLabel("*              'Bearbeite Spieler'         *");
        JLabel label6 = new JLabel("*****************************************");
        JLabel label7 = new JLabel("*               'exit' zum beenden         *");
        
        frame.add(label);
        frame.add(label1);
        frame.add(label2);
        frame.add(label3);
        frame.add(label4);
        frame.add(label5);
        frame.add(label7);
        frame.add(label6);
        
        frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
        frame.setLayout(new BoxLayout(frame.getContentPane(), BoxLayout.Y_AXIS));
        frame.pack();
        frame.setResizable(false);
        frame.setAlwaysOnTop(true);
        frame.setLocationRelativeTo(null);
        frame.setVisible(true);
    }
    
    public void neuerSpieler()
    {
        System.out.println("Wie heißt der Spieler?");
        String name = scan.next();
        System.out.println("Truppenanzahl, die für ihn geopfert wurden:");
        int geopferte=scan.nextInt();
        System.out.println("Truppenanzahl von ihm, die geopfert wurden:");
        int gegebene=scan.nextInt();
        
        vec.add(new SpielerObjekt(name,geopferte,gegebene));
        System.out.println("Gespeichert!");
    }
    
    public void löscheSpieler()
    {
        System.out.println("Wie heißt der Spieler?");
        String name = scan.next();
        
        int x = 0;
        
        for (x = 0; x < vec.size(); x++)
        {
            if (vec.elementAt(x).name.equals(name))
                break;
        }
        
        boolean exception=false;
        
        try
        {
            vec.remove(x);
        }
        catch (Exception e)
        {
            exception=true;
            System.out.println("Spieler nicht gefunden");
        }
        if(!exception)
            System.out.println("Spieler wurde gelöscht");
    }
    
    public void zeigeSpieler()
    {
        System.out.println("Wie heißt der Spieler?");
        String name = scan.next();
        
        int x = 0;
        
        for (x = 0; x < vec.size(); x++)
        {
            if (vec.elementAt(x).name.equals(name))
                break;
        }
        try
        {
            vec.elementAt(x).printDaten();
        }
        catch (Exception e)
        {
            System.out.println("Spieler nicht gefunden");
        }
    }
    
    public void bearbeiteSpieler()
    {
        System.out.println("Wie heißt der Spieler?");
        String name = scan.next();
        
        int x = 0;
        
        for (x = 0; x < vec.size(); x++)
        {
            if (vec.elementAt(x).name.equals(name))
                break;
        }
        
        boolean exception = false;
        try
        {
            System.out.println("Neuer Name:");
            String neuName = scan.next();
            System.out.println("Aktualisierte Truppenanzahl, der für ihn geopferte Truppen:");
            int neuGeopfert = scan.nextInt();
            System.out.println("Aktualisierte Truppenanzahl von seinen gefallenen Truppen:");
            int neuGefallen = scan.nextInt();
            vec.elementAt(x).changeDaten(neuName, neuGeopfert, neuGefallen);
        }
        catch (Exception e)
        {
            exception=true;
            System.out.println("Spieler nicht gefunden");
        }
        
        if(!exception)
            System.out.println("Bearbeitet!");

    }
    
}

SpielerObjekt

Java:
package StaemmeSpielerVerwaltung;

public class SpielerObjekt
{
    String name="";
    int verloreneTruppenBeiIhm=0;
    int verloreneTruppenBeiWeg=0;
    
    public SpielerObjekt(String name, int verloreneTruppenBeiIhm, int verloreneTruppenBeiWeg)
    {
        this.name=name;
        this.verloreneTruppenBeiIhm=verloreneTruppenBeiIhm;
        this.verloreneTruppenBeiWeg=verloreneTruppenBeiWeg;
    }
    
    public void printDaten()
    {
        System.out.println("Name: "+name);
        System.out.println("Truppen für ihn geopfert: "+verloreneTruppenBeiIhm);
        System.out.println("Truppen von ihm geopfert: "+verloreneTruppenBeiWeg);
    }
    
    public void changeDaten(String neuerName, int neuVerloreneTruppenBeiIhm, int neuVerloreneTruppenBeiWeg)
    {
        name=neuerName;
        verloreneTruppenBeiIhm=neuVerloreneTruppenBeiIhm;
        verloreneTruppenBeiWeg=neuVerloreneTruppenBeiWeg;
    }
}

woran könnte das liegen? oder gibt es vllt eine andere möglichkeit als über cmd auch wenn alles mit System.out.println() gemacht wird?
 

Anhänge

  • Aufzeichnen.JPG
    Aufzeichnen.JPG
    14 KB · Aufrufe: 16

faetzminator

Gesperrter Benutzer
Da aber alle ausgaben mit System.out.println() gemacht werden, muss ja das programm in der cmd gestartet werden.

Nein. Eclipse kennt die [c]Console[/c]. [c]System.in[/c], [c]out[/c] und [c]err[/c] sind natürlich auf diese Konsole geleitet.
Wenn du die Anwendung verwenden / verteilen willst, kannst du ein ausführbares* Jar erstellen (File > Export o.ä.).

*Natürlich nur mit einer JVM
 
G

Gast2

Gast
java erwartet aber den Klassennamen und nicht den Namen der Datei. Der (vollständige) Name deiner Klasse ist
Code:
StaemmeSpielerVerwaltung.Main
. Du musst also in den src Ordner und dort
Code:
java StaemmeSpielerVerwaltung.Main
ausführen.
 

KingOfExceptions

Bekanntes Mitglied
Nein. Eclipse kennt die [c]Console[/c]. [c]System.in[/c], [c]out[/c] und [c]err[/c] sind natürlich auf diese Konsole geleitet.
Wenn du die Anwendung verwenden / verteilen willst, kannst du ein ausführbares* Jar erstellen (File > Export o.ä.).

*Natürlich nur mit einer JVM

das problem ist dann bei mir, dass es dann keine ausgaben auf der konsole gibt ... wo gehen denn die System.out.prints bei einer jar hin?
 

faetzminator

Gesperrter Benutzer
java erwartet aber den Klassennamen und nicht den Namen der Datei. [...]
Das sagt er in seinem Post doch.

KingOfExceptions, was ist die genaue Fehlermeldung? ClassNotFoundException? Von welcher Klasse? Versuch evtl. mal [c]javac *.java[/c] o.ä., um die Klassen zu kompilieren.
Eclipse gibt [c]System.out[/c] in der [c]Console[/c] aus.
 

KingOfExceptions

Bekanntes Mitglied
nein nein nein... es klappt ja jetzt mit der cmd. aber du meintest es würde auch mit jar gehen und jetzt fragte ich wo denn die system.out.println() landen, da bei einer jar ja nichts angezeigt wird...
 

Volvagia

Top Contributor
Falls du per Java startest in der Konsole (es sei denn, du leitest sie um), falls du per Javaw startest auch in der Konsole, sie startet aber nicht mit.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M HelloWorld.txt nach HelloWorld.java in Win11 funktioniert nicht Java Basics - Anfänger-Themen 4
A Signierte Exe Datei funktioniert nicht mehr Java Basics - Anfänger-Themen 1
A Signierte Exe Datei funktioniert nicht mehr Java Basics - Anfänger-Themen 3
C my_table.setRowSelectionAllowed(true) funktioniert nicht; Java Basics - Anfänger-Themen 0
B Warum funktioniert die Lösung von CodeGym aber meine nicht? Java Basics - Anfänger-Themen 3
I Webservice funktioniert nicht Java Basics - Anfänger-Themen 5
C Abbruch einer Schleife mit break, meine Übung funktioniert nicht richtig Java Basics - Anfänger-Themen 4
S Erstes Programm: Hallo Welt funktioniert nicht. Java Basics - Anfänger-Themen 3
J Datenüberwachung funktioniert nicht Java Basics - Anfänger-Themen 9
mo13 JTextField funktioniert nicht Java Basics - Anfänger-Themen 4
G .jar datei öffnen funktioniert nicht Java Basics - Anfänger-Themen 17
G Mit jPackage erstellte EXE funktioniert nicht Java Basics - Anfänger-Themen 2
G Robot funktioniert nicht bei SelectionListener Java Basics - Anfänger-Themen 6
R RegEx funktioniert nicht Java Basics - Anfänger-Themen 14
S 2 Reihen ratio-btn, eine Reihe funktioniert andere nicht Java Basics - Anfänger-Themen 4
monsterherz Punkt Notation funktioniert nicht Java Basics - Anfänger-Themen 4
N Programm Funktioniert mit .txt Datei aber nicht mit .rtf Datei Java Basics - Anfänger-Themen 2
D Quellcode für cmd funktioniert nicht Java Basics - Anfänger-Themen 9
ms_cikar Bin to Float convertieren funktioniert nicht Java Basics - Anfänger-Themen 24
B Schrankensystem mit Farberkennung für Flashgame funktioniert nicht wie geplant Java Basics - Anfänger-Themen 4
I Greenscreen, funktioniert nicht zu 100%... nicht alle Pixel werden geändert Java Basics - Anfänger-Themen 1
JordenJost char variable funktioniert irgendwie nicht a+b ergibt nicht à Java Basics - Anfänger-Themen 4
M Operatoren Strings mit Vergleichsoperatoren, funktioniert das? Java Basics - Anfänger-Themen 9
Garrit1994 Continue funktioniert nicht wie geplant Java Basics - Anfänger-Themen 4
B Methoden Übergebe Variabel funktioniert nicht Java Basics - Anfänger-Themen 17
P exportiertes Programm funktioniert nur teilweise Java Basics - Anfänger-Themen 7
Agent4nobody Programmstart durch aufruf des interpreters funktioniert nicht Java Basics - Anfänger-Themen 14
Fugover Programm funktioniert nicht Java Basics - Anfänger-Themen 11
X Datentypen String.equals funktioniert nicht Java Basics - Anfänger-Themen 5
berserkerdq2 wie funktioniert contenthandler, was muss ich bei der Methode startElement und endElement tun? Java Basics - Anfänger-Themen 11
Alen123 Warum funktioniert mein Code nicht? Java Basics - Anfänger-Themen 64
sserio Array funktioniert nicht Java Basics - Anfänger-Themen 2
sserio Wieso funktioniert mein Programm nicht Java Basics - Anfänger-Themen 2
A String split funktioniert nicht, wenn mehr als 1 Ziffer vor dem Zeichen steht nach dem er trennen soll? Java Basics - Anfänger-Themen 4
sserio Größtes Palindrom-Produkt Programm funktioniert nur halb Java Basics - Anfänger-Themen 23
sserio Rekursion größten Primfaktor finden funktioniert nicht Java Basics - Anfänger-Themen 8
sserio Wieso funktioniert mein TableView nicht /JavaFX. Java Basics - Anfänger-Themen 4
Avalon Warum funktioniert eine Bedingung und eine andere nicht? Java Basics - Anfänger-Themen 2
J Datentypen String in File konvertieren funktioniert nicht Java Basics - Anfänger-Themen 4
U Wie genau funktioniert der ! Operator Java Basics - Anfänger-Themen 3
stormyark 4 Bit in einer for-schleife funktioniert nicht Java Basics - Anfänger-Themen 3
J Nach dem Exportieren funktioniert mein Programm nicht mehr Java Basics - Anfänger-Themen 8
M Java printf(Locale.... funktioniert nicht Java Basics - Anfänger-Themen 3
N Wieso funktioniert die Deklaration nicht Java Basics - Anfänger-Themen 3
C Long value an Stringbuilder übergeben, equals Methode funktioniert nicht Java Basics - Anfänger-Themen 2
districon Backtracking funktioniert nicht ganz Java Basics - Anfänger-Themen 3
H Array rückwärts auslesen funktioniert nicht Java Basics - Anfänger-Themen 3
S Math.random funktioniert nicht Java Basics - Anfänger-Themen 5
S Schleife funktioniert nicht Java Basics - Anfänger-Themen 2
B Ausgabe in TextArea funktioniert nicht Java Basics - Anfänger-Themen 2
Henri Webservice Delete und Update Methode funktioniert nicht Java Basics - Anfänger-Themen 27
J ActionListener von JCheckBox im Knoten von JTree funktioniert nicht Java Basics - Anfänger-Themen 2
C System.out.println - Parameterübergabe funktioniert nicht Java Basics - Anfänger-Themen 2
JD_1998 Hilfsmethode if return funktioniert nicht Java Basics - Anfänger-Themen 2
C JButton Text 2 Mal ändern funktioniert nicht Java Basics - Anfänger-Themen 8
T % funktioniert nicht Java Basics - Anfänger-Themen 2
D e(fx)clipse installieren funktioniert nicht Java Basics - Anfänger-Themen 3
D GPIO Nutzung mit Pi4J Library auf Raspberry funktioniert nicht Java Basics - Anfänger-Themen 3
F Java GUI-PaintComponent funktioniert nicht Java Basics - Anfänger-Themen 1
J equals funktioniert nicht - Warum Java Basics - Anfänger-Themen 13
L hilfe run button funktioniert nicht Java Basics - Anfänger-Themen 13
I Array funktioniert nicht. Java Basics - Anfänger-Themen 2
T if else Befehl funktioniert nicht richtig Java Basics - Anfänger-Themen 27
V_Fynn03 Erste Schritte BubbleSort Quelltext funktioniert noch nicht Java Basics - Anfänger-Themen 1
V_Fynn03 Erste Schritte JButton funktioniert nicht trotz richtiger Methode. Java Basics - Anfänger-Themen 17
R Erste Schritte Eclipse - Java - System.out.println(); funktioniert nicht Java Basics - Anfänger-Themen 2
G Programm mit Schleife funktioniert nicht Java Basics - Anfänger-Themen 5
T Redirect funktioniert nicht Java Basics - Anfänger-Themen 3
R Mein Plugin funktioniert nicht? Java Basics - Anfänger-Themen 10
J Zufallszahl funktioniert nicht Java Basics - Anfänger-Themen 27
D Klassen add Methode funktioniert nicht. Java Basics - Anfänger-Themen 31
J ImagaIO funktioniert nicht unter Ubuntu Java Basics - Anfänger-Themen 23
F Vergleiche mit charAt funktioniert bei Strings nicht, was tun? Java Basics - Anfänger-Themen 5
N Wochentagberechner Ausgabe funktioniert nicht Java Basics - Anfänger-Themen 7
G Mein Java Projekt funktioniert nicht Java Basics - Anfänger-Themen 5
J Einlesen von Datei funktioniert nicht Java Basics - Anfänger-Themen 8
W Wieso funktioniert mein Switch Case nicht ?! Java Basics - Anfänger-Themen 9
P Zeichenkette Zeichen ausschlißen funktioniert nicht richtig Java Basics - Anfänger-Themen 9
F Primzahlsuche Schleife funktioniert nicht, HILFE! Java Basics - Anfänger-Themen 8
M Methoden Arrays.deepequals() funktioniert nicht Java Basics - Anfänger-Themen 2
B Statische Methode return funktioniert nicht. Java Basics - Anfänger-Themen 19
S JDK 9 für Windows 32 bit installiert, aber es funktioniert nix Java Basics - Anfänger-Themen 6
F Input/Output die eine txt-Datei funktioniert die andere nicht Java Basics - Anfänger-Themen 8
CptK Interface Bild über Methode ändern funktioniert nicht Java Basics - Anfänger-Themen 4
D Funktion zwei Arraylisten zu verleichen ob gleich funktioniert nicht Java Basics - Anfänger-Themen 26
A Hilfe bei Rekursion,Ich verstehe nicht,wie funktioniert die Rekursion in der Methode "walk" Java Basics - Anfänger-Themen 13
P Vererbung Warum funktioniert die Vererbung hier nicht Java Basics - Anfänger-Themen 14
P Upload Button funktioniert nicht Java Basics - Anfänger-Themen 13
S Dijkstra Algorithmus funktioniert nicht Java Basics - Anfänger-Themen 4
M Datei einlesen mit Scanner funktioniert nicht (FileNotFoundException) Java Basics - Anfänger-Themen 6
A TicTacToe funktioniert bis auf "schiefer" Sieg Java Basics - Anfänger-Themen 6
M Erste Schritte Importieren funktioniert nicht Java Basics - Anfänger-Themen 7
N Funktion funktioniert nicht immer Java Basics - Anfänger-Themen 6
F FileCreation - PrintWriter funktioniert nicht... Java Basics - Anfänger-Themen 1
I Collections.shuffle funktioniert nicht Java Basics - Anfänger-Themen 1
T Methode in Klasse funktioniert nicht Java Basics - Anfänger-Themen 14
T While Schleife funktioniert nicht Java Basics - Anfänger-Themen 14
C Warum funktioniert 'instanceof' bei generics nicht? Java Basics - Anfänger-Themen 4
M Frage, wie dieser Code funktioniert, bzw. weshab er bei mir nicht funktioniert Java Basics - Anfänger-Themen 4
L Level Reset funktioniert nicht Java Basics - Anfänger-Themen 3

Ähnliche Java Themen


Oben