BMI

Status
Nicht offen für weitere Antworten.

Chili

Aktives Mitglied
Hi!

Ich habe folgendes Problemchen:

In einem Programm was Idealgewicht und einige solche Späßchen berechnet (für die Schule) gibt man seine Größe in cm ein und das funktioniert prima und soll auch so bleiben. Jetzt will ich aber eine BMI funktion hinzufügen und dafür muss die Größe konvertiert werden von beispielsweise 185cm zu 1.85m um die Formel nutzen zu können.
Gibt es dafür einen Befehl?
 
B

Beni

Gast
Na klar, der "rechneCmInMUmWeilsZuKompliziertFürMichIst" Befehl :bae:

Allerdings könnte man auch einfach mit 100.0 teilen (und den Wert in einem float oder einem double speichern!).

Der Divisionsoperator lautet "/".

Code:
int cm = 185;
double m = cm / 100.0;
 

Sky

Top Contributor
Du könntest auch direkt die Eingabe in cm verlagen (also den Punkt als Eingabezeichen verbieten und nur Zahlen zulassen)
 

SebiB90

Top Contributor
Sky hat gesagt.:
Du könntest auch direkt die Eingabe in cm verlagen (also den Punkt als Eingabezeichen verbieten und nur Zahlen zulassen)
äh :lol:
der will doch cm IN m und nicht umgekehrt, es wird cm angegeben aber er brauch meter
 

lin

Top Contributor
naja, er kann ja auch den Input in m verlangen, also einfach 1 Ziffer, dann erzwungenermassen ein Punkt und dann noch zwei weitere :)

edit: oder in dezimeter :wink:
 

SebiB90

Top Contributor
lin hat gesagt.:
naja, er kann ja auch den Input in m verlangen, also einfach 1 Ziffer, dann erzwungenermassen ein Punkt und dann noch zwei weitere :)

edit: oder in dezimeter :wink:
ja ne noch schlimmer
außerdem mit kommazahlen: einige geben . ein, andere wiederum , ;)
dann lieber cm^^
 

Chili

Aktives Mitglied
Oh man manchmal hilft Nachdenken ja auch schon...durch 100 teilen - ich Idiot. Naja danke für die Hilfe.
 

Chili

Aktives Mitglied
So jetzt mal was anderes zu dieser Aufgabe (BMI):

Ich habe verschiedene "Methoden", wie z.B. alter, gewicht oder groesse in die man wenn man sie aufruft einen Wert eingeben muss, der dann gespeichert wird und wenn man dann bmi aufruft wird mit allen gerechnet. Dafür brauche ich jetzt auch noch das Geschlecht. Jetzt würde ich es gerne hinkriegen, dass man die zwei Auswahlmöglichkeiten maennlich und weiblich hat im Fenster was bei den ganzen Eingaben immer ausgeht. Wisst ihr was ich meine? Aber ich bekomme es da nicht mal hin, dass wenn man als string maennlich oder weiblich hinschreibt er das versteht...
 

Sky

Top Contributor
SebiB90 hat gesagt.:
Sky hat gesagt.:
Du könntest auch direkt die Eingabe in cm verlagen (also den Punkt als Eingabezeichen verbieten und nur Zahlen zulassen)
äh :lol:
der will doch cm IN m und nicht umgekehrt, es wird cm angegeben aber er brauch meter
ja, wer lesen kann, ist klar im Vorteil... dann halt das von mir oben nur andersrum ;-)
 

lin

Top Contributor
hm.. seh das Problem nicht ganz...

Aber statt hinschreiben empfehl ich dir JRadioButtons zu verwenden (wenn ich deine Frage richtig verstanden hab)...

Code:
import javax.swing.*;

public class SelectSex extends JFrame {

	public SelectSex() {
		ButtonGroup sexGrp = new ButtonGroup();
		
		JRadioButton female = new JRadioButton("female");
		JRadioButton male = new JRadioButton("male");
		
		sexGrp.add(female);
		sexGrp.add(male);
		
		add("North", female);
		add("South", male);
		
		pack();
	}

	public static void main(String[] args) {
		new SelectSex().setVisible(true);
	}
}
 

Chili

Aktives Mitglied
Nein habe ich nicht. Aber ich dachte mir es ist besser als einen neuen aufzumachen und das Forum zuzumüllen. Hat mir Andre auch früher schon mal empfohlen...hab ja den Thread sogar umbenannt.

Naja zu eurem Lösungansatz: Der Lehrer will eigentlich, dass wir diesmal ohne GUI auskommen...

Gibt es da keinen Befehl für eine Auswahl? Naja kann auch sein, dass ich mich nicht verständlich machen konnte ich poste nach der Schule mal den Code...
 

Deception

Mitglied
Naja wir haben das im Unterricht immer gemacht, indem wir Text haben ausgeben lassen in der Art:
"Wenn sie weiblich sind geben sie w ein und wenn sie männlich sind m" das dann als char gelesen und hinterher die eingabe verglichen mit m oder w, wenns keins von beidem war einfach nochmal fragen lassen, bis es den user nervt :D (while bietet sich da an ;)). Chars kann man mit == vergleichen, solltest du jedoch strings nehmen musst du die Methode equals() der Klasse String benutzen. Mit dem wissen sollte es dann klappen ;)
 

Chili

Aktives Mitglied
Ja so in der Art hatte ich das auch drin aber das Problem hat sich seltsamerweise gelöst in dem ich eine neue Variable eingebaut habe, sodass aus

public void geschlecht(String geschlecht)
{
}

public void geschlecht(String messwert)
{
geschlecht = messwert;
}

wurde. Ich sehe da zwar keinen Unterschied aber bitte...
 

lin

Top Contributor
Illuvatar hat gesagt.:
lin, bist du dir ganz ganz sicher, dass du das im richtigen Fred gepostet hast? ;)
hmmmmmm? Hmmmmm... :wink:
Hättest mir ja sagen können, daß er kein Gui will :bae:

btw. seit wann ist das Geschlecht ein Meßwert... das verwirrt...
 

Chili

Aktives Mitglied
Ja ist kein messwert stimmt schon...nur ich brauchte ne Instanzvariable, denn das ganze klappt komischerweise nur mit der Übergabe... Und messwert hatte ich beim Wiegen und Messen auch genommen von daher...
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben