erstellt 16.05.98; übersetzt 24.06.03; überarbeitet 04.03.05; © Copyright 2003 - 2005 Deutsche Übersetzung Heinrich Gailer

Quiz über Arrays als Parameter

Das ist ein Übungsquiz. Die Ergebnisse werden nirgendwo erfasst und haben keine Auswirkung auf Ihre Note. Die Fragen in diesem Quiz dürfen in keinem Quiz oder Test erscheinen, der für Ihre Benotung zählt.

Hinweise: Wählen Sie für jede Frage die beste Antwort und klicken Sie auf das entsprechende Optionskästchen. Sie können Ihre Antwort jederzeit ändern. Wenn das Quiz bewertet wird, erscheint die richtige Antwort in der Textbox nach jeder 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, dass Elemente des Typs double enthält.
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, in dem sie das Element 0 in alle anderen Slots kopiert.
b.    Sie ändert ein Array, in dem sie jedem Element den Wert seines Indexes gibt.
c.    Sie ändert ein Array, in dem 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 Slots in dem Array gibt, 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 —— Zurück zum Inhaltsverzeichnis.