Einfache Methoden in Java

Status
Nicht offen für weitere Antworten.

Wang

Bekanntes Mitglied
Hallo! ;)
Ich möchte Euch um eine Durchsicht meiner Lösung bitten, damit ich weiß, ob ich auf dem richtigen Pfad bin. Zunächst die Aufgabe:

methoden.jpg


Meine Lösung:

Java:
/**
 *  Umrechnung von Celsius in Fahrenheit
 */
public static double celsius2fahrenheit(double temp)
{
    return (temp * 9 / 5.0) + 32;
}



/**
 *  Bestimmung des BMI (Body-Mass-Index)
 */
public static double bmi(double gewicht, double groesse)
{
    return (gewicht/(Math.pow(groesse,2));
}

Ich bin offen für jede Art von Kritik. :)
Vielen Dank.
 

javimka

Top Contributor
Ich glaube, das hast du alles richtig gemacht. Die Methode heisst zwar celsius2fahrenheit statt fahrenheit, wie in der Aufgabe gefordert, aber du kriegst sicher die richtigen Resultate.
 

Wang

Bekanntes Mitglied
Ich glaube, das hast du alles richtig gemacht. Die Methode heisst zwar celsius2fahrenheit statt fahrenheit, wie in der Aufgabe gefordert, aber du kriegst sicher die richtigen Resultate.

Danke, javimka.
Ich habe die Methode vorsichtshalber in fahrenheit umbenannt - sicher ist sicher. :)
 

Final_Striker

Top Contributor
vielleicht wäre runden noch sinnvoll, ist ja aber nicht gefordert. ansonsten ist die lösung in ordnung, die aufgabe was ja auch nicht sooo extrem schwer. ;-)
 

Wang

Bekanntes Mitglied
Eine Sache habe ich selbst gesehen... es fehlt wohl eine Klammer am Ende:

Code:
return (gewicht/(Math.pow(groesse,2))[B])[/B];
 
G

Gonzo17

Gast
Ich hab mich eigentlich nur gefragt, wieso du statt 5.0 nicht einfach 5 schreibst. Ansonsten siehts gut aus. ;)
 

Marco13

Top Contributor
Da hat jemand neulich schonmal danach gefragt: http://www.java-forum.org/hausaufgaben/92016-typkonvertierung-2.html#post583768

Also eine kleine Ergänzungs- oder Sonderaufgabe zu a) :
Bei
double temp;
Welchen Typ hat dann folgender Ausdruck:
temp * 9 / 5

( :joke: )

EDIT: Aber wo ich schonmal hier bin, ein kleiner (etwas ersnthafterer) Nachtrag: Es ist zwar in 99.9% der Fälle egal, aber statt pow(x,2) ist meistens ein x*x effizienter - und auch nicht weniger lesbar.
 

Wang

Bekanntes Mitglied
Da hat jemand neulich schonmal danach gefragt: http://www.java-forum.org/hausaufgaben/92016-typkonvertierung-2.html#post583768

Also eine kleine Ergänzungs- oder Sonderaufgabe zu a) :
Bei
double temp;
Welchen Typ hat dann folgender Ausdruck:
temp * 9 / 5

( :joke: )

Hmm... wer hat da wohl danach gefragt? :bahnhof:

Der Ausdruck ist dann vom Typ double, also darf ich neben 5.0 auch 5 schreiben. :)

EDIT: Aber wo ich schonmal hier bin, ein kleiner (etwas ersnthafterer) Nachtrag: Es ist zwar in 99.9% der Fälle egal, aber statt pow(x,2) ist meistens ein x*x effizienter - und auch nicht weniger lesbar.

Würde das dann so aussehen?

Code:
return (gewicht/(groesse*groesse));

Nochmal ein dickes Danke an Dich, Marco13 für Deinen starken Einsatz. ;)


EDIT:
Ich denke wohl zu mathematisch...
So müsste es doch auch korrekt sein?

Code:
return (gewicht/groesse*groesse);
 
Zuletzt bearbeitet:

Milo

Bekanntes Mitglied
Hallo,

Geht beides... ersteres ist vielleicht etwas "intuitiver"...
Java:
return (gewicht/groesse*groesse);

und

Java:
return (gewicht/(groesse*groesse));

ist aber schon was anderes. Ersteres müsste wie folgt lauten:

Java:
return (gewicht/groesse/groesse);

Gruß Micha
 

Wang

Bekanntes Mitglied
Ich fürchte, jetzt komme ich nicht ganz mit... :oops:

Für die eigentliche Aufgabe ist das hier dann richtig?

Java:
return (gewicht/(groesse*groesse));

Was genau hat Milo aber gemeint...?
 

Marco13

Top Contributor
return (gewicht/(groesse*groesse));

ist richtig, aber

return (gewicht/groesse*groesse);
würde so viel bedeuten wie
return ((gewicht/groesse)*groesse);
und das wäre was anderes.

Wenn man das richtige
return (gewicht/(groesse*groesse));
OHNE Klammern schreiben wollte, müßte man
return (gewicht/groesse/groesse);
schreiben, aber da wäre IMHO nicht mehr so einfach zu erkennen, was die eigentliche Formel ist...
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben