Ich habe einen Bachelor-Abschluss in einem Informatik-verwandten Bereich begonnen, also sollte ich programmieren und alles ist ziemlich neu für mich, aber ich denke, wir haben alle von Null angefangen.Warum funktioniert meine Schleife in meinem Münzwurf-Spiel nicht richtig?
Ich habe es schwer, meinen Code so zu gestalten, wie er sollte. Ich muss ein Flip-Coin-Spiel programmieren ... Zufallszahlen (gerade/ungerade) erstellen, benutze Benutzereingaben und dann sollte der Spieler so lange spielen, wie er will, deshalb habe ich eine while-Schleife erstellt und es scheint nicht Eigentum bearbeiten. Ich habe bereits versucht, meinen Code hinein zu legen und es hat auch nicht funktioniert. Meine IDE teilt mir auch mit, dass ich nie den Wert verwenden werde, der meinem scanner.nextInt(), dem UserEingabe, zugewiesen wurde. Ich bin mir ziemlich sicher, dass etwas für viele von euch ziemlich einfach zu lösen ist, aber ich habe ein bisschen Probleme. Vielen Dank im Voraus für die Hilfe.
Code: Hauptklasse
class CoinObject {
public static void main(String[] args) {
Coin coinObject = new Coin();
coinObject.throwCoin();
}
}
Zweite Klasse:
import java.util.Scanner;
public class Coin {
public void throwCoin(){
Scanner scanner = new Scanner(System.in);
System.out.println("Erraten sie, ob Kopf oder Zahl oben liegt:");
System.out.println("Kopf=0");
System.out.println("Zahl=1");
int UserEingabe = scanner.nextInt();
int randomNumber = (int) Math.random();
String yes = "yes";
String no = "no";
int spiele = 1;
int victories = 1;
String play = scanner.next();
// if the input = the random #, cool!, otherwise false :)
if (UserEingabe == randomNumber){
System.out.println("Sie haben richtig geraten");
System.out.println("Moechten Sie weiter spielen (yes/no)");
play = scanner.next();
} else {
System.out.println("Sie haben falsch geraten");
System.out.println("Moechten Sie weiter spielen (yes/no)");
play = scanner.next();
} if (UserEingabe != 0 || UserEingabe != 1){
System.out.println("falsche Eingabe, versuchen Sie wieder");
UserEingabe = scanner.nextInt();
}
// the loop will be repeat it as long as the player wants to play
while (play != no){
UserEingabe = scanner.nextInt();
if (play == yes){
System.out.println("Sie haben " + spiele + "Spiele gespielt und " + victories + "Spiele gewonnen");
victories=victories +1;
spiele = spiele+1;
}
}
}
}
Mögliche Duplikate von [Wie kann ich Zeichenfolgen in Java vergleichen?] (Https://stackoverflow.com/questions/513832/how-do-i-compare-strings-in-java) – OldProgrammer
wahrscheinlich Math.random() ist auch nicht gut, Sie brauchen eine zufällige zwischen 0 und 1 (0 oder 1 jedes Mal), soweit ich das verstanden habe – john
Was ist der Fehler? Wie kämpfst du? Was funktioniert nicht? – zuif