Metodeøvelser
Øvelse
Metoder kan være udfordrende at forstå, så dette kapitel giver eksempler på forskellige metoder i brug, viser hvordan de fungerer, hvor de anvendes, og hvordan man skriver og kombinerer flere metoder effektivt.
Eksempel 1
Lad os starte med en metode, der tager et array af typen int
og vender det om, så sidste værdi bliver den første og første bliver den sidste:
Main.java
123456789101112131415161718192021222324252627282930package 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 }
-
Først skal vi lægge mærke til metoden
flipIntArray
på linje 4, som bruger en løkke, der tæller fra slutningen af arrayet og gemmer værdierne i et nyt array af samme størrelse. Der er også enindex
-variabel på linje 6, der øges for at gemme værdierne iresult
-arrayet; -
Dernæst kan du se metoden på linje 14 fra det forrige kapitel, som jeg bruger til at udskrive arrayet med kun én linje kode;
-
Nu går vi videre til noget interessant. Du kan se på linje 25-26, at jeg sender en metode som parameter ind i en anden metode. Dette skyldes, at jeg bruger en metode, der returnerer
int[]
inde i en metode, der tagerint[]
som parameter, hvilket sparer hukommelse ved ikke at oprette ekstra variabler. Vi kan se, at vores metoder fungerer og viser de korrekte værdier.
Eksempel 2
Antag, at vi skal skrive en metode, der beregner fakultet, hvor en heltalsvariabel gives som input.
Main.java
12345678910111213141516171819202122232425262728293031package 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)); } }
I dette eksempel har vi skrevet en metode, der multiplicerer den akkumulerende variabel med tal fra 1
til det angivne tal for at beregne fakultetet. Det er en ligetil tilgang, og du kan se, hvordan vi bruger denne metode flere gange i main
-metoden, hvilket spar plads og forbedrer læsbarheden af koden.
Dernæst bruger vi vores metode inde i System.out.println
, fordi metoden returnerer en int
-værdi.
Eksempel 3
Vi vil skrive en metode, der opretter en forkortelse ud fra et array af strenge.
Main.java
1234567891011121314151617181920212223242526272829package 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)); } }
I denne metode bruger vi klassen StringBuilder
til at kalde append()
-metoden og tilføje det store begyndelsesbogstav til en oprindeligt tom streng. På denne måde gennemløber vi hvert element i arrayet, tager bogstavet på den nul'te position (det første bogstav i hvert ord), konverterer det til stort med toUpperCase()
-metoden og tilføjer det til vores resultat med append()
-metoden. Til sidst bruger vi toString()
-metoden til at konvertere vores StringBuilder
til en String
.
1. Hvad er en returværdi i en metode?
2. Hvad returnerer en void
-metode?
3. Kan en metode bruges inde i en anden metode?
Tak for dine kommentarer!
Spørg AI
Spørg AI
Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat
Awesome!
Completion rate improved to 2.63
Metodeøvelser
Stryg for at vise menuen
Øvelse
Metoder kan være udfordrende at forstå, så dette kapitel giver eksempler på forskellige metoder i brug, viser hvordan de fungerer, hvor de anvendes, og hvordan man skriver og kombinerer flere metoder effektivt.
Eksempel 1
Lad os starte med en metode, der tager et array af typen int
og vender det om, så sidste værdi bliver den første og første bliver den sidste:
Main.java
123456789101112131415161718192021222324252627282930package 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 }
-
Først skal vi lægge mærke til metoden
flipIntArray
på linje 4, som bruger en løkke, der tæller fra slutningen af arrayet og gemmer værdierne i et nyt array af samme størrelse. Der er også enindex
-variabel på linje 6, der øges for at gemme værdierne iresult
-arrayet; -
Dernæst kan du se metoden på linje 14 fra det forrige kapitel, som jeg bruger til at udskrive arrayet med kun én linje kode;
-
Nu går vi videre til noget interessant. Du kan se på linje 25-26, at jeg sender en metode som parameter ind i en anden metode. Dette skyldes, at jeg bruger en metode, der returnerer
int[]
inde i en metode, der tagerint[]
som parameter, hvilket sparer hukommelse ved ikke at oprette ekstra variabler. Vi kan se, at vores metoder fungerer og viser de korrekte værdier.
Eksempel 2
Antag, at vi skal skrive en metode, der beregner fakultet, hvor en heltalsvariabel gives som input.
Main.java
12345678910111213141516171819202122232425262728293031package 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)); } }
I dette eksempel har vi skrevet en metode, der multiplicerer den akkumulerende variabel med tal fra 1
til det angivne tal for at beregne fakultetet. Det er en ligetil tilgang, og du kan se, hvordan vi bruger denne metode flere gange i main
-metoden, hvilket spar plads og forbedrer læsbarheden af koden.
Dernæst bruger vi vores metode inde i System.out.println
, fordi metoden returnerer en int
-værdi.
Eksempel 3
Vi vil skrive en metode, der opretter en forkortelse ud fra et array af strenge.
Main.java
1234567891011121314151617181920212223242526272829package 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)); } }
I denne metode bruger vi klassen StringBuilder
til at kalde append()
-metoden og tilføje det store begyndelsesbogstav til en oprindeligt tom streng. På denne måde gennemløber vi hvert element i arrayet, tager bogstavet på den nul'te position (det første bogstav i hvert ord), konverterer det til stort med toUpperCase()
-metoden og tilføjer det til vores resultat med append()
-metoden. Til sidst bruger vi toString()
-metoden til at konvertere vores StringBuilder
til en String
.
1. Hvad er en returværdi i en metode?
2. Hvad returnerer en void
-metode?
3. Kan en metode bruges inde i en anden metode?
Tak for dine kommentarer!