Det är så att vi i skolan har börjat med JAVA. Och vi ska göra ett program som räknar ut BMI. Detta har jag klarat av. Nu till mitt problem. Jag ska ha if satser som visar om man har ett visst bmi så är man överviktig eller liknande.
exempel:
< 18.5 Underviktig
< 24.9 Normal
< 29.9 Överviktig
> 30.0 Gravt överviktig
Någon som kan hjälpa mig med detta?
Ps. Fick det att fungera med int tal = 23; men jag vill ju att 23 ska bytas ut mot det tal som blir av mattefunktionen som jag skriver in i kommandotolken (java BMI 68 171)
Mc FettoMedlem sedan nov. 20022 355 inlägg du tar emot värdena i main-metoden..
förstår inte riktigt frågan, du kan väl visa lite mer kod!
Här är då själva bmi uträkningen.
class BMI{
public static void main(String[] args){
// Start
String weightString = args[0];
String lengthString = args[1];
double weight = (new Double(weightString)).doubleValue();
double length = (((new Double (lengthString)).doubleValue())/100);
double BMI = (weight / (length*length));
String outPut = (new Float(BMI)).toString().substring(0, 4);
System.out.println("\n Show your BMI (Body Mass Index)\n Your BMI is: " + outPut + grade);
// End
}
}
Problemet är att vi ska vissa att om man t.e.x får 23.5 så ska det skrivas ut "You have normalweight" och om det är t.ex 30 så ska det vara "You are extreamly overweight!"
Min ifsatstest:
class Iftest{
public static void main(String[] args){
// Start
int tal = 43;
String visaResultat;
if (tal >= 90) {
visaResultat = "MVG";
} else if (tal >= 75) {
visaResultat = "VG";
} else if (tal >= 50) {
visaResultat = "G";
} else {
visaResultat = "IG";
}
System.out.println("\n Du fick " + visaResultat + ".");
// End
}
}
Jag lyckas inte lägga ihop dom två. Och "tal" skall hämtas från bmivärdet man får i så fall...
Mc FettoMedlem sedan nov. 20022 355 inlägg Det är nog värt att använda dig av en main metod, vill du sedan ha klasser BMI etc skapar du dessa utan main, och instansierar dem från din main-metod. Annars kan du från din main skapa metoder en för bmi som returnerar värdet, och som du sedan tar emot och kollar med dina if-satser. Du måste även i dina if-satser kolla intervallet och inte endast om värdet är över t ex 30 utan att det är tex mellan 24.9 och 29.9.
Skulle du kunna ta detdär på newbiespråk? :D
aasahMedlem sedan mars 20034 471 inlägg
unknown-hero skrev:
Skulle du kunna ta detdär på newbiespråk? :D
Ett exempel:
public class Dummy {
public static int max(int a, int b) {
if (a > b) return a;
else return b;
}
public static void main(String[] args) {
System.out.println(max(1, 3)+"");
int c = max(6, 90);
System.out.println(c+"");
}
}
Skriver ut:
3
90
Dvs du får skriva en funktion av ditt BMI-värde som du anropar från main på samma sätt som jag anropat min max-metod från min main. :)
(3+"" innebär att vi konkatinerar (slår ihop) 3:an med tomma strängen ==> resultatet "3". "3" är en sträng så det kan System.out.println skriva ut medan 3 är ett heltal, så det går inte utan strängkonkatinering.)