erstellt 16.05.98; übersetzt 24.06.03; überarbeitet 04.03.05, 15.05.24; Deutsche Übersetzung Heinrich Gailer

Quiz über Arrays als Parameter

Hinweise: Entscheidet Euch bei jeder Frage für die beste Antwort. Klickt dann auf das entsprechende Optionskästchen, um diese Antwort auszuwählen. Ihr könnt Eure Antwort jederzeit ändern. Sobald das Quiz bewertet wird, erscheint der Buchstabe der richtigen Antwort in der Textbox unterhalb der Frage.


1. Java verwendet Call by Value. Welches ist der Wert, der durch den folgenden Methodenaufruf an routine() übergeben wird?

double[] arr = {1.2, 3.4, 5.6};

routine( arr );
a.    Eine Kopie des Arrays arr.
b.    Den Wert der Elemente von arr.
c.    Eine Referenz auf das Arrayobjekt arr.
d.    1.2

Die korrekte Antwort ist:


2. Mit welchem Parametertyp muss die folgende Methode aufgerufen werden?

int meineMethode ( double[] arr )
{
  . . . .
}
a.    Einem leeren Array vom Typ double.
b.    Einer Referenz auf ein Array, dessen Elemente vom Typ double sind.
c.    Einer Referenz auf ein Array, dass 0 oder mehr Elemente des Typs int enthält.
d.    Einem Array von beliebiger Länge, dass Werte vom Typ double enthält und arr genannt werden muss.

Die korrekte Antwort ist:


3. Was macht die folgende Methode?

void streuen ( int[] werte )
{
  for ( int index = 1 ; index < werte.length ; index++  )
    werte[index] = werte[0];
}
a.    Sie ändert ein Array, indem sie das Element 0 in alle anderen Zellen kopiert.
b.    Sie ändert ein Array, indem sie jedem Element den Wert seines Indexes gibt.
c.    Sie ändert ein Array, indem sie jedes Element auf 0 setzt.
d.    Sie ändert den formalen Parameter, aber ändert nicht das Array des Aufrufers.

Die korrekte Antwort ist:


4. Was macht die folgende Methode?

void unklar ( char[] z, String st )
{
  if ( z.length < st.length() ) return;

  for ( int j=0; j < st.length; j++ )
    z[j] = st.charAt( j );

}
a.    Sie ermittelt, ob das Array die gleichen Zeichen wie der String enthält.
b.    Sie kopiert die Zeichen des Arrays in den String.
c.    Sie erzeugt ein neues Array, das die gleichen Zeichen enthält wie der String.
d.    Wenn es genug Zellen in dem Array gibt, das durch z referenziert wird, kopiert sie die Zeichen des Strings, eines nach dem anderen, in das Array.

Die korrekte Antwort ist:


5. Was ist die Ausgabe des folgenden Programms?

class Aendern
{
  static void tuEs( int[] z )
  {
    z[0] = 0;
  }
}

class Testen
{
  public static void main ( String[] args )
  {
    int[] arr = {1, 2, 3, 4, 5} ;

    Aendern.tuEs( arr );

    for (int j=0; j<arr.length; j++ )
      System.out.print( arr[j] + " " ) ;
  }
}
a.    1 2 3 4 5
b.    0 1 2 3 4
c.    0 2 3 4 5
d.    2 3 4 5 0

Die korrekte Antwort ist:


6. Was ist die Ausgabe des folgenden Programms?

class Aendern
{
  static void tuEs( int[] z )
  {
    z[0] = z[ z.length-1 ];
  }
}

class Testen
{
  public static void main ( String[] args )
  {
    int[] arr = {1, 2, 3, 4, 5} ;

    Aendern.tuEs( arr );

    for (int j=0; j<arr.length; j++ )
      System.out.print( arr[j] + " " ) ;
  }
}
a.    1 2 3 4 5
b.    0 2 3 4 5
c.    5 2 3 4 1
d.    5 2 3 4 5

Die korrekte Antwort ist:


7. Was ist die Ausgabe des folgenden Programms?

class Aendern
{
  static void tuEs( int[] z )
  {
    int temp = z[ z.length-1 ] ;
    z[0] = temp;
  }
}

class Testen
{
  public static void main ( String[] args )
  {
    int[] arr = {1, 2, 3, 4, 5} ;

    Aendern.tuEs( arr );

    for (int j=0; j<arr.length; j++ )
      System.out.print( arr[j] + " " ) ;
  }
}
a.    1 2 3 4 5
b.    0 2 3 4 5
c.    5 2 3 4 1
d.    5 2 3 4 5

Die korrekte Antwort ist:


8. Was ist die Ausgabe des folgenden Programms?

class Aendern
{
  static void tuEs( int[] z )
  {
    int temp = z[ z.length-1 ] ;
    z[ z.length-1 ] = z[0] ;
    z[0] = temp;
  }
}

class Testen
{
  public static void main ( String[] args )
  {
    int[] arr = {1, 2, 3, 4, 5} ;

    Aendern.tuEs( arr );

    for (int j=0; j<arr.length; j++ )
      System.out.print( arr[j] + " " ) ;
  }
}
a.    1 2 3 4 5
b.    5 2 3 4 1
c.    1 2 3 4 1
d.    5 2 3 4 5

Die korrekte Antwort ist:


9. Was ist die Ausgabe des folgenden Programms?

class Aendern
{
  static void tuEs( int[] z )
  {
    int[] a = z ;
    a[0] = 99;
  }
}

class Testen
{
  public static void main ( String[] args )
  {
    int[] arr = {1, 2, 3, 4, 5} ;

    Aendern.tuEs( arr );

    for (int j=0; j<arr.length; j++ )
      System.out.print( arr[j] + " " ) ;
  }
}
a.    1 2 3 4 5
b.    99 2 3 4 5
c.    0 2 3 4 5
d.    99 99 99 99 99

Die korrekte Antwort ist:


10. Was ist die Ausgabe des folgenden Programms?

class Aendern
{
  static void tuEs( int[] z )
  {
    z = null ;
  }
}

class Testen
{
  public static void main ( String[] args )
  {
    int[] arr = {1, 2, 3, 4, 5} ;

    Aendern.tuEs( arr );

    for (int j=0; j<arr.length; j++ )
      System.out.print( arr[j] + " " ) ;
  }
}
a.    1 2 3 4 5
b.    Nothing will be printed.
c.    The program will halt with a run time error.
d.    0 0 0 0 0

Die korrekte Antwort ist:


Richtige Antworten:       in Prozent:       Bewertung:   


Inhalt (Solltet Ihr gerade von einer anderen Seite hierher zurückgekommen sein oder diese Seite neu geladen haben kann es sein, dass Ihr erneut auf alle Antworten klicken müsst, damit das Bewertungsprogramm korrekt arbeitet.)

Um die alten Antworten zu löschen, haltet die Strg-Taste gedrückt und ladet dann die Seite neu. Manchmal funktioniert das nur in Verbindung mit der Umschalt- bzw. Strg+Umschalt-Taste.