CodeGym
Aktion
CodeGym University
Lernen
Kurs
Aufgaben
Umfragen & Quizze
Spiele
Hilfe
Zeitplan für einen Tritt in den Hintern
Community
Benutzer
Forum
Chat
Artikel
Erfolgsstorys
Aktivität
Rezensionen
Abonnements
Helles Design
Jetzt lernen
  • Alle Fragen
m2duction
Level 16
  • 03.10.2021
  • 189Aufrufe
  • 2Kommentare

was mache ich falsch?

Frage zur Aufgabe Funktionen verbessern
Java Syntax,  Level 5,  Lektion 12
In der Diskussion

Aktuelle Implementierung: Das Programm liest zwei Zahlen von der Tastatur ein und zeigt die kleinere Zahl an.
Neue Aufgabe: Das Programm liest fünf Zahlen von der Tastatur ein und zeigt die kleinste Zahl an.

Anforderungen:
  • Das Programm muss die Zahlen von der Tastatur einlesen.
  • Die Klasse muss die Methode public static void main besitzen.
  • Die Klasse muss die Methode public staic min besitzen, die 5 int-Parameter entgegennimmt.
  • Die min-Methode muss die kleinste der 5 übergebenen Zahlen zurückgeben. Wenn es mehrere kleinste Zahlen gibt, gib eine davon zurück.
  • Das Programm muss eine Zeichenkette anzeigen, die mit "Kleinste Zahl = " beginnt.
  • Das Programm muss eine Zeichenkette anzeigen, die mit der kleinsten der 5 eingegebenen Zahlen endet.
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; } } }
0
Kommentare (2)
  • Beliebt
  • Neu
  • Alt
Du musst angemeldet sein, um einen Kommentar schreiben zu können
Lisa
Level 41
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.
int retVal = 0;
if (...) {
    retVal = a;
} else if (...) {
    retVal = b;
}
return retVal;
+1
m2duction
Level 16 , Germany
3 Oktober 2021, 23:23
Dankesehrr!! 🙂
0
Lernen
  • Registrierung
  • Java-Kurs
  • Hilfe zu Aufgaben
  • Preise
  • Spieleprojekte
  • Java Syntax
Community
  • Benutzer
  • Artikel
  • Forum
  • Chat
  • Erfolgsstorys
  • Aktivität
  • Affiliate Program
Unternehmen
  • Über uns
  • Kontakt
  • Rezensionen
  • Medien
  • CodeGym im Bildungsbereich
  • FAQ
  • Support
CodeGym CodeGym ist ein Java-Tutorial zum Lernen von Java von Grund auf. Dieser Kurs ist perfekt dafür geeignet, Java von Beginn an zu meistern. Er enthält über 1200 Aufgaben mit Sofortüberprüfung und grundlegende Theorie zu den Java-Grundlagen. Damit auch du bei deinem Kurs erfolgreich bist, haben wir eine ganze Reihe motivierender Inhalte: Quizfragen, Programmierprojekte, Inhalte zu effizientem Lernen und zum Berufseinstieg als Java-Entwickler.
Folgen
Sprache der Oberfläche
Programmierer werden gemacht, nicht geboren © 2023 CodeGym
MastercardVisa
Programmierer werden gemacht, nicht geboren © 2023 CodeGym
This website uses cookies to provide you with personalized service. By using this website, you agree to our use of cookies. If you require more details, please read our Terms and Policy.