erstellt 27.05.03; übersetzt 20.06.03; überarbeitet 17.02.04, 24.01.05; © Copyright 2003 - 2005 Deutsche Übersetzung Heinrich Gailer
Arrays können verwirrend sein. Studenten kommen manchmal bis zu Arrays und machen von da an nicht weiter. Das hat sich für alle Programmiersprachen — BASIC, FORTRAN, Pascal und Java — als wahr erwiesen. Das Problem mit Arrays ist, dass jetzt in den Anweisungen zusätzlich indexiert werden muss, damit sie ihre übliche Arbeit tun. Zuweisungsanweisungen waren gewohnt einfach:
summe = ergebnis + wert;
Jetzt können Sie kompliziert sein:
summe = ergebnis[j] + wert[k];
Tatsächlich sind Arrays nicht schwierig, sobald Sie sich mit der Notation vertraut gemacht haben, und das braucht einige Übung. Diese Aufgaben geben Ihnen Übung in der Verwendung von Indizes.
Kopieren Sie jedes Programmgrundgerüst in Ihren Editor und vervollständigen Sie es dort wie vorgegeben. Kompilieren und starten Sie dann das Programm.
Begutachten Sie das folgende Programm:
class Uebung1
{
public static void main ( String[] args )
{
int[] arr = {0, 1, 2, 3};
int summe =
System.out.println( "Summe aller Zahlen = " + summe );
}
}
Vervollständigen Sie die Zuweisungsanweisung, so dass sie die Summe der Zahlen im Array berechnet.
Zurück zum Inhaltsverzeichnis.
Begutachten Sie das folgende Programm:
class Uebung2
{
public static void main ( String[] args )
{
int[] arr = {13, -4, 82, 17};
int[] doppelt;
System.out.println( "Urspruengliches Array: "
+ arr[0] + " " + arr[1] + " " + arr[2] + " " + arr[3] );
// Konstruieren Sie ein Arrayobjekt für doppelt.
// Stellen Sie Werte in doppelt, die zweimal so groß sind
// als ihre entsprechenden Werte in arr
System.out.println( "Neues Array: "
+ doppelt[0] + " " + doppelt[1] + " " + doppelt[2] + " " + doppelt[3] );
}
}
Vervollständigen Sie das Programm, so dass
ein neues Array doppelt konstruiert wird.
Kopieren Sie jetzt die Werte von arr nach doppelt,
aber machen Sie die Werte in doppelt zweimal so groß als wie
sie in arr sind.
Zurück zum Inhaltsverzeichnis.
Begutachten Sie das folgende Programm:
class Uebung3
{
public static void main ( String[] args )
{
int[] arrA = { 13, -22, 82, 17};
int[] arrB = {-12, 24, -79, -13};
int[] summe = { 0, 0, 0, 0};
// Addieren Sie die Werte der entsprechenden Slots von arrA und arrB,
// und stellen Sie das Ergebnis in den entsprechenden Slot von summe.
System.out.println( "Summe: "
+ summe[0] + " " + summe[1] + " " + summe[2] + " " + summe[3] );
}
}
Vervollständigen Sie das Programm
mit vier Zuweisungsanweisungen,
so dass jeder Slot von summe
die Summe der entsprechenden Slots von
arrA und arrB enthält.
D.h., addieren Sie Slot 0 von arrA
mit Slot 0 von arrB und stellen Sie das
Ergebnis in den Slot 0 von summe und so weiter.
Zurück zum Inhaltsverzeichnis.
Begutachten Sie das folgende Programm:
class Uebung4
{
public static void main ( String[] args )
{
int[] arrA = { 13, -22, 82, 17};
int[] arrB = { 0, 0, 0, 0};
// Stellen Sie Werte in arrB, so dass die Summe der Werte
// der entsprechenden Slots von arrA und arrB 25 ist.
System.out.println( "arrA: "
+ arrA[0] + " " + arrA[1] + " " + arrA[2] + " " + arrA[3] );
System.out.println( "arrB: "
+ arrB[0] + " " + arrB[1] + " " + arrB[2] + " " + arrB[3] );
System.out.println( "Summe: "
+ (arrA[0]+arrB[0]) + " " + (arrA[1]+arrB[1]) + " "
+ (arrA[2]+arrB[2]) + " " + (arrA[3]+arrB[3]) );
}
}
Vervollständigen Sie das Programm
mit vier Zuweisungsanweisungen,
die Werte in arrB stellen,
so dass die Summe der entsprechenden Slots
von arrA und arrB 25 ist.
Zurück zum Inhaltsverzeichnis.
Begutachten Sie das folgende Programm:
class Uebung5
{
public static void main ( String[] args )
{
int[] arr = {0, 1, 2, 3};
int temp;
System.out.println( "Urspruengliches Array: "
+ arr[0] + " " + arr[1] + " " + arr[2] + " " + arr[3] );
// Kehren Sie die Reihenfolge der Zahlen in dem Array um
System.out.println( "Umgekehrtes Array: "
+ arr[0] + " " + arr[1] + " " + arr[2] + " " + arr[3] );
}
}
Vervollständigen Sie das Programm, so dass
die Zahlen in dem Array in umgekehrter Reihenfolge erscheinen.
Sie werden eine Variable temp brauchen, um das zu tun.
Hinweis: dies ist eine schwierigere Aufgabe als Sie denken mögen. Ich stelle sie manchmal in den Prüfungen Mitte des Semesters und manche Studenten können sie nicht lösen.
Zurück zum Inhaltsverzeichnis.
Ende der Aufgaben