Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Leer Oefening met Methoden | Methoden
Java Uitgebreid
course content

Cursusinhoud

Java Uitgebreid

Java Uitgebreid

1. Diepe Java-structuur
2. Methoden
3. String Geavanceerd
4. Klassen
5. Geavanceerde Klassen

book
Oefening met Methoden

Oefening

Methoden kunnen lastig te begrijpen zijn, daarom biedt dit hoofdstuk voorbeelden van verschillende methoden in actie, waarbij wordt getoond hoe ze werken, waar ze te gebruiken zijn en hoe je meerdere methoden effectief schrijft en combineert.

Voorbeeld 1

Laten we beginnen met een methode die een array van het type int neemt en deze omdraait zodat de laatste waarde de eerste wordt en de eerste de laatste:

Main.java

Main.java

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 }
  • Let eerst op de methode flipIntArray op regel 4, die een lus gebruikt die vanaf het einde van de array telt en de waarden opslaat in een nieuw aangemaakte array van dezelfde grootte. Er is ook een index-variabele op regel 6 die toeneemt om de waarden in de result-array op te slaan;

  • Vervolgens zie je de methode op regel 14 uit het vorige hoofdstuk, die ik gebruik om de array in slechts één regel code af te drukken;

  • Nu gaan we verder met iets interessants. Je ziet op regels 25-26 dat ik een methode als parameter doorgeef binnen een andere methode. Dit komt omdat ik een methode gebruik die int[] retourneert binnen een methode die int[] als parameter neemt, waardoor het geheugen dat nodig is voor het aanmaken van variabelen wordt bespaard. We zien dat onze methoden werken en de juiste waarden weergeven.

Voorbeeld 2

Stel dat we een methode moeten schrijven die de faculteit berekent, waarbij een integer als invoer wordt genomen.

Main.java

Main.java

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 dit voorbeeld hebben we een methode geschreven die de accumulerende variabele vermenigvuldigt met getallen van 1 tot het opgegeven getal om de faculteit te berekenen. Het is een eenvoudige aanpak, en je ziet hoe we deze methode meerdere keren gebruiken in de main-methode, wat ruimte bespaart en de leesbaarheid van de code verbetert. Vervolgens gebruiken we onze methode binnen System.out.println omdat de methode een int-waarde retourneert.

Voorbeeld 3

We schrijven een methode die een afkorting maakt van een array van strings.

Main.java

Main.java

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 deze methode gebruiken we de klasse StringBuilder om de methode append() aan te roepen en de hoofdletter van de eerste letter toe te voegen aan een aanvankelijk lege string. Op deze manier itereren we door elk element van de array, nemen we de letter op de nulde positie (de eerste letter van elk woord), zetten deze om naar hoofdletters met behulp van de methode toUpperCase(), en voegen deze toe aan ons resultaat met de methode append(). Tot slot gebruiken we de methode toString() om onze StringBuilder om te zetten naar een String.

1. Wat is een returnwaarde in een methode?

2. Wat retourneert een void-methode?

3. Kan een methode binnen een andere methode worden gebruikt?

question mark

Wat is een returnwaarde in een methode?

Select the correct answer

question mark

Wat retourneert een void-methode?

Select the correct answer

question mark

Kan een methode binnen een andere methode worden gebruikt?

Select the correct answer

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 2. Hoofdstuk 5

Vraag AI

expand

Vraag AI

ChatGPT

Vraag wat u wilt of probeer een van de voorgestelde vragen om onze chat te starten.

course content

Cursusinhoud

Java Uitgebreid

Java Uitgebreid

1. Diepe Java-structuur
2. Methoden
3. String Geavanceerd
4. Klassen
5. Geavanceerde Klassen

book
Oefening met Methoden

Oefening

Methoden kunnen lastig te begrijpen zijn, daarom biedt dit hoofdstuk voorbeelden van verschillende methoden in actie, waarbij wordt getoond hoe ze werken, waar ze te gebruiken zijn en hoe je meerdere methoden effectief schrijft en combineert.

Voorbeeld 1

Laten we beginnen met een methode die een array van het type int neemt en deze omdraait zodat de laatste waarde de eerste wordt en de eerste de laatste:

Main.java

Main.java

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 }
  • Let eerst op de methode flipIntArray op regel 4, die een lus gebruikt die vanaf het einde van de array telt en de waarden opslaat in een nieuw aangemaakte array van dezelfde grootte. Er is ook een index-variabele op regel 6 die toeneemt om de waarden in de result-array op te slaan;

  • Vervolgens zie je de methode op regel 14 uit het vorige hoofdstuk, die ik gebruik om de array in slechts één regel code af te drukken;

  • Nu gaan we verder met iets interessants. Je ziet op regels 25-26 dat ik een methode als parameter doorgeef binnen een andere methode. Dit komt omdat ik een methode gebruik die int[] retourneert binnen een methode die int[] als parameter neemt, waardoor het geheugen dat nodig is voor het aanmaken van variabelen wordt bespaard. We zien dat onze methoden werken en de juiste waarden weergeven.

Voorbeeld 2

Stel dat we een methode moeten schrijven die de faculteit berekent, waarbij een integer als invoer wordt genomen.

Main.java

Main.java

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 dit voorbeeld hebben we een methode geschreven die de accumulerende variabele vermenigvuldigt met getallen van 1 tot het opgegeven getal om de faculteit te berekenen. Het is een eenvoudige aanpak, en je ziet hoe we deze methode meerdere keren gebruiken in de main-methode, wat ruimte bespaart en de leesbaarheid van de code verbetert. Vervolgens gebruiken we onze methode binnen System.out.println omdat de methode een int-waarde retourneert.

Voorbeeld 3

We schrijven een methode die een afkorting maakt van een array van strings.

Main.java

Main.java

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 deze methode gebruiken we de klasse StringBuilder om de methode append() aan te roepen en de hoofdletter van de eerste letter toe te voegen aan een aanvankelijk lege string. Op deze manier itereren we door elk element van de array, nemen we de letter op de nulde positie (de eerste letter van elk woord), zetten deze om naar hoofdletters met behulp van de methode toUpperCase(), en voegen deze toe aan ons resultaat met de methode append(). Tot slot gebruiken we de methode toString() om onze StringBuilder om te zetten naar een String.

1. Wat is een returnwaarde in een methode?

2. Wat retourneert een void-methode?

3. Kan een methode binnen een andere methode worden gebruikt?

question mark

Wat is een returnwaarde in een methode?

Select the correct answer

question mark

Wat retourneert een void-methode?

Select the correct answer

question mark

Kan een methode binnen een andere methode worden gebruikt?

Select the correct answer

Was alles duidelijk?

Hoe kunnen we het verbeteren?

Bedankt voor je feedback!

Sectie 2. Hoofdstuk 5
some-alt