Hey Leute.
Ich hab ein Problem bei Eclipse.
Eclipse will das bedingte ODER nicht erkennen oder ich selber finde den Fehler im Programm nicht.
Hier der Code aus einem Buch.
Die Fehler laut Eclipse liegen in Zeile 68/72
Wäre für eine Antwort Dankbar 🙂
MFG Bukotch
Ich hab ein Problem bei Eclipse.
Eclipse will das bedingte ODER nicht erkennen oder ich selber finde den Fehler im Programm nicht.
Hier der Code aus einem Buch.
Die Fehler laut Eclipse liegen in Zeile 68/72
Java:
package Kapitel04;
import java.util.Random; // Erläuterung später
public class GameOfLife {
public static void gebeAus (boolean[][] m) {
//Ein "X" symbolisiert eine lebendige Zelle
for (int i=0; i<10; i++){
for (int j=0; j<10; j++){
if(m[i][j]) System.out.print("X ");
else System.out.print(" ");
}
System.out.println();
}
}
public static int zaehleUmgebung(boolean[][] m , int x , int y){
int ret = 0;
for (int i=(x-1); i<(x+2); ++i){
for(int j=(y-1); j<(y+2); ++j){
try{
if (m[i][j])
ret += 1;
}
catch (IndexOutOfBoundsException e){}
}
}
//einen zuviel mitgezaehlt?
if (m[x][y])
ret -= 1;
return ret;
}
public static void main(String[] args){
//Welt aus 10x10
boolean[][] welt = new boolean[10][10];
boolean[][] welt_neu = new boolean[10][10];
// **********************************************************
// Erzeugt eine zufällige Konstellation von Einsen und Nullen
// in der Matrix welt.Die Chance liegen bei 50%,dass eine
// Zelle lebendig ist.
Random generator = new Random();
double zufallswert;
for (int i=0; i<10; i++)
for (int j=0; j<10; j++){
zufallswert = generator.nextDouble();
if (zufallswert >=0.5)
welt[i][j] = true;
}
// **********************************************************
// Ausgabe der ersten Generation
System.out.println("Generation 1");
GameOfLife.gebeAus(welt);
int nachbarn;
for (int i=0; i<10; i++){
for (int j=0; j<10; j++){
// Zaehle die Nachbarn
nachbarn = zaehleUmgebung(welt, i, j);
if(welt[i][j]){
//Regel 1,2 :
if ((nachbarn<2))||((nachbarn>3))
welt_neu[i][j] = false;
//Regel 3:
if((nachbarn==2))||((nachbarn==3))
welt_neu[i][j] = true;
}
else {
//Regel 4:
if ((nachbarn==3))
welt_neu[i][j] = true;
}
}
}
// Ausgabe der zweiten Generation
System.out.println("Generation 2");
GameOfLife.gebeAus(welt_neu);
}
}
Wäre für eine Antwort Dankbar 🙂
MFG Bukotch