Kursinhalt
Java Erweitert
Java Erweitert
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:
Main
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 eineindex
-Variable in Zeile 6, die erhöht wird, um die Werte imresult
-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, dieint[]
**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.
Main
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.
Main
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?
Danke für Ihr Feedback!