Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lernen Methodenübung | Methoden
Java Erweitert
course content

Kursinhalt

Java Erweitert

Java Erweitert

1. Tiefe Java-Struktur
2. Methoden
3. String Advanced
4. Klassen
5. Klassen Fortgeschritten

book
Methodenübung

Übung

Methoden können schwer zu verstehen sein, daher bietet dieses Kapitel Beispiele für verschiedene Methoden in Aktion, zeigt wie sie funktionieren, wo man sie verwenden kann und wie man mehrere Methoden effektiv schreibt und kombiniert.

Beispiel 1

Beginnen wir mit einer Methode, die ein Array vom Typ int nimmt und es umkehrt, sodass der letzte Wert der erste und der erste der letzte wird:

java

Main

copy
123456789101112131415161718192021222324252627282930
package com.example; public class Main { static int[] flipIntArray(int[] array) { int[] result = new int[array.length]; int index = 0; for (int i = array.length - 1; i >= 0; i--) { result[index] = array[i]; index++; } return result; } static void printIntArrayToTheConsole(int[] array) { for (int element : array) { System.out.print(element + " "); } System.out.println(); } public static void main(String[] args) { // do not modify the code below int[] firstArray = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; int[] secondArray = {0, 2, 4, 6, 8, 10, 12, 14, 16}; printIntArrayToTheConsole(flipIntArray(firstArray)); printIntArrayToTheConsole(flipIntArray(secondArray)); } // do not modify the code above }
  • Zuerst achten wir auf die Methode flipIntArray in Zeile 4, die eine Schleife verwendet, die vom Ende des Arrays zählt und ihre Werte in einem neu erstellten Array derselben Größe speichert. Es gibt auch eine index-Variable in Zeile 6, die erhöht wird, um die Werte im result-Array zu speichern;

  • Als nächstes sehen Sie die Methode in Zeile 14 aus dem vorherigen Kapitel, die ich verwende, um das Array in nur einer Codezeile zu drucken;

  • Nun kommen wir zu etwas Interessantem. Sie können in den Zeilen 25-26 sehen, dass ich eine Methode als Parameter in eine andere Methode übergebe. Dies liegt daran, dass ich eine Methode verwende, die int[] zurückgibt, innerhalb einer Methode, die int[] **als Parameter nimmt, wodurch der für die Erstellung von Variablen zugewiesene Speicher gespart wird. Wir können sehen, dass unsere Methoden funktionieren und die richtigen Werte anzeigen.

Beispiel 2

Angenommen, wir müssen eine Methode schreiben, die die Fakultät berechnet und eine Ganzzahlvariable als Eingabe nimmt.

java

Main

copy
12345678910111213141516171819202122232425262728293031
package com.example; // do not modify the code below this comment public class Main { // method to calculate the factorial of a number static int calculateFactorial(int input) { int result = 1; // loop to calculate factorial by multiplying each number from 1 to input for (int i = 1; i <= input; i++) { result = result * i; } // return the final result of the factorial calculation return result; } public static void main(String[] args) { // initializing the first number for factorial calculation int first = 5; // initializing the second number for factorial calculation int second = 7; // initializing the third number for factorial calculation int third = 4; // calculating and printing the factorial of the first number System.out.println("Factorial of the first number = " + calculateFactorial(first)); // calculating and printing the factorial of the second number System.out.println("Factorial of the second number = " + calculateFactorial(second)); // calculating and printing the factorial of the third number System.out.println("Factorial of the third number = " + calculateFactorial(third)); } }

In diesem Beispiel haben wir eine Methode geschrieben, die die akkumulierte Variable mit Zahlen von 1 bis zur angegebenen Zahl multipliziert, um die Fakultät zu berechnen. Es ist ein einfacher Ansatz, und Sie können sehen, wie wir diese Methode mehrfach in der main-Methode verwenden, was Platz spart und die Lesbarkeit des Codes verbessert. Als nächstes verwenden wir unsere Methode innerhalb von System.out.println, da die Methode einen int-Wert zurückgibt.

Beispiel 3

Wir werden eine Methode schreiben, die eine Abkürzung aus einem Array von Strings erstellt.

java

Main

copy
1234567891011121314151617181920212223242526272829
package com.example; // do not modify the code below this comment public class Main { // method to create abbreviation by taking first letter of each word static String makeAbbreviation(String[] input) { StringBuilder result = new StringBuilder(); // iterate through each word and append the first letter to result for (String word : input) { result.append(word.toUpperCase().charAt(0)); } // return the abbreviation as a string return result.toString(); } public static void main(String[] args) { // initializing arrays with words for abbreviation String[] firstArray = {"united", "nations"}; String[] secondArray = {"North", "Atlantic", "Treaty", "Organization"}; String[] thirdArray = {"Oh", "my", "God"}; // printing abbreviation for the first array System.out.println(makeAbbreviation(firstArray)); // printing abbreviation for the second array System.out.println(makeAbbreviation(secondArray)); // printing abbreviation for the third array System.out.println(makeAbbreviation(thirdArray)); } }

In dieser Methode verwenden wir die Klasse StringBuilder, um die Methode append() aufzurufen und den ersten Buchstaben in Großbuchstaben zu einem anfangs leeren String hinzuzufügen. Auf diese Weise iterieren wir durch jedes Element des Arrays, nehmen den Buchstaben an der nullten Position (den ersten Buchstaben jedes Wortes), konvertieren ihn mit der Methode toUpperCase() in Großbuchstaben und fügen ihn mit der Methode append() zu unserem Ergebnis hinzu. Schließlich verwenden wir die Methode toString(), um unseren StringBuilder in einen String zu konvertieren.

1. Was ist ein Rückgabewert in einer Methode?

2. Was gibt eine void-Methode zurück?

3. Kann eine Methode innerhalb einer anderen Methode verwendet werden?

Was ist ein Rückgabewert in einer Methode?

Was ist ein Rückgabewert in einer Methode?

Wählen Sie die richtige Antwort aus

Was gibt eine `void`-Methode zurück?

Was gibt eine void-Methode zurück?

Wählen Sie die richtige Antwort aus

Kann eine Methode innerhalb einer anderen Methode verwendet werden?

Kann eine Methode innerhalb einer anderen Methode verwendet werden?

Wählen Sie die richtige Antwort aus

War alles klar?

Wie können wir es verbessern?

Danke für Ihr Feedback!

Abschnitt 2. Kapitel 5
We're sorry to hear that something went wrong. What happened?
some-alt