marjan
Artikelen: 0
Berichten: 34
Lid geworden op: vr 23 okt 2009, 12:51

Programeren met java

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

public class BodyMassIndex {

private int lengte ;

private double massa;

private double BMI;



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

}

public BodyMassIndex(){

}

public int getLengte() {

return this.lengte;

}

public void setLengte(int lengte) {

if (lengte>0) {

this.lengte = lengte;

}
else {

this.lengte=0;

}

this.berekenBMI();

}

public double getMassa() {

return this.massa;

}

public void setMassa(double massa) {

if( this.massa>0){

this.massa = massa;

}
else{

this.massa=0;

}

this.berekenBMI();

}

public double getBMI() {

return this.BMI ;

}

public void setBMI(double BMI) {

if( this.BMI>0){

this.BMI = BMI;

}
else{

this.BMI=0;

}

}

private void 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

Gebruikersavatar
ZVdP
Artikelen: 0
Berichten: 2.097
Lid geworden op: za 16 jul 2005, 23:45

Re: Programeren met java

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
EvilBro
Artikelen: 0
Berichten: 7.081
Lid geworden op: vr 30 dec 2005, 09:45

Re: Programeren met java

... 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).
marjan
Artikelen: 0
Berichten: 34
Lid geworden op: vr 23 okt 2009, 12:51

Re: Programeren met java

hoi

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



public
class BodyMassIndex {

private int lengte ;

private double massa;

private double BMI;

private double berekenBMI;

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

this.setLengte(157);

this.setMassa(84.5);

}

public BodyMassIndex(){

}

public int getLengte() {

return this.lengte;

}

public void setLengte(int lengte) {

if (lengte>0) {

this.lengte = lengte;

}
else {

this.lengte=0;

}

this.setberekenBMI();

}

public double getMassa() {

return this.massa;

}

public void setMassa(double massa) {

if( this.massa>0){

this.massa = massa;

}
else{

this.massa=0;

}

this.setberekenBMI();

}

public double getBMI() {

return this.BMI ;

}

public void setBMI(double BMI) {

if( this.BMI>0){

this.BMI = BMI;

}
else{

this.BMI=0;

}

}

public void setBerekenBMI(double berekenBMI) {

this.berekenBMI = berekenBMI;

}

private void setberekenBMI() {

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

}

public double getBerkenBMI() {

return berekenBMI;

}

}

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

Gebruikersavatar
ZVdP
Artikelen: 0
Berichten: 2.097
Lid geworden op: za 16 jul 2005, 23:45

Re: Programeren met java

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
EvilBro
Artikelen: 0
Berichten: 7.081
Lid geworden op: vr 30 dec 2005, 09:45

Re: Programeren met java

Je code compileert nog steeds niet en je hebt wederom geen code-tags () 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:

Code: Selecteer alles

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());

}

}
marjan
Artikelen: 0
Berichten: 34
Lid geworden op: vr 23 okt 2009, 12:51

Re: Programeren met java

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;

public class Punt<DeltaY> {

private double X;

private double Y;

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){

}

public double getX() {

return X;

}

public void setX(double x) {

if(X>0){

this.X = x;

}
else {

this.X=0;

}

}

public double getY() {

return Y;

}

public void setY(double y) {

if(X>0){

this.Y = y;

}
else {

this.Y=0;

}

}

private void move(DeltaY DeltaX){

}

}

help aub

groetjes

Gebruikersavatar
ZVdP
Artikelen: 0
Berichten: 2.097
Lid geworden op: za 16 jul 2005, 23:45

Re: Programeren met java

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

En wat is precies het probleem in deze opdracht?
"Why must you speak when you have nothing to say?" -Hornblower

Conserve energy: Commute with a Hamiltonian
marjan
Artikelen: 0
Berichten: 34
Lid geworden op: vr 23 okt 2009, 12:51

Re: Programeren met java

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
Gebruikersavatar
ZVdP
Artikelen: 0
Berichten: 2.097
Lid geworden op: za 16 jul 2005, 23:45

Re: Programeren met java

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:
\(d=\sqrt{(x_1-x_2)^2+(y_1-y_2)^2}\)
"Why must you speak when you have nothing to say?" -Hornblower

Conserve energy: Commute with a Hamiltonian
marjan
Artikelen: 0
Berichten: 34
Lid geworden op: vr 23 okt 2009, 12:51

Re: Programeren met java

hoi hoe schrijf ik die formule dan in een java code

want daar sukkel ik mee sorry hoor mischien een domme vraag

groetjes
Gebruikersavatar
ZVdP
Artikelen: 0
Berichten: 2.097
Lid geworden op: za 16 jul 2005, 23:45

Re: Programeren met java

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

Terug naar “Informatica en programmeren”