Kursinnehåll
Java Fördjupad
Java Fördjupad
Skapa Egna Metoder
Hur använder man metoder?
Vi har tittat på hur man skapar en metod som adderar två tal. Nu ska vi se hur vi faktiskt kan anropa denna metod i vår kod:
Main.java
package com.example; // do not modify the code below this comment public class Main { public static void main(String[] args) { int a = 10; int b = 31; // use the method to add two numbers: `a` and `b` int sum = addTwoNumbers(a, b); // print the sum of the two numbers System.out.println(sum); } // method to add two numbers and return the result static int addTwoNumbers(int firstNumber, int secondNumber) { int result = firstNumber + secondNumber; // return the result of the addition return result; } }
- Vi skapade två variabler av typen
int
med olika värden och skickade dem sedan som parametrar till vår metod; - Eftersom vår metod returnerar en
int
-typ kan vi initiera variabelnsum
med resultatet av metodanropet; - På så sätt beräknade och returnerade vår metod
sum
av de två talen.
Vi kan också skicka arrayer som parametrar och returnera dem från metoder. Låt oss titta på ett exempel:
Main.java
package com.example; import java.util.Arrays; // do not modify the code below this comment public class Main { public static void main(String[] args) { // creating an unsorted array int[] array = {4, -1, 5, 0, 4, -6, 2, 7, 4, 1}; // use a method to sort the array and increment each element by 1 int[] newArray = sortAndIncrementEveryElement(array); // print the new array after sorting and incrementing each element for (int element : newArray) { System.out.print(element + " "); // output each element from the new array } } // method to increment each element of the array by 1 and then sort it static int[] sortAndIncrementEveryElement(int[] inputArray) { // create a result array with the same length as the input array int[] result = new int[inputArray.length]; // increment each element by 1 for (int i = 0; i < inputArray.length; i++) { result[i] = inputArray[i] + 1; } // sort the result array Arrays.sort(result); // return the sorted and incremented array return result; } }
Vi har skrivit en metod som sorterar och ökar varje element i en heltalsarray (int[]
). Därefter skapar vi en osorterad array och använder metoden på den, och initierar en ny array kallad newArray
med det returnerade värdet.
Det är värt att notera att vi kan använda denna metod flera gånger i samma kod, till exempel:
Main.java
package com.example; import java.util.Arrays; // do not modify the code below this comment public class Main { public static void main(String[] args) { // creating unsorted arrays int[] array = {4, -1, 5, 0, 4, -6, 2, 7, 4, 1}; int[] secondArray = {2, 2, 0, -5, 1, 8, 13, -9, 0}; // use a method to sort and increment each element in both arrays int[] newArray = sortAndIncrementEveryElement(array); int[] newSecondArray = sortAndIncrementEveryElement(secondArray); // print the new arrays after sorting and incrementing the elements for (int element : newArray) { System.out.print(element + " "); // output each element of the first array } System.out.println(System.lineSeparator()); for (int element : newSecondArray) { System.out.print(element + " "); // output each element of the second array } } // method to increment each element by 1 and then sort the array static int[] sortAndIncrementEveryElement(int[] inputArray) { // create a result array with the same length as the input array int[] result = new int[inputArray.length]; // increment each element by 1 for (int i = 0; i < inputArray.length; i++) { result[i] = inputArray[i] + 1; } // sort the result array Arrays.sort(result); // return the sorted and incremented array return result; } }
Således kan vi se att vi kan använda vår metod flera gånger i koden. Vi har använt den på två olika heltalsarrayer, och var och en av dem är nu sorterad och inkrementerad.
Tack för dina kommentarer!