Hallo Ich habe eine harte Zeit mit dieser Aufgabe. Kann mir bitte jemand sagen, warum meine Testnummer 5 immer noch wahr ist, wenn sie falsch ist. Vielen Dank.Java-Methoden und Array
Das ist die Frage.
Arrays - has12 & linearIn
ein Array von ints gegeben, true zurück, wenn es eine 1 in der Anordnung mit einem 2 irgendwo später im Array ist.
Gegeben sind zwei Arrays von Ints, sortiert in aufsteigender Reihenfolge, äußerer und innerer, geben wahr zurück, wenn alle Zahlen in innerem in äußerem erscheinen. Die beste Lösung macht nur einen einzigen "linearen" Durchlauf beider Arrays, wobei die Tatsache ausgenutzt wird, dass beide Arrays bereits in einer sortierten Reihenfolge sind.
Das ist mein Ausgang/Problem
Test 1: true
Test 2: true
Test 3: false
Test 4: true
Test 5: true//needs to be false
Test 6: true
Das ist mein Code
public class Problems {
public static void main(String[] args) {
int[] a = {1,3,2};
int[] b = {3,1,2};
int[] c = {3,1,4,5};
int[] d = {1,2,4,6};
int[] e = {1,2,4,4,6};
int[] f = {2,4};
int[] g = {2,3,4};
boolean test1 = has12(a);
boolean test2 = has12(b);
boolean test3 = has12(c);
System.out.println("Test 1: " + test1); //should print true
System.out.println("Test 2: " + test2); //should print true
System.out.println("Test 3: " + test3); //should print false
System.out.println("Test 4: " + linearIn(d, f)); //should print true
System.out.println("Test 5: " + linearIn(d, g)); //should print false
System.out.println("Test 6: " + linearIn(e, f)); //should print true
}
//has12 method goes here
public static boolean has12(int[] array) {
int i;
int x;
for(x=0;x<array.length;x++){
if(array[x]==1){
}
for(i=x+1;i<array.length;i++){
if (array[i]==2) return true;
}
}
return false;
}
//linearIn method goes here
public static boolean linearIn(int[] outer, int[] inner) {
int i;
int j;
for (i = 0; i < inner.length; i++) {
for (j =0; j < outer.length; j++) {
if (outer[j] == inner[i]) return true;
}
}
return false;
}
}
Oh ok Gotcha! Vielen Dank für Ihre Hilfe! – livingundead
Kein Problem, gut zu hören, helfen Ihnen. – ssorfonos