Painoindeksi laskurin if toiminnossa vikaa. Apua kiitos!

noobkoodaaja

import java.applet.*;
import java.awt.*;
import java.awt.event.*;

public class painoindeksi extends Applet implements ActionListener {

TextField tx, ty; // Määritellään oliot ja muuttujat
Label tz, pn, pt, pin;
Button laske;
Double x, y, z;

public void init () { // Appletin alustus
add(tx = new TextField());// Olioiden luonti
add(ty = new TextField());
add(pin = new Label (""));
add(tz = new Label(""));
add(pn = new Label("Paino"));
add(pt = new Label("Pituus"));
add(laske = new Button("Laske"));
double x = 0;
double y = 0;
double z = 0; // Muuttujien alustus
laske.addActionListener(this); // Kuuntelija painikkeelle laske
}

public void paint(Graphics g) { // Piirtoalusta

pn.reshape(20, 5, 150, 20);
pt.reshape(20, 50, 150, 20);
tx.reshape(20, 20, 150, 20); // Olioiden paikka ja koko
ty.reshape(20, 65, 150, 20);
tz.reshape(20, 125, 150, 20);
laske.reshape(20, 95, 40, 30);
pin.reshape(20, 150, 220, 20);

}

public void actionPerformed(ActionEvent e) { // Tapahtumankäsittelijä
if (e.getActionCommand().equals("Laske")){ // Jos painiketta laske painettu:
x=Double.parseDouble(tx.getText()); // Tekstien muunnos ja sijoitus
y=Double.parseDouble(ty.getText()); // muuttujiin x ja y
z=x/(y*y); // Summa
tz.setText(Double.toString(z)); // Summan muunnos ja sijoitus nimiöön tz

if (z < 15) {
pin.setText("Olet sairaalloisen alipainoinen.");
} else {
if (z >= 15 || z < 17) {
pin.setText("Olet merkittävän alipainoinen.");
} else {
if (z >= 17 || z < 20) {
pin.setText("Olet lievästi alipainoinen.");
} else {
if (z >= 20 || z < 25) {
pin.setText("Olet normaalipainoinen.");
} else {
if (z >= 25 || z < 30) {
pin.setText("Olet lievästi ylipainoinen.");
} else {
if (z >= 30 || z < 35) {
pin.setText("Olet merkittävän ylipainoinen.");
} else {
if (z >= 35 || z < 40 ) {
pin.setText("Olet vaikeasti ylipainoinen.");
} else {
if (z >= 40) {
pin.setText("Olet sairaalloisen ylipainoinen.");
} else {
pin.setText("Cannot Compute!");
}
}
}
}
}
}
}
}
}
}
}


Tuossa on siis kyseinen koodi. olen kokeillut tuota iffiä vaikka miten monella tavalla else if, else iffin perään. pelkkiä if lauseita. mutta ongelmana on se, että vaikka miten nuo iffit tuohon laitan, niin ohjelma laukoo ainoastaan kahta eri tekstiä, eli vaikeasti ylipainoinen ja merkittävän alipainoinen.

en ymmärrä miksi ohjelma antaa vaan 2 eri vaihtoehtoa kun se kuitenkin käy kaikki iffit läpi. eli jos joku kertois et mikä ihme siinä on että ohjelma ei suostu näyttämään kuin kahta vaihtoehtoa tuosta iffistä. oon netistä yrittäny ettiä eri tapoja laittaa toi if, mutta joka kerta se kaatuu tohon samaan ongelmaan. Alan olla aika sormi suussa tässä asiassa.

AUTTAKAA JOKU :(

1

205

    Vastaukset

    Anonyymi (Kirjaudu / Rekisteröidy)
    5000
    • noobkoodaaja

      unohtakaa kaikki. sain toimimaan :D

      VALMISTUMINEN HERE I COME!

    Ketjusta on poistettu 0 sääntöjenvastaista viestiä.

    Luetuimmat keskustelut

    1. Veroaste on Suomessa viitisen prosenttiyksikköä liian matala

      Veropohjaa on rapautettu käytännössä koko kulunut vuosituhat, jonka vuoksi valtion menoja on jouduttu rahoittamaan velka
      Maailman menoa
      162
      3281
    2. EU komissio - EU-elpymisrahoja voidaan käyttää TILAPÄISESTI väärin!

      Espanja ohjasi miljardeja euroja – Nyt EU-komissio teki yllättävän paljastuksen Skandaaliksi noussut Espanjan EU-rahoje
      Maailman menoa
      40
      3032
    3. Kultasi eka kirjain? Kuka haluaa

      A haluaa J
      Ikävä
      112
      1565
    4. Empaattisuus ja suoruus.

      Tässä tullut noita pehmeitä asioita pohdittua, mutta toisaalta olen myös yksinkertainen mies. Pidän suoruudestakin. Mi
      Sinkut
      155
      1304
    5. Nainen, mikset lähetä

      miehelle viestiä? Tiedän, että sulla on asiaa ja kysyttävää.
      Ikävä
      77
      1187
    6. Kristillinen kaste annetaa upotuskasteena

      Kristillinen upotuskaste perustuu juutalaiseen mikve-kasteeseen, jossa upottaudutaan veden alle kokonaan. Paavali vertas
      Kaste
      162
      1097
    7. Koko kansan kaste Punaisen meren ylityksen aikana

      Koko Israelin 2,5 milj.kansa sai kasteen ja Pyhän Hengen lahjan ylittäessän Punaisen meren. 1.Kor.10 1 Sillä minä en ta
      Kaste
      366
      1077
    8. Sijaiskasteet kuolleitten puolesta

      Paavali teki Korintossa sijaiskasteita kuolletten puolesta eli ns. Mormoninkasteita. 1. Kor. 15:29 Mitä muutoin ne, j
      Kaste
      373
      989
    9. Ehkä vähän

      Rakastunut sinuun
      Ikävä
      47
      983
    10. Sä saat mut tuntemaan

      Jotain sellaista mitä ei saisi tuntea mutta må en mahda tälle mitään. Mulla on ikävä niitä meidän katseita ja sitä tunne
      Ikävä
      24
      955
    Aihe