Avatar billede brihhzel Nybegynder
02. april 2005 - 16:19 Der er 8 kommentarer

Fra et sted til et andet

Hey,
Har lavet den her kode:
import java.awt.*;
import java.applet.*;

public class felt extends Applet {
    public class boks {
        double højde;
        double bredde;
        double farve;
       
        double felt() {
            double hvis;
            hvis = "x,y,"+længde+","+bredde+"";
        }
    }
    public void main(String[] arg) {
        boks boks1;
        boks1 = new boks();
        boks.højde=50;
        boks.bredde=50;
        boks.farve="green";
       
        double hvisfelt;
        hvisfelt = g.setfillRect(boks1.felt());
    }
    public void paint(Graphics g) {
        hvisfelt;
    }
}

nede i bunden kan den jo næsten klart ikke finde hvisfelt;
hvordan kan jeg gøre så den kan finde det?..
Avatar billede rrm Nybegynder
02. april 2005 - 16:32 #1
Det er fordi hvisfelt er erklæret i som lokal variable i main metoden, du er nødt til at erklære variable en klassen ala
public class fejl ... {
  double hvisfelt;
  ...
}
Avatar billede rrm Nybegynder
02. april 2005 - 16:33 #2
ups fejl skulle være felt
Avatar billede brihhzel Nybegynder
02. april 2005 - 16:36 #3
Hmm forstår ikke lige:S kan du give et eksempel??
Avatar billede brihhzel Nybegynder
02. april 2005 - 16:47 #4
rrm,
har prøvet det du sagde, men virker ikke. Tænkte på du gad og lave det om jeg laver fejl i koden??. for ellers tror jeg sku ikke jeg kommer til at forstå??
Avatar billede rrm Nybegynder
02. april 2005 - 16:49 #5
tja - se forskellen mellem dit og det nedstående:

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

public class felt extends Applet {

    double hvisfelt; <-- tilføjet

    public class boks {
        double højde;
        double bredde;
        double farve;
       
        double felt() {
            double hvis;
            hvis = "x,y,"+længde+","+bredde+"";
        }
    }
    public void main(String[] arg) {
        boks boks1;
        boks1 = new boks();
        boks.højde=50;
        boks.bredde=50;
        boks.farve="green";
       
        hvisfelt = g.setfillRect(boks1.felt());
    }
    public void paint(Graphics g) {
        hvisfelt;
    }
}
Avatar billede rrm Nybegynder
02. april 2005 - 16:50 #6
Det kan jeg ikke, for jeg ved ikke hvad hvisfelt i paint-metoden skal bruges til... Men du kan ikke skrive hvisfelt;, du er nødt til at bruge værdien til noget evt. System.out.println(hvisfelt)
Avatar billede rrm Nybegynder
02. april 2005 - 16:52 #7
men jeg tror du skal prøve at flytte disse to linier fra main til paint-metoden:
double hvisfelt;
hvisfelt = g.setfillRect(boks1.felt());
Avatar billede rrm Nybegynder
07. april 2005 - 11:08 #8
fik du løst problemet???
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