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:
Spieler
Doer
SpielerObjekt
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?
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?