Programmieren_1/methoden.md

101 lines
2.4 KiB
Markdown

<!--
title: Methoden
description: Folien für Methoden in Programmieren 1
url: https://git.haw-hamburg.de/pm1-tutorium/slides
header: Programmieren 1 **Tutorium**
footer: Henri Burau und Eva Meinen
-->
# Methoden
```java
//Deklaration einer Methode
public void printGreeting(String name) {
System.out.printf("Hello %s", name);
}
```
---
## return
Alle Methodendeklarationen mit einem Rückgabetypen **müssen** `return` enhalten. Alle Methodendeklaration ohne einen Rückgabetypen **können** `return` enthalten.
```java
public void printGreeting(String name) {
if(name.isEmpty()) {
return;
}
System.out.printf("Hello %s", name);
}
public double getCircleArea(double radius) {
int result = 3.141 * radius * radius;
return result;
}
```
---
## Methoden-Aufruf
Methoden werden über ihren Identifier aufgerufen. Alle deklarierten Parameter **müssen** übergeben werden.
```java
public void main(String[] args) {
int radius = 10;
double area = getCircleArea(radius);
System.out.printf("The area of the square is %d", area);
}
public double getCircleArea(double radius) {
double result = 3.141 * radius * radius;
return result;
}
```
---
## Signatur
Der Name einer Methode zusammen mit den Typen der Parameter.
```java
// Signatur: getFirstWord(String)
public String getFirstWord(String text) {
// ...
}
// Signatur: getSumBetween(int[], int, int)
public int getSumBetween(int[] array, int start, int end) {
// ...
}
```
---
## Method overloading
Es kann mehrere Methoden mit dem gleichen Identifier geben. Aber nicht mehrere Methoden mit der gleichen Signatur.
```java
public double getTriangleArea(double length) {
// Berechnung der Fläche für ein Dreieck mit gleichlangen Seiten
}
public double getTriangleArea(double a, double b, double c) {
// Berechnung der Fläche für ein Dreieck mit unterschiedlichen Seiten
}
```
---
## Aufgaben
* Implementiere die Methode `public int getQuadrangleArea(int length)` welche die Fläche eines Vierecks mit gleichen Seiten berechnet.
* Implementiere die Methode `public int getQuadrangleArea(int a, int b)` welche die Fläche eines Vierecks mit unterschiedlichen Seiten berechnet.
* **Zusatz** Implementiere die Methode `public void printAverage(int a, int b, int c)` welche den Durchschnitt (mit 2 Nachkommastellen) der Parameter auf die Konsole ausgibt.
* **Zusatz** Implementiere die Methode `public int digitSum(int input)` welche die Quersumme (Summe der einzelnen Ziffern) von `input` berechnet.