|
Hi,
ich habe bei mir ein kleines Problem.
Ursprünglich wollte ich ein bisschen mit Packages und Interfaces rumspielen und hatte das daher auf 3 Files aufgeteilt, jetzt ist es aber zusammengefasst in einer.
So funzt das Compillieren:
import java.util.Scanner;
public class Main {
String stein = "Stein";
int steini=0;
String schere = "Schere";
int scheri=1;
String papier = "Papier";
int papieri = 2;
int moeglichkeiten = 3;
public int siege=0;
public int niederlagen=0;
public int zufallszug(){
return (int)(Math.random()*moeglichkeiten);
}
public void sieg(){
System.out.println("Du hast gewonnen!"+siege++);
}
public void niederlage(){
System.out.println("Du hast verloren"+niederlagen++);
}
public void unentschieden(){
System.out.println("Unentschieden");
}
public void macheZug(int i){
switch (zufallszug()){
case 0: if (i<1){unentschieden();}else if(i>1){niederlage();} else{sieg();}break;
case 1: if (i<1){sieg();}else if(i>1){unentschieden();} else{niederlage();}break;
case 2: if (i<1){niederlage();}else if(i>1){sieg();} else{unentschieden();}break;
}
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Main game=new Main();
Scanner in = new Scanner(System.in);
System.out.println("20 Runden - Bitte jetzt deinen wert eingeben \n 0 stein \n 1 Scheere \n 2 Papier");
int y=0;
while (y<20){
y++;
int aufruf=3;
String s = in.nextLine();
if (s.equals("0")){
aufruf=0;
}
if (s.equals("1")){
aufruf=1;
}
if (s.equals("2")){
aufruf=2;
}
game.macheZug(aufruf);
System.out.println("neue runde^^");
}
System.out.println("nach 20 Runden hast du Gewonnen: "+game.siege+" aber auch Verloren: "+game.niederlagen);
}
}
Wenn ich jetzt nen package verwende habe ich ein problem
package knobelspiel;
import java.util.Scanner;
public class Main {
String stein = "Stein";
int steini=0;
String schere = "Schere";
int scheri=1;
String papier = "Papier";
int papieri = 2;
int moeglichkeiten = 3;
public int siege=0;
public int niederlagen=0;
public int zufallszug(){
return (int)(Math.random()*moeglichkeiten);
}
public void sieg(){
System.out.println("Du hast gewonnen!"+siege++);
}
public void niederlage(){
System.out.println("Du hast verloren"+niederlagen++);
}
public void unentschieden(){
System.out.println("Unentschieden");
}
public void macheZug(int i){
switch (zufallszug()){
case 0: if (i<1){unentschieden();}else if(i>1){niederlage();} else{sieg();}break;
case 1: if (i<1){sieg();}else if(i>1){unentschieden();} else{niederlage();}break;
case 2: if (i<1){niederlage();}else if(i>1){sieg();} else{unentschieden();}break;
}
}
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Main game=new Main();
Scanner in = new Scanner(System.in);
System.out.println("20 Runden - Bitte jetzt deinen wert eingeben \n 0 stein \n 1 Scheere \n 2 Papier");
int y=0;
while (y<20){
y++;
int aufruf=3;
String s = in.nextLine();
if (s.equals("0")){
aufruf=0;
}
if (s.equals("1")){
aufruf=1;
}
if (s.equals("2")){
aufruf=2;
}
game.macheZug(aufruf);
System.out.println("neue runde^^");
}
System.out.println("nach 20 Runden hast du Gewonnen: "+game.siege+" aber auch Verloren: "+game.niederlagen);
}
}
Ordnerstruktur:
/knobelspiel/Main.java
| Zitat: |
C:\Users\Christian\java_workspace\SteinScherePapier\src\knobelspiel>javac Main.j
ava
C:\Users\Christian\java_workspace\SteinScherePapier\src\knobelspiel>java Main
Exception in thread “main” java.lang.NoClassDefFoundError: Main (wrong name: kno
belspiel/Main)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$000(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClassInternal(Unknown Source)
Could not find the main class: Main. Program will exit. |
Bin ich zu blöd zum Kompillieren?
gruß
|