Fragen zu Feldern
Fragen zu Feldern javafrage Sat, 11/24/2018 - 13:52- 1380 views
1. Felder, Schleifen, Referenzen
1. Felder, Schleifen, ReferenzenSchreiben Sie eine Methode welche alle Werte eines Felds verdreifacht. Schreiben Sie den Quellcode in den freien Platz der vorgegebenen Methode dreifach(int[] a) der Klasse Feld1.
- Verdreifachen Sie alle Werte des Feldes a welches als Eingabeparameter übergeben wird
- Nicht notwendig:
- Überprüfung auf Überlauf des Wertebereichs von int der einzelnen Feldelemente
- Typprüfungen für a (a sei eine Nullreferenz oder ein Feld von int)
- Für volle Punktzahl notwendig:
- Prüfen, dass die übergebene Variable a nicht eine Nullreferenz ist
- Verdreifachen aller Werte eines beliebig langen Feldes a
- Die Feldgrenzen sollen nicht unter- oder überlaufen werden
Gegeben ist das folgende Javaprogramm:
public class Feld1 { public static void dreifach(int[] a) { // Hier Lösung einfügen } // Ende der Methode. Kein Rückgabewert notwendig } // Ende der Klasse Feld1
Niveau | 1 |
Schwierigkeitsgrad | mittel |
Zeit | 9 Minuten |
Die Antwort ist bei der nächsten Frage zu finden (URL rechts unten)
- 5254 views
2. Parameterübergaben und Rückgaben von Werten
2. Parameterübergaben und Rückgaben von WertenBei der Methode malDrei(int b) geht das Ergebnis nach dem Verlassen des Methodenrumpf verloren.
Warum geht dieses Ergebnis verloren, aber das Ergebnis der Methode dreifach(int[] a) kann noch vom Aufrufer nach Beenden der Methode verwendet werden?
Geben Sie eine kurze Erklärung der beiden unterschiedlichen Situationen.
public class Feld1 { public static void dreifach(int[] a) { if (a != null) {
for (int i = 0; i<a.length; i++) {
a[i] = 3 * a[i];
}
} } // Ende der Methode. Kein Rückgabewert notwendig public static void malDrei(int b) {int c=3*b;} } // Ende der Klasse Feld1
Niveau | 1 |
Schwierigkeitsgrad | mittel |
Zeit | 4 Minuten |
Die Antwort ist bei der nächsten Frage zu finden (URL rechts unten)
Antwort zu Frage 1 : Felder, Schleifen, Referenzen
public class Feld1 { public static void dreifach(int[] a) { if (a != null) {
for (int i = 0; i<a.length; i++) {
a[i] = 3 * a[i];
}
} } // Ende der Methode. Kein Rückgabewert notwendig } // Ende der Klasse Feld1
- 4680 views
3. Implementieren eines Felds (Array)
3. Implementieren eines Felds (Array)Vervollständigen Sie die weiter unten aufgeführte Vorlage einer Klasse Feld.
1. Deklarieren sie ein öffentliches Attribut der Klasse Feld mit
- dem Namen f
- dem Typ eines Feldes von 32 Bit Ganzzahlen
- initialisieren Sie das Attribut mit einer aufzählenden Belegung für 10 Feldelemente
- belegen Sie die Position 0 des Feldes mit dem Wert 9, die Position 1 mit dem Wert 8, die Position 2 mit dem Wert 7 usw.
2. Implementieren Sie eine Methode mit dem Namen verdoppeln
- die Methode verdoppeln soll nur von Unterklassen aufgerufen werden können (1 Minute)
- die Methode hat keine Eingabe oder Ausgabeparameter (1 Minute)
- alle Elemente des Feldes f sollen im Wert verdoppelt werden (2 Minuten)
- die Methode soll für beliebig lange Felder funktionieren (1 Minute)
- wählen Sie eine Schleife und die benötigten Zählvariablen (2 Minuten)
public class Feld { // Ab hier implementieren }// Ende der Klasse Feld
Die Antwort ist bei der nächsten Frage zu finden (URL rechts unten)
Niveau | 1 |
Schwierigkeitsgrad | mittel |
Zeit | 3+7 Minuten |
Die Antwort ist bei der nächsten Frage zu finden (URL rechts unten)
Antwort zu Frage 2 : Parameterübergaben und Rückgaben von Werten
Bei der Methode dreifach() wird eine Referenz auf ein Feld int[], welches auf dem Heap liegt, übergeben. Das Feld ist solange benutzbar, solange es Referenzen darauf gibt.
Die Methode malDrei() hat einen Basistypen int als Übergabeparameter. Er wird beim Aufruf kopiert und ist nur innerhalb des Methodenblocks gültig. Die Variable b wird am Ende des Methodenblocks gelöscht und ist nicht mehr benutzbar.
- 5013 views
4. Felder aufzählend initialisieren und benutzen
4. Felder aufzählend initialisieren und benutzenVervollständigen Sie die weiter unten aufgeführte Vorlage einer Klasse Prim.
Deklarieren sie ein privates, statisches Attribut der Klasse Prim zur Verwaltung der ersten fünf Primzahlen in aufsteigender Folge. (2 Minuten)
2 ist die erste Primzahl!
- Initialisieren Sie das Attribut mit dem Feld mit einer aufzählenden Belegung (1 Minute)
- das Feld soll nicht veränderbar sein (1Minute)
- an der ersten Stelle soll die 2 im Feld gespeichert sein
- Implementieren Sie den Rumpf der Methode auslesen()
- sie liest die n'te Primzahl aus dem Feld aus.
- Beim Aufruf von 1 gibt erste Primzahl aus.
- Beim Aufruf von 2 die zweite usw.
- Sie müssen nicht die Feldgrenzen überprüfen.
public class Prim { // Hier das Feldattribut deklarieren }// Ende der Klasse Prim
Niveau | 1 |
Schwierigkeitsgrad | mittel |
Zeit | 7 Minuten (4+3) |
Die Antwort ist bei der nächsten Frage zu finden (URL rechts unten)
Antwort zu Frage 3 : Implementieren eines Felds (Array)
public class Feld { // Ab hier implementieren public int[] f = {9,8,7,6,5,4,3,2,1,0}; protected void verdoppeln() { for (int i=0;i<f.length;i++) { f[i]=2*f[i]; } }}// Ende der Klasse Feld
- 4586 views
5. Zweidimensionales Feld implementieren
5. Zweidimensionales Feld implementierenEs soll eine Methode
public static int anzahlZellen(int[][] meinFeld)
implementiert werden. Diese Methode zählt die Zellen eines zweidimensionalen Felds.
- Welche Sonderfälle können bei einem Zeiger wie meinFeld bei zweidimensionalen Feldern auftreten? (2 Min.)
- Skizzieren Sie textuell was in der oben genannten Methode programmiert werden muss. ( 4 Min.)
Niveau | 1 |
Schwierigkeitsgrad | mittel |
Zeit | 2+4 Minuten |
Die Antwort ist bei der nächsten Frage zu finden (URL rechts unten)
Antwort zu Frage 4 : Felder aufzählend initialisieren und benutzen
public class Prim { // Hier das Feldattribut deklarieren private static final int[] feld = {2,3,5,7,11}; public static int auslesen (int pos) { return feld[pos-1]; } }// Ende der Klasse Prim
- 3802 views
6. Aufzählendes Initialisieren von Feldern
6. Aufzählendes Initialisieren von FeldernVervollständigen Sie den unten aufgeführten Code in dem Sie das gegebene Feld von Zweierpotenzen mit den ersten vier Zweierpotenzen (1, 2, 4, 8) aufzählend initialisieren.
int[] zweierpotenzen
Niveau | 1 |
Schwierigkeitsgrad | mittel |
Zeit | 3 Minuten |
Die Antwort ist bei der nächsten Frage zu finden (URL rechts unten)
Antwort zu Frage 5.: Zweidimensionales Feld implementieren
Sonderfälle
- Der Zeiger ist leer (null)
- Das Feld ist kürzer als gedacht oder leer.
Vorgehen
- Prüfe ob ein Nullzeiger vorliegt. Gib 0 als Ergebnis aus falls ein Nullzeiger vorliegt und beende das Programm
- Bestimme die Länge des Feldes der ersten Dimension
- Führe die folgenden Operationen für alle Feldelemente der ersten Dimension durch.
- Die einzelnen Elemente der ersten Dimension werden „zweite Dimension“ genannt:
- Ein Zeiger der zweiten Dimension zeigt auf null
- Ja: Setze die Länge des Feldes auf Null
- Nein: Bestimme die Länge der Felder der zweiten Dimension
- Addiere das Ergebnis der Felder der zweiten Dimension zum Gesamtergebnis
- Gibt das Gesamtergebnis zurück
- 3658 views
7. Speicherbereich für Felder
7. Speicherbereich für FelderIn welchem Speicherbereich werden Felder verwaltet (1 Min.) und warum (2 Min.)?
Niveau | 1 |
Schwierigkeitsgrad | mittel |
Zeit | 3 Minuten |
Die Antwort ist bei der nächsten Frage zu finden (URL rechts unten)
Antwort zu Frage 6 : Aufzählendes Initialisieren von Feldern
int[] zweierpotenzen = {1,2,4,8};
- 3804 views
Antwort zu 1.90 Speicherbeich für Felder fehlt
Die Antwort zu 1.90 Speicherbereich für Felder fehlt, man wird direkt auf 2. Fragen für Fortgeschrittene weitergeleitet.
- Log in to post comments
8. Felder (Implementieren)
8. Felder (Implementieren)Schreiben Sie eine öffentliche Klassenmethode erzeugeFibonacciFeld, der als Parameter eine Ganzzahl größer 2 übergeben wird.
Diese Ganzzahl legt fest, wie groß das Ganzzahlen-Feld sein soll, das in der Methode zuerst eingerichtet und dann mit den Werten der Fibonacci-Folge gefüllt werden soll. Bei einem Übergabeparameter n soll das Feld von der Position 0 bis n mit den Elementen der Fibonaccifolge gefüllt sein
Definition der Fibonacci-Folge
Jeder Wert der Fibonacci-Folge besteht aus der Summe der beiden vorgehenden Werte.Für die ersten beiden Zahlen sind die Werte 0 und 1 vorgegeben. Das bedeutet:
- f0 = 0 ;
- f1 = 1;
- f2 = 1;
- f3 = 2;
- f4 = 3;
- f5 = 5,
- …
oder als Formel
fn = fn-1 + fn-2 für n>= 2
Hinweis für die Methode:
- Es wird kein Wert zurückgeben;
- das Fibonacci-Feld wird lokal in der Methode deklariert;
- Es findet keine Überprüfung auf Unterlauf des Parameter(<2) statt; Es findet keine Überprüfung auf potentiellen Überlauf des Wertebereichs bei der Berechnung der Fibonacciwerte statt.
Niveau | 1 |
Schwierigkeitsgrad | mittel |
Zeit |
12 Minuten |
Die Antwort ist bei der nächsten Frage zu finden (URL rechts unten)
Antwort zu Frage 7 : Speicherbereich von Feldern
Felder werden im Freispeicher (Heap) angelegt, da Sie unterschiedlich groß sein können.
- 4810 views
9. Felder in Parameterlisten
9. Felder in ParameterlistenImplementieren sie den Kopf einer Methode die beliebig viele Namen Ihrer Haustiere annehmen kann. Vervollständigen Sie den Methodenkopf. Drucken Sie in der Methode alle Namen der Tiere auf die Konsole:
public static void meineLieblinge ( /* ? */) { // Hier implementieren }
Niveau | 1 |
Schwierigkeitsgrad | mittel |
Zeit |
5 Minuten |
Die Antwort ist bei der nächsten Frage zu finden (URL rechts unten)
Antwort zu Frage 8: Felder (Implementieren)
public void erzeugeFibonacciFeld(int k) { int [] fib=new int[k+1]; fib[0] = 0; fib[1] = 1; for (int i=2; i<= k; i++) fib[i] = fib[i-1]+fib[i-2]; }
Antwort zu Frage 9: Felder in Parameterlisten
public static void meineTiere (String … tiernamen ) { // Hier implementieren for ( String t : tierNamen) System.out.println("Haustier: " +t); }
- 77 views