Also ich habe eine Klasse:
import java.util.InputMismatchException;
import java.util.Random;
import java.util.Scanner;
public class ErrateZahl {
public static void main(final String[] args) {
final Random r = new Random();
final int randomInt = r.nextInt(100) + 1;
int anzahlVersuche = 0;
System.out.println("Erraten Sie die Zahl zwischen 1 und 100:");
int eingabezahl = 0;
try (final Scanner sc = new Scanner(System.in)) {
do {
++anzahlVersuche;
try {
eingabezahl = sc.nextInt();
if (eingabezahl <= 0) {
throw new OnlyPositiveNumbersAllowedException("Nur Positive Zahlen sind erlaubt!");
} else if (eingabezahl < randomInt) {
System.out.println("Meine Zahl ist groesser!");
} else if (eingabezahl > randomInt) {
System.out.println("Meine Zahl ist kleiner!");
}
} catch (InputMismatchException ex) {
System.err.println("Ungültige Eingabe, bitte geben Sie eine ganze Zahl ein!");
sc.next();
} catch (OnlyPositiveNumbersAllowedException ex) {
System.err.println(ex.getMessage());
sc.next();
}
} while (eingabezahl != randomInt);
}
System.out.println("Glückwunsch, Sie haben die Zahl erraten!!! "
+ "Sie haben nur " + anzahlVersuche + " Versuche gebraucht!");
}
}```
Die funktioniert auch wenn ich sie über Netbeans ausführe, so wie sie soll. Wenn ich allerdings versuche, sie über die Kommandozeile zu kompilieren, schmeißt er mir nur das entgegen:
> ErrateZahl.java:24: error: cannot find symbol
> throw new OnlyPositiveNumbersAllowedException("Nur Posit
> ive Zahlen sind erlaubt!");
> ^
> symbol: class OnlyPositiveNumbersAllowedException
> location: class ErrateZahl
> ErrateZahl.java:33: error: cannot find symbol
> } catch (OnlyPositiveNumbersAllowedException ex) {
> ^
> symbol: class OnlyPositiveNumbersAllowedException
> location: class ErrateZahl
> 2 errors
Aber warum? Die Exception ist im gleichen Package wie die Klasse und über netbeans funzt es auch... Was mach ich falsch?^^