Frage von SuperDomatic, 105

JAVA, Zahlenraten, wie mache ich das?

Hallo,

Ich habe mit JAVA eine GUI erstellt. Der Benutzer soll die Schrittweite eingeben in welchen Bereich der Computer sich zahlen ausdenken darf. Das heißt der Benutzer gibt beispielsweise von 1 bis 3 ein. Dann darf der Computer die zahlen 1,2,3 auswählen. Nun meine Frage. Bei mir ist immer die Randomzahl die der Computer macht immer 0. Aber er soll sich ja eine Zufallszahl genieren die in diesen Zahlenbereich liegt. Vielleicht kann mir ja jemand helfen. :D Code ist unten verlinkt :b

Es ist zu finden bei dem Button btNeuesSpiel!

Was habe ich falsch?

Einmal die Hauptklasse: http://codeshare.io/pAqN7

Einmal die Fachklasse: codeshare .io/iiIXQ

( Bitte beim letzten Link das Leerzeichen wegmachen da es sonst als Spam Markiert wird ._. )

Antwort
von Zebbinho, 105

ähm... du hast deine Funktion auskommentiert.

Kommentar von SuperDomatic ,

Nein :) kein Kommentar insicht!

zufall1.setVon(Integer.parseInt(tfVon.getText()));



zufall1.setBis(Integer.parseInt(tfBis.getText()));


int mfZufallszahl= (int)((Math.random()*(zufall1.getBis()))+(zufall1.getVon()));


zufall1.setZufallszahl(mfZufallszahl);System.out.println(zufall1.getBis());


Syso ist nur da, weil ich wissen wollte welche Zahl er als Bis ausgibt und das ist immer 0

Kommentar von Zebbinho ,

musste ich lange suchen:

public void setBis(int pBis){pBis= bis;}

es muss bis = pbis heißen ;-)

Kommentar von SuperDomatic ,

Wie meinst du das?:-/

Der Computer wählt ja immer 0 anstatt eine Zahl in dem Zahlenbereiche! 

Kommentar von Zebbinho ,

Die SetMethode in Deiner Klasse Zufallszahlen: setBis

Kommentar von Zebbinho ,

Du hast die Variablen in der Zuweisung vertauscht: bis = pbis muss da hin. und Nicht: pBis = bis... sonst bleibt bis immer 0 und dann ist die obere Schranke Deiner Funktion immer 0, das heißt, dass Ergebnis ist 0

Kommentar von SuperDomatic ,

Ich habe es geändert in der Fachklasse "Zufallszahlen"

anstatt pBis in pbis

und habe auch das pVon in pvon geschrieben

Habe als Schrittweite von=10, und bis=20.

Spiel starten!

Jetzt habe ich 9 eingeben und auf los gedrückt

jetzt kommt das die "gedachte" Zahl kleiner ist.

Habe dann wieder 0 eingeben und auf Los.

Und was kam raus "RICHTIG".

Worin liegt der Fehler? :/

Kommentar von Zebbinho ,

public void setVon(int pVon)

{

von = pVon;

}

public void setBis(int pBis)

{

bis= pBis;

}

Kommentar von Zebbinho ,

so muss das aussehen. Ich denke Du hast mich ein wenig zu wörtlich genommen und meinen Tippfehler übernommen ;-)

Kommentar von SuperDomatic ,

Dankeschön Zebbinho!

Endlich klappt es! :-D

Kommentar von Zebbinho ,

na dann :-)

Keine passende Antwort gefunden?

Fragen Sie die Community