Ich habe folgendes Problem. Und zwar habe ich eine boolsche Variable die innerhalb einer Schleife bestimmt wird, außerhalb dieser Schleife aber ausgewertet wird. Das Problem ist aber, dass nach Beendigung der Schleife die Variable zurückgesetzt wird, bzw die Änderungen in der Schleife sind nicht gemerkt werden.
Hier mal der Code dazu:
Er zeigt nach der Schleife steht "gewonnen" an, egal was in der Schleife geschehen ist. Müsste nicht eigentlich die Variable für alle Schleifen gelten und beibehalten werden?
danke schonmal
Hier mal der Code dazu:
Code:
import java.util.*;
public class Testspiel {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
int[] zahl;
int kleinste = 101;
String eingabe = new String();
Scanner scanner = new Scanner(System.in);
System.out.println("TEST:");
zahl = new int[15];
for (int i = 0; i < 15; i++) {
zahl[i] = (int) ( Math.random()* 100 );
if (zahl[i] < kleinste) {
kleinste = zahl[i];
}
System.out.println("Zahl " + (i+1) + ": " + zahl[i]);
}
System.out.println("Kleinste Zahl: " + kleinste);
boolean gewonnen;
schleife1:{
for (int i = 0; i < 15; i++) {
System.out.println(zahl[i]);
eingabe = scanner.next();
if ((eingabe.equals("j")) && (zahl[i] == kleinste)) {
gewonnen = true;
break schleife1;
}
if ((eingabe.equals("j")) && (zahl[i] != kleinste)) {
gewonnen = false;
break schleife1;
}
}
}
if (gewonnen = true) {
System.out.println("GEWONNEN!");
}
if (gewonnen = false) {
System.out.println("VERLOREN!");
}
}
}
Er zeigt nach der Schleife steht "gewonnen" an, egal was in der Schleife geschehen ist. Müsste nicht eigentlich die Variable für alle Schleifen gelten und beibehalten werden?
danke schonmal