G
Guest
Gast
so bin eben heimgekommen, und will jetzt endlich mein puzzle programm beenden. der quelltext ist größtenteils komplett, aber in folgendem source spuckt der Mac OS Java Compiler immer folgende fehlermeldung:
operation.java:168: missing return statement
}
hier der source:
weiß nun jemand von euch experten woran es liegt? finde den fehler leider nicht!
mfg
hans
operation.java:168: missing return statement
}
hier der source:
Code:
public class operation {
static int anzahlderschritte = 0;
public static void left(int[][] puzzle) {
int temp1 =0;
int temp2 =0;
for (int u = 0; u < puzzle.length; u++) {
if (puzzle[u][0] == 0) {
temp2 = 0;
temp1 = u;
break;
}
if (puzzle[u][1] == 0) {
temp2 = 1;
temp1 = u;
break;
}
if (puzzle[u][2] == 0) {
temp2 = 2;
temp1 = u;
break;
}
}
int hilfsvariable = temp2 - 1;
int zwischenspeicher = puzzle[temp1][hilfsvariable];
puzzle[temp1][temp2] = zwischenspeicher;
puzzle[temp1][hilfsvariable] = 0;
for(int i=0; i<3; i++) {
System.out.println("|"+ puzzle[i][0]+ "|" +puzzle[i][1]+ "|" + puzzle[i][2] + "|");
anzahlderschritte++;
}
}
public static void right(int[][] puzzle) {
int temp1 =0;
int temp2 =0;
for (int u = 0; u < puzzle.length; u++) {
if (puzzle[u][0] == 0) {
temp2 = 0;
temp1 = u;
break;
}
if (puzzle[u][1] == 0) {
temp2 = 1;
temp1 = u;
break;
}
if (puzzle[u][2] == 0) {
temp2 = 2;
temp1 = u;
break;
}
}
int hilfsvariable = temp2 + 1;
int zwischenspeicher = puzzle[temp1][hilfsvariable];
puzzle[temp1][temp2] = zwischenspeicher;
puzzle[temp1][hilfsvariable] = 0;
for(int i=0; i<3; i++) {
System.out.println("|"+ puzzle[i][0]+ "|" +puzzle[i][1]+ "|" + puzzle[i][2] + "|");
anzahlderschritte++;
}
}
public static void down(int[][] puzzle) {
int temp1 =0;
int temp2 =0;
for (int u = 0; u < puzzle.length; u++) {
if (puzzle[u][0] == 0) {
temp2 = 0;
temp1 = u;
break;
}
if (puzzle[u][1] == 0) {
temp2 = 1;
temp1 = u;
break;
}
if (puzzle[u][2] == 0) {
temp2 = 2;
temp1 = u;
break;
}
}
int hilfsvariable = temp1 + 1;
int zwischenspeicher = puzzle[hilfsvariable][temp2];
puzzle[temp1][temp2] = zwischenspeicher;
puzzle[hilfsvariable][temp2] = 0;
for(int i=0; i<3; i++) {
System.out.println("|"+ puzzle[i][0]+ "|" +puzzle[i][1]+ "|" + puzzle[i][2] + "|");
anzahlderschritte++;
}
}
public static void up(int[][] puzzle) {
int temp1 =0;
int temp2 =0;
for (int u = 0; u < puzzle.length; u++) {
if (puzzle[u][0] == 0) {
temp2 = 0;
temp1 = u;
break;
}
if (puzzle[u][1] == 0) {
temp2 = 1;
temp1 = u;
break;
}
if (puzzle[u][2] == 0) {
temp2 = 2;
temp1 = u;
break;
}
}
int hilfsvariable = temp1 - 1;
int zwischenspeicher = puzzle[hilfsvariable][temp2];
puzzle[temp1][temp2] = zwischenspeicher;
puzzle[hilfsvariable][temp2] = 0;
for(int i=0; i<3; i++) {
System.out.println("|"+ puzzle[i][0]+ "|" +puzzle[i][1]+ "|" + puzzle[i][2] + "|");
anzahlderschritte++;
}
}
public boolean zielzustanderreicht(int puzzle[][]) {
int ziel[][] = {{1,2,3},{8,0,4},{7,6,5}}; //Zielstellung
for (int k = 0; k < puzzle.length; k++)
for (int t = 0; t <puzzle[k].length; t++)
if (puzzle[k][t] != ziel[k][t]) {
return false;
}
else {
return true;
}
}
public static int gibanzahlderschritteaus() {
return anzahlderschritte;
}
}
weiß nun jemand von euch experten woran es liegt? finde den fehler leider nicht!
mfg
hans