Avatar billede willi Nybegynder
17. juni 2004 - 10:08 Der er 3 kommentarer og
2 løsninger

for løkke

Denne skulle gerne udskrive punkt i;

import java.applet.*;
import java.awt.*;
import java.awt.event.*;

public class drawLine extends Applet
{
    int i;
    public int pointX()
    {
        for(i = 10; i < 1000; i++)
        {    
        }
        return i;
    }
    public void paint(Graphics g)
    {
        //g.drawLine(50, 50, 100, 100);
        g.drawLine(i, i, i, i);
    }

}
Men der sker absolut intet andet. I returneres ikke.
Hvad er der galt?
Avatar billede europe Nybegynder
17. juni 2004 - 10:16 #1
prøv med - uden at vide om det er det du vil have.

public class drawLine extends Applet
{
    int i;
    public int pointX()
    {
        for(i = 10; i < 1000; i++)
        {   
        }
        return i;
    }
    public void paint(Graphics g)
    {
        //g.drawLine(50, 50, 100, 100);
        g.drawLine(pointX(), pointX(), pointX(), pointX());
    }

}
Avatar billede willi Nybegynder
17. juni 2004 - 11:35 #2
Næ ikke helt. Det er denne hvor der udskrives et punkt:

import java.applet.*;
import java.awt.*;
import java.awt.event.*;

public class drawLine extends Applet
{
    int punktStartX = 10;
    int punktStartY = 10;
   
    public void paint(Graphics g)
    {
   
        for(int i = 10; i <= 1000; i++)
        {     int punkt = i;
            g.drawLine(punktStartX, punktStartY, punkt, punkt);
    }

    }
}

Det jeg tumlede med var, at der ikke blev returneret noget.
Men er det rigtigt hvis jeg så antager, at for hente "i" skal jeg ikke hente variablen men hente metoden pointX()?
Er det altid sådan?
Send et svar så deler vi point.
Avatar billede europe Nybegynder
17. juni 2004 - 11:54 #3
Ja i det her tilfælde - "problemet" ligger i at for at "i" skal få en værdi så SKAL pointX() kaldes..... Men da "i" er en variable der som instance variable kan den kaldes af alle metoder i instancen.

Men som du nu har lavet funktionen så biver punkt hele tiden en ny værdi.
For ikke at skulle lave en ny variable hele tide kunne du med fordele lave metode så ledes.

public void paint(Graphics g)
    {
      int punkt = 0;
      for(int i = 10; i <= 1000; i++)
      {
        punkt = i;
        g.drawLine(punktStartX, punktStartY, punkt, punkt);
        // eller bare bruge "i" istedet for punkt
      }
    }
Avatar billede willi Nybegynder
17. juni 2004 - 13:04 #4
svar
Avatar billede willi Nybegynder
17. juni 2004 - 13:05 #5
.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester