Programmieren_1/assertions.md

37 lines
1.0 KiB
Markdown

<!--
title: Assertions
description: Folien für Assertions in Programmieren 1
url: https://git.henriburau.de/tutorien/programmieren-1
header: Programmieren 1 **Tutorium**
footer: Henri Burau und Eva Meinen
-->
# 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.isEmpty() : "Der String darf nicht null oder leer sein";
```