---
title: "Problem med ifsatser"
type: "forum-thread"
url: "https://www.webforum.nu/amne/java/111634-problem-med-ifsatser"
topic: "Java"
topic_url: "https://www.webforum.nu/amne/java"
author: "unknown-hero"
published: "2004-09-15T15:23:17.000Z"
updated: "2004-09-16T22:13:57.000Z"
replies: 5
views: 365
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/java/111634-problem-med-ifsatser"
---

# Problem med ifsatser

## #1 — unknown-hero, 2004-09-15T15:23Z

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)

Permalänk: https://www.webforum.nu/p/111634

## #2 — Mc Fetto, 2004-09-15T16:07Z

du tar emot värdena i main-metoden..
förstår inte riktigt frågan, du kan väl visa lite mer kod!

Permalänk: https://www.webforum.nu/p/1440323

## #3 — unknown-hero, 2004-09-15T16:29Z

Här är då själva bmi uträkningen. 

```php
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:

```php
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...

Permalänk: https://www.webforum.nu/p/1440335

## #4 — Mc Fetto, 2004-09-15T17:02Z

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.

Permalänk: https://www.webforum.nu/p/1440372

## #5 — unknown-hero, 2004-09-16T17:42Z

Skulle du kunna ta detdär på newbiespråk? :D

Permalänk: https://www.webforum.nu/p/1440810

## #6 — aasah, 2004-09-16T22:13Z

> **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.)

Permalänk: https://www.webforum.nu/p/1440952

---

Tråden på webben: https://www.webforum.nu/amne/java/111634-problem-med-ifsatser
