Here you can ask questions and find or give answers to organizational, academic and other questions about studying computer science.

1.1k questions

1.2k answers

1.6k comments

529 users

0 votes
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?
related to an answer for: Volle Punktzahl Array
in # Mandatory Modules Bachelor by (200 points)

1 Answer

0 votes

Es wäre denke ich gut, wenn Sie bei Folgefragen einen Link auf die vorherige Frage einfügen (https://q2a.cs.uni-kl.de/252/volle-punktzahl-array)

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

Ja, noch einfacher wäre es am Anfang einmal den Randfall abzufangen und dann direkt die Methode zu verlassen:

if (ar.length == 0) {
    return;
}

Zu Teil c): Es gibt keine statische Methode String.equals für den Vergleich von Strings. Daher kompiliert der Code nicht.

Es müsste entweder "Objects.equals(BuchstaInQ, keys[j])" heißen (mit "import java.util.Objects;" am Anfang der Datei) oder "keys[j].equals(BuchstaInQ)".

Bei der zweiten Variante ist zu beachten, dass der linke Ausdruck nicht null sein darf, was hier der Fall ist weil laut Aufgabenstellung kein Schlüssel im keys Array null ist.

by (930 points)
Imprint | Privacy Policy
...