SE1 Level3


N. W.
Diese Lernkarten behandeln fortgeschrittene Themen der Softwareentwicklung auf Universitätsniveau, insbesondere mit Fokus auf Java, Klassen, Methoden und Interfaces. Sie decken Themen wie Testklassen, JUnit, Booleans und Listen ab, wobei der Schwerpunkt auf der Implementierung und dem Testen von Software liegt. Diese Lernkarten sind ideal für Studierende und Entwickler, die ihr Verständnis von objektorientierter Programmierung und Softwaretests vertiefen möchten.
Flashcards
17
Students
5
Language
German
Category
Computer Science
Level
University
Created / Updated
24.02.2017 / 15.03.2019

Flashcards

Frage 1:

Welche der folgenden Aussagen sind für Java richtig?

 

 

 

Frage 11:

Welche Belegungen haben die Variablen nach Ausführung des folgenden Java-Quelltextes?

Set<String> set1 = new HashSet<>();
Set<String> set2 = new TreeSet<>();
Set<String> set3 = new LinkedHashSet<>();

// für jeden String tier aus der Liste {Hund,Katze,...,maus}
for (String tier : new String[] { "Hund", "Katze", "Maus", "hund", "katze", "maus" })
{
    set1.add(tier);
    set2.add(tier);
    set3.add(tier);
}

List<String> list1 = new ArrayList<>();
List<String> list2 = new LinkedList<>();
List<String> list3 = new Stack<>();

list1.addAll(set1);
list2.addAll(set2);
list3.addAll(set3);

if (list1.containsAll(set2) && list2.containsAll(set3) && list3.containsAll(set1))
{
    boolean b1 = list1.equals(list2);
    boolean b2 = list2.equals(list3);
    boolean b3 = list3.equals(list1);
}
else
{
    System.err.println("Fehler!!!");
}

Frage 6:

Welche der folgenden Aussagen gelten für diesen Quelltext, wenn er von einem Java-Compiler als korrekt akzeptiert wird?

public void m(java.util.Set<String> menge)
{
    menge.add("Test");
    int kard = menge.size();
}

 

 

Frage 10:

Welche Werte haben die Variablen nach Ausführung des folgenden Java-Quelltextes? Hinweis: Die Operation add mit einem Parameter fügt ein Element am Ende einer Liste an.

List<String> meineListe = new LinkedList<String>();
meineListe.add("Hund");
meineListe.add("Maus");
meineListe.add("Katze");
int laenge1 = meineListe.size();
meineListe.add(1,"Pavian");
meineListe.remove(0);
int laenge2 = meineListe.size();
String s1 = meineListe.get(0);
String s2 = meineListe.get(1); 

Frage 15:

Wie viele Operationen(!) definiert die folgende Java-Klasse (über die vom Typ Object für alle Referenztypen definierten Operationen hinaus)?

class A
{
    private boolean _b1;

    public boolean isActive()
    {
        return _b1;
    }
    public void change()
    {
        doIt();
    }
    private void doIt()
    {
        _b1 = !_b1;
    }
}

Frage 7:

Welche der folgenden Aussagen sind richtig?

 

Frage 8:

Welche der folgenden Aussagen zu JUnit (Version 4) sind richtig?

 

 

Frage 9:

Welche Aussagen zum folgenden Java-Quelltext sind korrekt?

/**
 * Diese Klasse modelliert einfache Schalter mit zwei Zuständen: An und Aus.
 */
class Schalter
{
    private boolean _istAn;

    /** Erzeuge einen Schalter mit einem Anfangszustand */
    public Schalter(boolean anfangsAn)
    {
        _istAn = anfangsAn;
    }

    /** @return true, falls der Schalter an ist, false sonst */
    public boolean istAn()
    {
        return _istAn;
    }

    /** Ändere den Zustand dieses Schalters */
    public void umschalten()
    {
        _istAn = !_istAn;
    }
}

Frage 12:

Welche der folgenden Aussagen sind richtig?

 

 

 

Frage 16:

Welche der folgenden Aussagen sind für Java richtig?

Frage 13:

Fügen Sie in der folgenden Java-Methode in den Kopf der for-Schleife geeigneten Quelltext ein, so dass in einer erweiterten for-Schleife alle Elemente der Sammlung bearbeitet werden.

public int gesamtbeitrag(Set<Person> personen)
{
    int summe = 0;

    for (_______________________)
    {
        summe = summe + person.beitrag();
    }
    return summe;
}

Person person : personen

Frage 5:

In welchem Bereich des folgenden Quelltexts wird der dynamische Typ von a und b festglegt?

// Start Bereich 1
Ampel a;
Ampel b;
// Ende Bereich 1


// Start Bereich 2
a = new FussgaengerAmpel();
b = new AutoAmpel();
// Ende Bereich 2

// Start Bereich 3
a.umschalten();
b.umschalten();
// Ende Bereich 3

Frage 2:

Ergänze den Kopf der Klasse so, dass KontoZuEinfach das Interface Konto implementiert.

class KontoZuEinfach __________
{
    private int _saldo;

    public void einzahlen(int betrag)
    {
       _saldo = _saldo + betrag;
    }

    public void auszahlen(int betrag) 
    {
       _saldo = _saldo - betrag;
    }

    public int gibSaldo() 
    {
       return _saldo;
    }
}

implements Konto

Frage 3:

Wenn die Klasse AutoAmpel das Interface Ampel implementiert: Wie ist die Bedingung in der folgenden if-Anweisung zu formulieren, damit sie in einem Typtest überprüft, ob a auf ein Exemplar der Klasse AutoAmpel verweist?

Ampel a;
...

if (___________)
{
...
}

Frage 4:

Welche Eigenschaften besitzt eine Menge (Set)?

Frage 14:

Welches Ergebnis liefert die Methode zurück?

public int gibWert()
{
    Boolean a = new Boolean(true);
    boolean b = true;
    Boolean c = new Boolean(true);

    int wert = 0;

    if (a != c)
    {
        wert = wert + 1;
        if (a == b)
        {
            wert = wert + 3;
            if (b == c)
            {
                wert = wert + 6;
            }
        }
    }
    return wert;
}

10

Frage 0:

Welche der folgenden Aussagen ( u.a. zu JUnit (Version 4), Interfaces und Sofware-Testing) sind richtig?

 

Study