Programmieren_1/assertions.md

35 lines
985 B
Markdown

---
title: Assertions
description: Folien für Assertions in Java
url: https://git.haw-hamburg.de/pm1-tutorium/slides
---
# Assertions
Zur Überprüfung von Annahmen (Zusicherungen)
Dient der Sicherheit/zur Fehlervermeidung
```java
int wert = 1;
assert wert < 5 : "wert muss kleiner fünf sein";
// ausgelöst, wenn Condition(wert < 5) nicht gilt.
```
Wird eine Assertion ausgelöst, dann wird das Programm beendet.
**Achtung:** `assert` muss enabled werden
---
## Aufgaben
1) Gegeben ist eine Methode `int getTriangleArea(int a, int b, int c)`, die die Fläche eines Dreiecks berechnet. Wie würde man sicherstellen, dass `a` und `b` kleiner sind als die Hypothenuse `c`?
* ```java
assert c > b && c > a : "Die Hypothenuse darf nicht kürzer als die beiden Schenkel sein."
```
2) Wie würde man überprüfen ob ein String `input` leer oder gleich `null` ist?
* ```java
assert input != null && !input.empty() : "Der String darf nicht null oder leer sein";
```