37 lines
1.0 KiB
Markdown
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";
|
|
```
|
|
|