Ich erstelle ein Hoch/Niedrig-Ratespiel als Teil einer Studienaufgabe, und der Teil, an dem ich festhalte, erhält die Anzahl der an die Hauptmethode zurückgegebenen Annahmen. Uns wurde ausdrücklich gesagt, dass die Hauptmethode ist, die Anzahl der Vermutungen zu drucken, während die Methode "PlayGame" tatsächlich spielt.Java/Erstellen hi/low Spiel mit mehreren Methoden, bei der Rückkehr no. Vermutungen
Es gibt mehr zu dem Code, eine Methode namens giveReponse, die überprüft, ob die Zahl korrekt oder zu hoch/niedrig ist, aber es funktioniert wie vorgesehen. Ich bekomme "Ich kann kein Symbol finden", wenn ich versuche zu drucken, wie viele Vermutungen nötig waren, um das Spiel zu beenden. Wenn es nicht so wichtig war, es in der Hauptmethode zu drucken, würde ich den Betrag in der Methode PlayGame drucken, aber das ist ein No-Go. Was mache ich falsch? Der Code sieht wie folgt aus:
public class HiLo {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
System.out.println("Welcome to classic guessing game of high/low!");
String difficulty = scan.next();
if (difficulty.equals("easy")) {
playGame(10);
} else if (difficulty.equals("medium")) {
playGame(100);
} else if (difficulty.equals("hard")) {
playGame(1000);
}
System.out.println("You won in" + guesses + "attempts.");
}//EndsMain
public static int playGame(int maxNumber) {
Scanner scan = new Scanner(System.in);
int rannr = (int)(Math.random() * maxNumber) +1;
int answer = rannr;
int guess = 0;
int guesses = 0;
System.out.println("Game is starting...");
do {
guess = scan.nextInt();
guesses ++;
giveResponse(answer, guess);
if (answer == guess) {
break;
}
} while (answer != guess);
return guesses;
} //Ends playGame
Sie machen den klassischen Student/Noob-Fehler: Putting alles in einer Hauptklasse. Umhüllen Sie alles in einer Klasse; Lassen Sie Ihren Hauptbenutzer es instanziieren und rufen Sie seine Methoden auf. Java ist eine objektorientierte Sprache. Beginnen Sie, über Probleme in Bezug auf interagierende Objekte nachzudenken. – duffymo
Verwenden Sie den Rückgabewert von Methodenschätzungen - es sollte der Wert sein, den Sie ausgeben müssen. Sie wissen, wie das geht - siehe scan.nextInt(). – laune
Denken Sie über die _Schwankungen_ von – fdsa