Hallo,
Ich muss für eine Aufgabe ein Zahlenspiel programmiere, wo sich der Nutzer eine Zahl zwischen 1 - 1000 aussuchen muss und der Computer die Zahl erraten muss.
Meine Idee war, dass ganze mit einer Do while Schleife zu machen, wo der Computer immer wieder was abfragt und den neuen Wert bei einer neuen Methode immer wieder in die Main Methode zurückzugeben. Aber in Zeile 42 ist (guess) rot unterstrichen und das ganze Programm funktioniert deswegen nicht. Hier der Code. Also ganz unten unter der neuen Methode bei int guess ist (guess) rot unterstrichen
Ich muss für eine Aufgabe ein Zahlenspiel programmiere, wo sich der Nutzer eine Zahl zwischen 1 - 1000 aussuchen muss und der Computer die Zahl erraten muss.
Meine Idee war, dass ganze mit einer Do while Schleife zu machen, wo der Computer immer wieder was abfragt und den neuen Wert bei einer neuen Methode immer wieder in die Main Methode zurückzugeben. Aber in Zeile 42 ist (guess) rot unterstrichen und das ganze Programm funktioniert deswegen nicht. Hier der Code. Also ganz unten unter der neuen Methode bei int guess ist (guess) rot unterstrichen
Java:
import java.util.Scanner;
public class zahlenspiel {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int max = 1000, min = 1, lightsaber;
System.out.println("Denken sie sich irgendeine Zahl zwischen 1 bis 1000 aus: ");
int guess = (max + min) / 2;
guess = nextGuess(guess, max, min);
do {
System.out.println("ist ihre Zahl größer oder kleiner als die Zahl 500?");
System.out.println("Wenn die Zahl gleich die angegebene Zahl ist drücke sie die 1");
System.out.println("Wenn die Zahl keliern als die angegebene Zahl ist drücke sie die 2");
System.out.println("Wenn die Zahl größer als die angegebene Zahl ist drücke sie die 3");
System.out.println("Ihre Eingabe: ");
lightsaber = sc.nextInt();
if(lightsaber == 1) {
System.out.println("Gewonnen!");
}
else if(lightsaber == 2) {
guess = max;
guess = nextGuess(guess, max, min);
}
else if(lightsaber == 3) {
guess = min;
guess = nextGuess(guess, max, min);
}
else {
System.out.println("Falsche eingabe");
}
} while(lightsaber != 1);
}
public static int nextGuess(int guess, int max, int min) {
int guess = (max + min ) / 2;
return guess;
}
}