Springen naar inhoud

Programeren met java


  • Log in om te kunnen reageren

#1

marjan

    marjan


  • >25 berichten
  • 34 berichten
  • Gebruiker

Geplaatst op 01 mei 2010 - 20:42

Hoi
ik heb een code geschreven voor het berekenen van BMI
maar er moeten 2 contructors inzitten een parameterloze en een waarin de lengte en massa wordt gegeven
en er moet een methode inzitten waar de ingestelde lengte en massa kan worden opgevaagd
hier is mijn code ik weet wat ik fout maar ik krijg geen bmi op mijn scherm

publicclass BodyMassIndex {

privateintlengte ;

privatedoublemassa;

privatedoubleBMI;


public BodyMassIndex(int lengte,double setMassa,double BMI){


}


public BodyMassIndex(){

}


publicint getLengte() {

returnthis.lengte;

}


publicvoid setLengte(int lengte) {

if (lengte>0) {

this.lengte = lengte;

} else {

this.lengte=0;

}

this.berekenBMI();

}




publicdouble getMassa() {

returnthis.massa;

}


publicvoid setMassa(double massa) {

if( this.massa>0){

this.massa = massa;

}else{

this.massa=0;

}

this.berekenBMI();


}

publicdouble getBMI() {

returnthis.BMI ;

}


publicvoid setBMI(double BMI) {


if( this.BMI>0){

this.BMI = BMI;

}else{

this.BMI=0;

}

}

privatevoid berekenBMI(){

if (BMI>0){

// BMI = massa/(lengte*lengte);

BMI=84.5/(157*157);

} else{

this.BMI=0;

}

}

public class BerekenBMI {


/**

* @param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub

BodyMassIndex eenBMI;

eenBMI = new BodyMassIndex();



System.out.println(" de waarde van bmi is" + eenBMI.getBMI());

}


}

groetjes


Dit forum kan gratis blijven vanwege banners als deze. Door te registeren zal de onderstaande banner overigens verdwijnen.

#2

ZVdP

    ZVdP


  • >1k berichten
  • 2097 berichten
  • VIP

Geplaatst op 01 mei 2010 - 20:50

Zoals het er nu staat is eenBMI.BMI gelijk aan 0, deze werd nergens ingesteld.

(Moet er trouwens in berekenBMI() niet massa/(lengte*lengte) staan, ipv de vaste waarden nu?)
"Why must you speak when you have nothing to say?" -Hornblower
Conserve energy: Commute with a Hamiltonian

#3

EvilBro

    EvilBro


  • >5k berichten
  • 6779 berichten
  • VIP

Geplaatst op 01 mei 2010 - 20:56

... maar ik krijg geen bmi op mijn scherm

Je code compileert niet. Echter, een '}' zetten en het werkt wel. Als ik dan run zie ik 0.0 als BMI. Dat is precies wat ik verwacht gezien de input.

gebruik voor het posten van code-tags (in de rij met bold/italic en underline de meest rechtse).

#4

marjan

    marjan


  • >25 berichten
  • 34 berichten
  • Gebruiker

Geplaatst op 02 mei 2010 - 11:08

hoi

ik weet niet meer hoe ik het moet oplossen dit is mijn code


publicclass BodyMassIndex {

privateintlengte ;

privatedoublemassa;

privatedoubleBMI;

privatedoubleberekenBMI;


public BodyMassIndex(int lengte,double setMassa,double BMI){

this.setLengte(157);

this.setMassa(84.5);

}


public BodyMassIndex(){

}


publicint getLengte() {

returnthis.lengte;

}


publicvoid setLengte(int lengte) {

if (lengte>0) {

this.lengte = lengte;

} else {

this.lengte=0;

}

this.setberekenBMI();

}




publicdouble getMassa() {

returnthis.massa;

}


publicvoid setMassa(double massa) {

if( this.massa>0){

this.massa = massa;

}else{

this.massa=0;

}

this.setberekenBMI();


}


publicdouble getBMI() {

returnthis.BMI ;

}


publicvoid setBMI(double BMI) {


if( this.BMI>0){

this.BMI = BMI;

}else{

this.BMI=0;

}

}


publicvoid setBerekenBMI(double berekenBMI) {

this.berekenBMI = berekenBMI;

}

privatevoid setberekenBMI() {

this.berekenBMI=massa/(lengte*lengte);

}

publicdouble getBerkenBMI() {

returnberekenBMI;

}

}


public class BerekenBMI {


/**

* @param args

*/

public static void main(String[] args) {

// TODO Auto-generated method stub



BodyMassIndex eenBMI;

eenBMI = new BodyMassIndex();



System.out.println(" de waarde van bmi is" + eenBMI.getBMI());

}


}
kan iemand mij helpen aub
groetjes


#5

ZVdP

    ZVdP


  • >1k berichten
  • 2097 berichten
  • VIP

Geplaatst op 02 mei 2010 - 11:37

Waarom heb je de variabele 'berekenBMI' ingevoerd?
Waarom staat er 'double BMI' in de constructor?
Waarom staan er vaste waarden in de constructor zoals 'setLengte(157)'?
Waarom staat er in de set methodes voor 'massa' en 'BMI' steeds 'if (this.xxx>0)' en niet 'if (xxx>0)'?
Waarom is er eigenlijk een 'setBMI' methode?
"Why must you speak when you have nothing to say?" -Hornblower
Conserve energy: Commute with a Hamiltonian

#6

EvilBro

    EvilBro


  • >5k berichten
  • 6779 berichten
  • VIP

Geplaatst op 02 mei 2010 - 11:52

Je code compileert nog steeds niet en je hebt wederom geen code-tags ([code][/code]) gebruikt. Ik geef bij deze aan dat als dit de volgende keer weer zo is, ik geen moeite meer ga stoppen in het antwoorden van je vragen.

Als het probleem is dat je je code niet zo krijgt dat hij compileert, post dan de error-message die je krijgt en stel die specifieke vraag.

Als het probleem is dat je 0.0 als BMI krijgt, kijk dan eens goed naar wat je code doet. Je maakt een object aan via de 'BodyMassIndex()'-constructor. Waarom verwacht je dat er iets anders uitkomt dan 0.0? Je zou ook met een debugger stap voor stap door je programma kunnen lopen.

Als voorbeeld van hoe het er met code-tags uitziet, hier een stukje code dat ik zou maken:
public class BodyMassIndex {
	private double lengte; // lengte in meters.
	private double massa; // massa in kilogrammen.

	public BodyMassIndex(double lengte, double massa){
		this.lengte = lengte;
		this.massa = massa;
	}

	public double getLengte() {
		return this.lengte;
	}


	public void setLengte(double lengte) {
		if (lengte > 0) {
			this.lengte = lengte;
		} else {
			this.lengte = 0;
		}
	}

	public double getMassa() {
		return this.massa;
	}


	public void setMassa(double massa) {
		if (this.massa > 0) {
			this.massa = massa;
		} else {
			this.massa = 0;
		}
	}


	public double getBMI() {
		return (...); // vervang de puntjes door de formule waarmee je de BMI berekent.
	}

	public static void main(String[] args) {
		BodyMassIndex eenBMI;

		eenBMI = new BodyMassIndex(,); // maak deze regel kloppend met de constructor. 
		System.out.println(" de waarde van bmi is " + eenBMI.getBMI());
	}
}

#7

marjan

    marjan


  • >25 berichten
  • 34 berichten
  • Gebruiker

Geplaatst op 03 mei 2010 - 19:23

bedankt ik het uiteindelijk gevonden ik heb neg een opdracht waar volgens volledig de mist in ga ik op school vroeger te wening wiskunde gehad
kan iemand mij ui de noot helpen?

de opdracht is deze:
Ontwerp een klasse Punt met:

Twee attributen x en y (doubles).

Vier constructors:

1 Een die het punt initialiseert op de oorsprong (0,0).

2 Een die het punt initialiseert op mee te geven parameters xen y (int).

3 E_en die het punt initialiseert op mee te geven parameters xen y (double).

4 E_en die het punt initialiseert op basis van een ander Punt.

Voeg getters en setters toe voor x en y.

Voeg tenslotte een methode move toe waarmee je x en y

over een bepaalde afstand kan verschuiven (twee

parameters: deltaX en deltaY).

Zorg dat alles getest wordt.



Voeg aan de klasse Punt volgende toe:

Een methode distance die de afstand tussen twee punten

te berekent (het tweede punt mee te geven als parameter).

Een methode distanceToOrigin die de afstand tot het

nulpunt berekent (maakt gebruik van de methode

distance).

Zorg dat alles getest wordt.

Dit is mijn code die ik tot nu toe heb ik weet niet of er iets van juist is?


package punt;


publicclass Punt<DeltaY> {


privatedoubleX;

privatedoubleY;


public <oorsprong> Punt(){

this.X=0.0;

this.Y =0.0;

}

public Punt(int X,int Y){

}

public Punt(double X,double Y){

}

public Punt(double Z){

}

publicdouble getX() {

returnX;

}

publicvoid setX(double x) {

if(X>0){

this.X = x;

}else {

this.X=0;

}

}

publicdouble getY() {

returnY;

}

publicvoid setY(double y) {

if(X>0){

this.Y = y;

}else {

this.Y=0;

}

}

privatevoid move(DeltaY DeltaX){

}


}
help aub
groetjes


#8

ZVdP

    ZVdP


  • >1k berichten
  • 2097 berichten
  • VIP

Geplaatst op 03 mei 2010 - 19:30

Gebruik, zoals EvilBro al vermelde, code-tags, dat leest veel vlotter.

En wat is precies het probleem in deze opdracht?

Veranderd door ZVdP, 03 mei 2010 - 19:30

"Why must you speak when you have nothing to say?" -Hornblower
Conserve energy: Commute with a Hamiltonian

#9

marjan

    marjan


  • >25 berichten
  • 34 berichten
  • Gebruiker

Geplaatst op 04 mei 2010 - 15:16

hoi
ik weet echt niet hoe ik deze twee codes moet schijven

Voeg tenslotte een methode move toe waarmee je x en y

over een bepaalde afstand kan verschuiven (twee


parameters: deltaX en deltaY).

Zorg dat alles getest wordt


Voeg aan de klasse Punt volgende toe:

Een methode distance die de afstand tussen twee punten

te berekent (het tweede punt mee te geven als parameter).

Een methode distanceToOrigin die de afstand tot het

nulpunt berekent (maakt gebruik van de methode

distance).

Zorg dat alles getest wordt.
ik weet ook of mijn vier constuctors in mijn code wel kloppen
bedankt groetjes

#10

ZVdP

    ZVdP


  • >1k berichten
  • 2097 berichten
  • VIP

Geplaatst op 04 mei 2010 - 17:24

3 van de 4 constructors doen nog niets.
En de 4e zou een Punt moeten nemen als parameter, geen double.

Voor de andere vragen:
Stel je hebt een punt (x,y), het verschoven punt is nu (x+deltaX,y+deltaY)
De afstand van een punt (x1,y1) tot een ander punt (x2,y2)is:
LaTeX
"Why must you speak when you have nothing to say?" -Hornblower
Conserve energy: Commute with a Hamiltonian

#11

marjan

    marjan


  • >25 berichten
  • 34 berichten
  • Gebruiker

Geplaatst op 05 mei 2010 - 15:26

hoi hoe schrijf ik die formule dan in een java code
want daar sukkel ik mee sorry hoor mischien een domme vraag
groetjes

#12

ZVdP

    ZVdP


  • >1k berichten
  • 2097 berichten
  • VIP

Geplaatst op 05 mei 2010 - 17:27

alle wiskundige dingen vindt je onder Math, dus Math.sqrt(...). En kwadraten zijn het eenvoudigste uit te schrijven, dus x als x*x.
"Why must you speak when you have nothing to say?" -Hornblower
Conserve energy: Commute with a Hamiltonian





0 gebruiker(s) lezen dit onderwerp

0 leden, 0 bezoekers, 0 anonieme gebruikers

Ook adverteren op onze website? Lees hier meer!

Gesponsorde vacatures

Vacatures