studyklar
GdI 2 · Übungsblatt 1 · Aufgabe 2

Minimum dreier Zahlen mit Math.min, ohne if

Von drei eingegebenen Zahlen soll die kleinste ausgegeben werden, ohne if. Das Werkzeug dafür ist Math.min, das immer nur zwei Zahlen vergleicht. Rechts steht das fertige Programm, die Zeilen zum aktuellen Schritt sind hervorgehoben. Mit Weiter geht es Schritt für Schritt voran.

Die Aufgabe

Aufgabe 2

Schreiben Sie ein Programm zur Ermittlung des Minimums dreier ganzer Zahlen. Die drei Zahlen werden über die Konsole eingegeben. Anschließend gibt das Programm das Minimum aus. Ihr Programm soll keine „if“-Abfragen enthalten. Nutzen Sie die mathematische Funktion „Math.min( )“, die das Minimum zweier Zahlen ermittelt.

Das Minimum ist die kleinste von mehreren Zahlen. Bei 7, −3 und 12 ist es −3. Verboten ist if, also eine Verzweigung („wenn …, dann …“). Erlaubt ist die fertige Methode Math.min.

Merke: Das Minimum von drei Zahlen ist das Minimum aus dem Minimum der ersten beiden und der dritten Zahl.
  1. Drei ganze Zahlen einlesen.
  2. Die ersten beiden vergleichen.
  3. Das kleinere der beiden (Zwischenergebnis) mit der dritten vergleichen.
  4. Ausgeben.

Drei ganze Zahlen einlesen

        System.out.print("Zahl 1: ");        int zahl1 = scanner.nextInt();        System.out.print("Zahl 2: ");        int zahl2 = scanner.nextInt();        System.out.print("Zahl 3: ");        int zahl3 = scanner.nextInt();

Gefragt sind ganze Zahlen, also der Typ int und zum Einlesen scanner.nextInt(). Für jede Zahl gibt es eine Frage und eine Variable.

Aus Aufgabe 1 („Lohnrechner“): Scanner scanner = new Scanner(System.in); legt den Scanner an, dazu oben import java.util.Scanner;. System.out.print schreibt die Frage und bleibt in derselben Zeile, so tippt man die Antwort direkt dahinter. scanner.nextInt() wartet, bis man eine ganze Zahl eintippt und Enter drückt.

Die ersten beiden Zahlen vergleichen

        int minimum12 = Math.min(zahl1, zahl2);
AufrufErgebnis
Math.min(7, -3)-3

Math ist eine fertige Klasse mit Rechenmethoden. Sie gehört zum Grundbestand von Java und braucht keinen Import. Math.min(a, b) gibt die kleinere von zwei Zahlen zurück: Der Aufruf steht danach für diese Zahl, und man kann sie in einer Variablen speichern. Für drei Zahlen gibt es keine fertige Version. Darum vergleichen wir zuerst nur zahl1 und zahl2 und merken uns das Ergebnis in minimum12.

Mit den Beispielzahlen 7, −3 und 12:

Noch 3 Schritte bis zum Ergebnis
Den ganzen Lösungsweg sehen Studierende und Lehrende der HS KL. Registriere dich mit deiner Adresse @stud.hs-kl.de oder @hs-kl.de, dann geht es hier direkt weiter.

Das Programm Minimum

ohne if, mit Math.min

Abbildung 1Das Programm Minimum

ohne if, mit Math.min

import java.util.Scanner; public class Minimum {     public static void main(String[] args) {        Scanner scanner = new Scanner(System.in);         System.out.print("Zahl 1: ");        int zahl1 = scanner.nextInt();        System.out.print("Zahl 2: ");        int zahl2 = scanner.nextInt();        System.out.print("Zahl 3: ");        int zahl3 = scanner.nextInt();         int minimum12 = Math.min(zahl1, zahl2);        int minimum = Math.min(minimum12, zahl3);         System.out.println("Das Minimum ist " + minimum);    }}
LegendeDas ganze Programm.