Help!

PC-Problemen?
De vrijwilligers van Oplossing.be zoeken gratis met u mee!

Hulp bij posten

Recente topics

Auteur Topic: Methoden in Java  (gelezen 6732 keer)

0 leden en 1 gast bekijken dit topic.

Offline Stefke33

  • Nieuw lid
  • Berichten: 1
Methoden in Java
« Gepost op: 25 augustus 2009, 15:02:57 »
Hallo iedereen,

Ik heb hier enkele methoden die ik wil schrijven als oefening voor de voorbereiding op het echte examen en vandaar wil ik weten als ik die methodes juist heb geschreven.

Het zijn drie methodes waar ik graag wil weten als ik ze goed heb omgeschreven en ook zullen werken


// Methode voor berekenen van de som
int som(int aantal)
{
/*
* int som;
* for(int getal = 1; getal <= eindwaarde; getal++)
* {
* som += getal;
* }
* g.drawString("De som is: " + som, 100, 100
*/
int som = 0;
for(int getal = 1; getal <= aantal; getal++)
{
return som += getal;
}
return som+=getal;
}



// Methode voor het berekenen van de fac
int faculteit(int getal, int eindwaarde)
{
/**********************************
* Algoritme
* getal = 0;
* som =0;
* while(som < eindwaarde)
* {
* getal++;
*   som += getal
* }
**********************************
*/
getal = 0; som = 0;
while(som < eindwaarde)
{
getal++;
return som += getal;
}
}



void tekenGelijkbenigeDriehoek(Graphics gc, int x
                                                   int y, int basis
     int hoogte)
{
    // Wat zet ik hier in deze methode om die
    // methode uit te voeren want ik denk twee
    // drawLines of zijn er drie?
   
}


Offline dizzl

  • Ambassadeur
  • *****
  • Berichten: 2.345
  • I've Upped my standards,now,up yours!
Re: Methoden in Java
« Reactie #1 Gepost op: 26 augustus 2009, 08:05:03 »

1. functie som
Je methode dezelfde naam geven als een variabele in die methode lijkt me niet juist  (of toch om zijn minst onnodig) . Je mag die interne var wel Som noemen (meteen hoofdletter omdat het dan over een andere variabele gaat.

2. functie faculteit
Je doet een return IN je herhaling. Dat zal waarschijnlijk tot gevolg hebben dat je altijd de waarde '1' terugkrijgt.

doe daar som += getal
voor de laatste functie zou ik zelf moeten zoeken. Ik ken java slechts door het hier en daar eens te lezen.
Systeem  : Intel Core i5-4440 3.1Ghz, 3.1GHz 16Giga Ram 64Bits
Software : Windows 10 professional, Avira, Office 2016 Professional

Offline buckfast_beekeeper

  • Volledig lid
  • **
  • Berichten: 165
  • Geslacht: Man
Re: Methoden in Java
« Reactie #2 Gepost op: 26 augustus 2009, 21:44:19 »
Hallo Stefke,

Ik dacht dat een som een optelling was van 2 getallen. Deze vind ik echter niet terug in je method.

return som += getal hoort niet thuis in een loop zoals dizzl reeds aanhaalt. De loop wordt slechts 1 keer uitgevoerd. Uiteindelijk ga je alleen je getal dat je er instopte als argument terug krijgen. Een nutteloze bewerking dus.

Faculteit. Als ik me goed herinner is een faculteit het volgende

1 * 2 = 2
2 * 3 = 6
6 * 4 = 24
24 * 5 = 120 ...
In code
private double faculteit (int eindwaarde){
    double dblFac = 1;
    for(int cnt = 1; cnt < eindwaarde; cnt++){
        dblFac *= cnt;
    }
    return dblFac;
}


Geef je variabelen ook het type mee. integer = int, double = dbl, String = str, .... zo zie je direct met welk type je te maken hebt. Bij globale variabelen wordt dit mInt, mDbl, mStr, .... . Zo is ook meteen duidelijk of het een globaal gedeclareerde variabele gaat of een lokale variabele. Neem de scope ook zo klein mogelijk. Zo krijg je niet de verleiding om bijvoorbeeld cnt globaal te declareren en te pas en te onpas te gebruiken. Uiteindelijk heb je dan geen controle meer over je variabelen.

Wat de driehoek betreft. Bekijk de javadoc eens. Je hebt de beschikking over
drawPolygon

public abstract void drawPolygon(int[] xPoints,
                                 int[] yPoints,
                                 int nPoints)

    Draws a closed polygon defined by arrays of x and y coordinates. Each pair of (x, y) coordinates defines a point.

    This method draws the polygon defined by nPoint line segments, where the first nPoint - 1 line segments are line segments from (xPoints[i - 1], yPoints[i - 1]) to (xPoints[i], yPoints[i]), for 1 ≤ i ≤ nPoints. The figure is automatically closed by drawing a line connecting the final point to the first point, if those points are different.

    Parameters:
        xPoints - a an array of x coordinates.
        yPoints - a an array of y coordinates.
        nPoints - a the total number of points.
   
en
fillPolygon

public abstract void fillPolygon(int[] xPoints,
                                 int[] yPoints,
                                 int nPoints)

    Fills a closed polygon defined by arrays of x and y coordinates.

    This method draws the polygon defined by nPoint line segments, where the first nPoint - 1 line segments are line segments from (xPoints[i - 1], yPoints[i - 1]) to (xPoints[i], yPoints[i]), for 1 ≤ i ≤ nPoints. The figure is automatically closed by drawing a line connecting the final point to the first point, if those points are different.

    The area inside the polygon is defined using an even-odd fill rule, also known as the alternating rule.

    Parameters:
        xPoints - a an array of x coordinates.
        yPoints - a an array of y coordinates.
        nPoints - a the total number of points.

Ook met de drawlines kan je hetzelfde bekomen als met de gewone polygon. Met drawline wordt een gevulde driehoek een stuk ingewikkelder.

Ik hoop dat je hier wat mee bent. En leer vooral de javadoc te begrijpen en te gebruiken.

mvg

Theo

edit: foutje in faculteit method aangepast.

 


www.combell.com