Vielen Dank für Ihre Antwort.
D.h. für swapMinMax sollte die if-Klausel (mit der Prüfung auf !(ar == null || ar.length == 0) als erste Zeile der Methode eingefügt werden -> Verhinderung zugreifen auf Array der Länge null
Richtig?
Für Teil c) sollte es so volle Punktzahl geben:
public class Lookup {
public int[] lookup(String[] keys, int[] values, String[] q){
int count = 0;
String BuchstaInQ;
/* - Die Länge von res sollte zu Beginn der Länge von q entsprechen. Die Aufgabe schließt nicht aus, dass in q Einträge mehrmals vorkommen, d.h. das Array könnte mit values.length zu klein sein.
int[] res = new int[values.length];
*/
int[] res = new int[q.length];
for(int i=0; i< q.length ;i++){
BuchstaInQ = q[i];
for(int j=0; j<keys.length ;j++){
/* if(BuchstaInQ == keys[j]){. - Um Strings zu vergleichen sollte die equals-Methode verwendet werden. Der Vergleich mit == vergleicht in Java nicht den Inhalt der Strings sondern nur, ob es sich um das gleiche String-Objekt handelt.
*/
if(String.equals(BuchstaInQ, keys[j])){
res[count] = values[j];
count ++;
}
}
}
int[] finalRes = new int[count];
for(int i=0; i<finalRes.length; i++){
finalRes[i] = res[i];
}
return finalRes;
}
public static void main(String[] args) {
String[] kk = {"a","b","c","d","e","f"};
int[] vv = {1,2,3,4,5,6};
String[] qq = {"a", "d", "f"};
Lookup lookUpObjekt = new Lookup();
lookUpObjekt.lookup(kk,vv,qq);
}
}
Richtig?