Hallo,
Ik moet voor school een java applet maken, dus heb ik gekozen voor een opdracht waarbij je je Q-Index moet uitrekenen, dit is je verhouding tussen je lengte, gewicht en geslacht. Het werkt nog niet helemaal, maar met de berekening die ik heb geprogrammeerd kom ik steeds op een verkeerd getal uit. Als je bij lengte 1 invult, en bij gewicht ook is je Q-Index 1, dus dat klopt. Maar als je bijvoorbeeld lengte 180 en dan bij gewicht 65 kg invult, zou je een getal rond de 20-30 moeten uitkrijgen, maar ik kom op een getal uit onder de 1...
De berekening die uitgevoerd moet worden is:
(lengte/100) =lengte1
gewicht/ lengte1 * lengte1 = Q-Index
Wie weet wat ik fout doe?
PS ik ben een beginner met java dus er zullen ongetwijfeld meerdere fouten in zitten...
Alvast bedankt,
Orthanic
Ik moet voor school een java applet maken, dus heb ik gekozen voor een opdracht waarbij je je Q-Index moet uitrekenen, dit is je verhouding tussen je lengte, gewicht en geslacht. Het werkt nog niet helemaal, maar met de berekening die ik heb geprogrammeerd kom ik steeds op een verkeerd getal uit. Als je bij lengte 1 invult, en bij gewicht ook is je Q-Index 1, dus dat klopt. Maar als je bijvoorbeeld lengte 180 en dan bij gewicht 65 kg invult, zou je een getal rond de 20-30 moeten uitkrijgen, maar ik kom op een getal uit onder de 1...
De berekening die uitgevoerd moet worden is:
(lengte/100) =lengte1
gewicht/ lengte1 * lengte1 = Q-Index
Wie weet wat ik fout doe?
PS ik ben een beginner met java dus er zullen ongetwijfeld meerdere fouten in zitten...
Code:
import java.applet.*;
import java.awt.*;
public class AlsDanAnders extends Applet {
Font lettertype;
Font lettertype1;
Label uitvoerTekst;
Label uitvoerTekst1;
Label uitvoerTekst2;
Label uitvoerTekst3;
Label uitvoerTekst4;
TextField invoer;
TextField invoer1;
TextField invoer2;
Button knop;
public void paint(Graphics pen) {
knop.setLocation(150,225);
invoer.setLocation(400, 125);
invoer.setSize(50,20);
invoer1.setLocation(400, 150);
invoer1.setSize(50,20);
invoer2.setLocation(400,175);
invoer2.setSize(50,20);
uitvoerTekst.setLocation(50, 125);
uitvoerTekst1.setLocation(50,150);
uitvoerTekst2.setLocation(50,175);
uitvoerTekst3.setLocation(50,275);
uitvoerTekst4.setLocation(50,325);
uitvoerTekst4.setSize(147,20);
pen.setFont(lettertype1);
pen.drawLine(570,140,600,140);
pen.drawString("De Belgische Adolphe Quételet heeft een techniek ontwikkeld waarmee je zeer snel", 553, 150);
pen.drawString(" te weten komt of jou 'Q-Index', de verhouding van gewicht, lengte en geslacht,", 550, 165);
pen.drawString(" naar de algemene maatstaven is. Vul hiernaast de vakjes en en kom te weten of jou", 550, 180);
pen.drawString(" Q-Index in orde is!", 550, 195);
pen.setFont(lettertype);
pen.drawString("Quételet", 100, 50);
}
public void init() {
this.setBackground(Color.blue);
uitvoerTekst = new Label("Geef uw lengte in cm:");
add(uitvoerTekst);
uitvoerTekst1 = new Label("Geef uw gewicht in kg:");
add(uitvoerTekst1);
uitvoerTekst2 = new Label("Geef uw geslacht aan, man of vrouw(m of v invullen)");
add(uitvoerTekst2);
uitvoerTekst3 = new Label("Is uw Q-index goed?");
add(uitvoerTekst3);
uitvoerTekst4 = new Label("Uw Q-Index...");
add(uitvoerTekst4);
invoer = new TextField(); //lengte
add(invoer);
invoer1 = new TextField(); //gewicht
add(invoer1);
invoer2 = new TextField(); //geslacht
add(invoer2);
knop = new Button("Bevestig");
add(knop);
lettertype1 = new Font("TimesRoman", Font.BOLD, 15);
lettertype = new Font("TimesRoman", Font.BOLD, 60);
}
public boolean action(Event gebeuren, Object obj) {
String in;
int invoer, antwoord;
double quetelet1;
invoer = 30;
if (gebeuren.target == knop) {
/*in = invoer2.getText();
antwoord = Integer.parseInt(in);
if (invoer > 30)
uitvoerTekst4.setText("Uw Q-Index is 30");
else
if (invoer > 27 && antwoord <= 30)
uitvoerTekst4.setText("Uw Q-Index ligt tussen de 27 en de 30");
else
if (invoer > 25 && antwoord <= 27)
uitvoerTekst4.setText("Uw Q-Index ligt tussen de 25 en de 27");
else
if (invoer < 20)
uitvoerTekst4.setText("Uw Q-Index is kleiner dan 20);
else
uitvoerTekst4.setText("Uw Q-Index ligt tussen de 20 en de 25);
return true;*/
invoer = Integer.parseInt(invoer.getText());
if (invoer2.getText() == "v") { //VROUW
invoer -= 6;
}
quetelet1 = invoer / Math.pow(Double.valueOf(invoer1.getText()).doubleValue(), 2);
uitvoerTekst3.setText("Uw Q-Index is "+ quetelet1);
return true;
}
return false;
}
}
Alvast bedankt,
Orthanic
Laatst bewerkt: