package de.codegym.task.task05.task0531;
import java.io.BufferedReader;
import java.io.InputStreamReader;
/*
Funktionen verbessern
*/
public class Solution {
public static void main(String[] args) throws Exception {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
int aZahl = Integer.parseInt(reader.readLine());
int bZahl = Integer.parseInt(reader.readLine());
int cZahl = Integer.parseInt(reader.readLine());
int dZahl = Integer.parseInt(reader.readLine());
int eZahl = Integer.parseInt(reader.readLine());
int minimum = min(aZahl, bZahl, cZahl, dZahl, eZahl);
System.out.println("Kleinste Zahl = " + minimum);
}
public static int min(int a, int b, int c, int d, int e)
{
if(a < b && a < c && a < d && a < e)
return a;
else if(b < a && b < c && b < d && b < e)
return b;
else if(c < a && c < b && c < d && c < e)
return c;
else if(d < a && d < c && d < b && d < e)
return d;
else if(e < a && e < c && e < d && e < b)
{
return e;
}
}
}
m2duction
Level 16
was mache ich falsch?
In der Diskussion
Kommentare (2)
- Beliebt
- Neu
- Alt
Du musst angemeldet sein, um einen Kommentar schreiben zu können
Lisa
3 Oktober 2021, 18:46nützlich
Für den Compiler gibt es einen möglichen Codepath, der keinen Rückgabewert hat. Deswegen gibt es den Fehler.
Der Grund dafür ist, daß bei der Bewertung vom Compiler die if - else if condition nicht ausgewertet wird, sondern nur betrachtet, ob sie da ist. Gibt es nur ein if, dann gibt es außer dem if noch einen möglichen weiteren Codepath (du kannst ja noch ein else if dranhängen). Der müßte auch einen Rückgabewert haben, hat er aber nicht, weil du das nicht geschrieben hast. Bei if - else if gibt es auch noch mindestens einen weiteren Codepath (wie eben, noch ein else if). Abschließen kannst du das nur mit else. Oder du definierst eine Rückgabevariable und weist dieser den Wert zu, den du zurückgeben willst.
+1
m2duction
3 Oktober 2021, 23:23
Dankesehrr!! 🙂
0