B
Beginner94
Gast
Hallo!
Ich lerne seit einem halben Jahr Java in meiner Schule(2h pro Woche). Doch da die Aufgaben langsamg langweilig werden, habe ich mir eine schwierigere Aufgabe gesucht und zwar das Damnproblem. Ich weiß nicht ob ihr es kennt, wenn nicht, es geht darum, 8 Damen auf einem Schachfeld so zu verteilen, dass sie sich nicht gegenseitig schlagen können. Um alle Möglichkeiten herauszufinden ist mein LösungsANSATZ so:
Ich nehme ein Feld auf dem die Dame steht und setzte alle Felder(bis jetzt noch =0) nach oben/unten und rechts/links und Schrägoben/schrägunten auf 1. Um meine Gedanken weiter zu erklären dauerts zu lang, außerdem hänge ich jetzt schon fest und komme nicht weiter
Im folgenden Quellcode nehm ich nur das Feld 0 0 und will wie grad beschrieben die Felder auf 1 setzen. Doch in meiner Methode ausgabe kommt 0 raus obwohl ich 1 haben will.
Ich hoffe, ihr könnt mir helfen.
Danke im Voraus
Hier ist der Quellcode
Ich lerne seit einem halben Jahr Java in meiner Schule(2h pro Woche). Doch da die Aufgaben langsamg langweilig werden, habe ich mir eine schwierigere Aufgabe gesucht und zwar das Damnproblem. Ich weiß nicht ob ihr es kennt, wenn nicht, es geht darum, 8 Damen auf einem Schachfeld so zu verteilen, dass sie sich nicht gegenseitig schlagen können. Um alle Möglichkeiten herauszufinden ist mein LösungsANSATZ so:
Ich nehme ein Feld auf dem die Dame steht und setzte alle Felder(bis jetzt noch =0) nach oben/unten und rechts/links und Schrägoben/schrägunten auf 1. Um meine Gedanken weiter zu erklären dauerts zu lang, außerdem hänge ich jetzt schon fest und komme nicht weiter
Im folgenden Quellcode nehm ich nur das Feld 0 0 und will wie grad beschrieben die Felder auf 1 setzen. Doch in meiner Methode ausgabe kommt 0 raus obwohl ich 1 haben will.
Ich hoffe, ihr könnt mir helfen.
Danke im Voraus
Hier ist der Quellcode
Java:
public class BERECHNUNG
{
int[][] feld;
int z1=0; //y nach oben
int z2=0; //y nach unten
int z3=0; //y schraeg oben
int z4=0; //y schraeg unten
int v1=0; //x nach rechts
int v2=0; //x nach links
int v3=0; //x schraeg rechts
int v4=0; //x schraeg links
int a=0;
int b=0;
public BERECHNUNG()
{
feld = new int[8][8];
}
public void einssetzen()
{
for (int y=0;y<a;y++)
{
z1=y;
z2=y;
z3=y;
z4=y;
for (int x=0;x<b;x++)
{
v1=x;
v2=x;
v3=x;
v4=x;
feld[y][x]=1;
while( z1<=7 ) //y nach oben
{
feld[z1][x]=1;
z1++;
}
while( z2>=0 ) //y nach unten
{
feld[z2][x]=1;
z2--;
}
while( v1>=7 ) //x nach rechts
{
feld[y][v1]=1;
v1++;
}
while( v2>=0 ) //x nach links
{
feld[y][v2]=1;
v2--;
}
while( z3>=7 && v3>=7) //schraeg nach rechts oben
{
feld[z3][v3]=1;
z3++;
v3++;
}
while( z4>=0 && v4>=0) //schraeg nach links oben
{
feld[z4][v4]=1;
z4--;
v4--;
}
}
}
}
public void ausgabe()
{
System.out.println(feld[7][7]);
}
}