Veröffentlicht 11. Dezember 201014 j 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
11. Dezember 201014 j Du musst erst eine Instanz von Wuerfel bilden mit: Wuerfel wuerfel = new Wuerfel();
11. Dezember 201014 j 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.
12. Dezember 201014 j 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
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.