Ich habe eine Java-Zuweisung und kann es nicht zum Laufen bringen.Ratespiel für Java
Ich mache ein Ratespiel zwischen 1-100. Wenn ich meinen Code ausführe, sagt er mir immer "zu niedrig", ob es richtig oder zu hoch ist.
Hier ist mein Code:
public static void main(String[] args) throws java.io.IOException {
int i, ignore, answer = 64;
do {
System.out.println("I'm thinking of a number between 1 and 100.");
System.out.println("Can you guess it?");
i = (int) System.in.read();
do {
ignore = (int) System.in.read();
} while (ignore != '\n');
if (i == answer) System.out.println("**RIGHT**");
else {
System.out.print("...Sorry, you're ");
if (i < answer)
System.out.println("too low");
else
System.out.println("too high");
System.out.println("Try again!\n");
}
} while(answer != i);
}
Denn mit dem Aufruf von 'System.in.read()', Sie sind ein 'char' bekommen. Sie sollten einen 'Scanner' konstruieren und' nextInt() 'wie folgt aufrufen:' Scanner scan = new Scanner (System.in); i = scan.nextInt(); ' – Majora320
' System.in.read() 'nimmt das nächste ** Byte ** nicht das nächste ** int **. Es gibt einen großen Unterschied –
Sie sollten den Debugger verwenden oder einfach nur die Variable ausgeben, um zu sehen, was Ihr Code tatsächlich tut, bevor Sie ohne Test fragen. Wenn Sie dies getan haben, schreiben Sie sie in die Frage. – Nier