Also gegeben ist diese Aufgabe hier.. ich dachte, dass sie eigentlich ganz einfach wäre.. aber irgendwie bekomm ich es nicht so richtig hin
hier die Aufgabe:
Schreibe ein Programm, das true ausgibt, wenn in dem übergebenen Integerarray drei
mal die Zahl 3 steht, aber keine 3 direkter Nachbar einer anderen ist. Also {1, 2, 3}
-> false, {1, 4, 3, 1, 3, 3} -> false, {3, 1, 2, 3, 5, 3} -> true.
hier mein Code soweit:
mir wird nur leider false, true , true zurückgegeben
hier die Aufgabe:
Schreibe ein Programm, das true ausgibt, wenn in dem übergebenen Integerarray drei
mal die Zahl 3 steht, aber keine 3 direkter Nachbar einer anderen ist. Also {1, 2, 3}
-> false, {1, 4, 3, 1, 3, 3} -> false, {3, 1, 2, 3, 5, 3} -> true.
hier mein Code soweit:
mir wird nur leider false, true , true zurückgegeben
Java:
public class Drei {
public static boolean pruef ( int [] a) {
boolean drei = false;
int counter = 0;
for ( int j = 0; j<a.length; j++) {
if(a[j] == 3) {
counter++;
}
}
if(counter == 3) {
for( int i = 0; i < a.length-1; i++) {
if( a[i] != 3 || a[i+1]!= 3 ) {
drei = true;
}
}
}return drei;
}
public static void main (String[] args) {
int [] array1 = {1,2,3};
int [] array2 = {3,1,2,3,3};
int [] array3 = {3,1,2,3,4,3};
System.out.println(pruef(array1));
System.out.println(pruef(array2));
System.out.println(pruef(array3));
}
}