Nub Geschrieben 11. Dezember 2010 Geschrieben 11. Dezember 2010 Hallo zusammen, folgendes Problem, ich habe die Klasse Wuerfel package testling; import java.util.Random; public class Wuerfel { public Wuerfel(){} public int wurf() { int erg=0; Random r = new Random(); erg= r.nextInt(5); if(erg==4){erg=5;} return erg; } } nun Versuche ich diese Methode in einer anderen Klasse aufzurufen. Ich habe Wuerfel wuerfeln; in der anderen Klasse erstellt und gebe System.out.println("Würfelergebnis: "+this.wuerfeln.wurf()); aus. Das Problem ist das er in den catch geht dan eine NullPointerException ausgibt. Gruss Nub
michaTT Geschrieben 11. Dezember 2010 Geschrieben 11. Dezember 2010 Du musst erst eine Instanz von Wuerfel bilden mit: Wuerfel wuerfel = new Wuerfel();
flashpixx Geschrieben 11. Dezember 2010 Geschrieben 11. Dezember 2010 Einen leeren Konstruktor musst Du nicht explizit schreiben, wenn Du keinen Konstruktor in der Klasse angibst wird automatisch ein leerer generiert. Außerdem solltest Du Dein Randomobjekt nur ein einziges Mal generieren und das eben im Konstruktor. In Deiner wurf-Methode kannst Du dann via nextInt dann einen neuen Wert generieren. Weiterhin kann Deine wurf Methode auch den Wert 0 liefern, der bei einem Würfel nicht gültig wäre.
Nub Geschrieben 12. Dezember 2010 Autor Geschrieben 12. Dezember 2010 Danke für eure Hilfe, läuft. Die 0 darf gewürfelt werden, der Würfel geht nur von 0-3 und die 5. 0 ist dan aussetzen. Der Würfel ist für das Spiel Senet. Blinde Kuh: Senet - Die Spielregeln Habe den Konstruktor rein geschrieben weil mein Prof. das letztes mal angekreidet hat und was der Prof. sagt wird gemacht ansonsten wird es schwerer durch das Labor zukommen. ^^ Gruß Nub
oppi Geschrieben 12. Dezember 2010 Geschrieben 12. Dezember 2010 du könntest auch das Schlüsselwort static deiner wurf methode hinzufügen lg
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden