Wat doe ik fout?

Status
Niet open voor verdere reacties.

Orthanic

Nieuwe gebruiker
Lid geworden
2 okt 2007
Berichten
2
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...

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:
De code die je hier hebt staan compileert niet goed. Ook zit er nog een groot stuk commentaar in de action(...) methode. Probeer hem eerst goed gecompileerd te krijgen en zet dan alleen de nuttige stukken code hier, dan zal ik er nog een keer naar kijken.
 
Ik heb het antwoord al gevonden, het was wel een hele domme fout...
Ik deelde de lengte door het gewicht*gewicht ipv het gewicht/ lengte*lengte
Toch bedankt!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan