Avatar billede javaidioten Nybegynder
09. februar 2003 - 23:34 Der er 12 kommentarer og
1 løsning

simpel, simpel java programmering...tegn en firkant

som i nok kan forstå er jeg omkring et par timers erfaring værdig i javaprogrammering. Først skal jeg løse en opgave med at tegne en firkant, og jeg benytter mig af programmet Eclipse.
Programmet er tilsyneladende i mangel af en "main class" nå jeg forsøger at køre det, og public er understreget med rødt i: "public Skildpadde1() {"
Jeg er lidt i vildrede...
Dette er det første spørgsål af mange...så på forhånd tak.


import turtle.*
/**
* @author MIG
*
* To change this generated comment edit the template variable "typecomment":
* Window>Preferences>Java>Templates.
* To enable and disable the creation of type comments go to
* Window>Preferences>Java>Code Generation.
*/
public class Skildpadde1 {
public Skildpadde1() {
    Turtle ole = new Turtle();
    ole.move(100);
    ole.turn(90);
    ole.move(100);
    ole.turn(90);
    ole.move(100);
    ole.turn(90);
    ole.move(100);
}
    public static void main(String[] args) {
        new Skildpadde1();
    }
}
Avatar billede arne_v Ekspert
09. februar 2003 - 23:42 #1
Det program ser OK ud - jeg får heller ikke andre fejl end dem
på manglende Turtle, når jeg copy paster det ind i min Eclipse.
Avatar billede arne_v Ekspert
09. februar 2003 - 23:43 #2
Hvad skriver Eclipse, når du fører cursoren hen over det røde
kryds ?
Avatar billede javaidioten Nybegynder
09. februar 2003 - 23:46 #3
syntax error on keyword "public"; ";" expected
Avatar billede javaidioten Nybegynder
09. februar 2003 - 23:47 #4
og jeg har det samme problem med dette...altså ingen "main class found"...så jeg tænker om det er et eller andet banalt i selve programmet eclipse jeg mangler..

public class tekst {
    public static void main(String[] args) {
    System.out.println("Hej Verden!");
    System.out.println("Hvornår smager en Tuborg bedst?");
    System.out.println("Hvergang!");
    }
}
Avatar billede erikjacobsen Ekspert
09. februar 2003 - 23:49 #5
import turtle.*;
Avatar billede arne_v Ekspert
09. februar 2003 - 23:51 #6
Meget mystisk.

public class Skildpadde1 {
    public Skildpadde1() {
        Turtle ole = new Turtle();
        ole.move(100);
        ole.turn(90);
        ole.move(100);
        ole.turn(90);
        ole.move(100);
        ole.turn(90);
        ole.move(100);
    }

    public static void main(String[] args) {
        new Skildpadde1();
    }
}

class Turtle {
    public void move(int n) {
        return;
    }
    public void turn(int n) {
        return;
    }
}

compiler fint hos mig !

Har du copy-pastet koden fra Eclipse over i din browser ?
Avatar billede arne_v Ekspert
09. februar 2003 - 23:52 #7
Erik har ret - du har glemt semikolon efter din import sætning.
Avatar billede javaidioten Nybegynder
10. februar 2003 - 00:20 #8
Den vil stadig ikke...og nu har jeg oprettet en ny, skrevet koden, og kørt den...???
Jeg har syntax error ved:
public Turtle"{"
"public" static void main(String[] args) {
    new Turtle
    "}"

????
import turtle.*;
/**
* @author MIG
*
* To change this generated comment edit the template variable "typecomment":
* Window>Preferences>Java>Templates.
* To enable and disable the creation of type comments go to
* Window>Preferences>Java>Code Generation.
*/
public class Turtle {
    public Turtle{
    Turtle ole=new Turtle();
    ole.move(100);
    ole.turn(90);
    ole.move(100);
    ole.turn(90);
    ole.move(100);
    ole.turn(90);
    ole.move(100);
    }
    public static void main(String[] args) {
        new Turtle
    }       
}
Avatar billede =maddog= Nybegynder
10. februar 2003 - 06:32 #9
new Turtle();
du får også et mega problem ved at skrive Turtle ole = new Turtle(); i konstruktoren. Jeg er ikke sikker på at kompileren æder det, men vil stadig fraråde det. Med mindre du ved hvad du gør?!?
Du kan godt have flere klasser der hedder Turtle, blot i forskellige packages, men i så fald må du angive stien, så kompileren ved hvilken af de to Turtle klasser den skal danne en instans af
turtle.Turtle ole = new turtle.Turtle();
Avatar billede arne_v Ekspert
10. februar 2003 - 06:40 #10
Der et ihvertfald mindst en compile fejl:
* der mangler parantes efter constructor erklæringen
  altså: public Turtle() { og ikke public Turtle{

Og hvis du laver en ny Turtle hvergang du kalder Turtle
constructor, så får du en uendelig rejursion der dør på runtime.
Avatar billede arne_v Ekspert
10. februar 2003 - 06:41 #11
Der er en comile fejl mere:
* der mangler også parentes i kalder af Turtle i main:
  new Turtle(); og  ikke new Turtle
Avatar billede arne_v Ekspert
10. februar 2003 - 06:42 #12
Og hov der skulle selvfølgelig jave stået "uendelig rekursion" ikke
"uendelig rejursion"
Avatar billede =maddog= Nybegynder
10. februar 2003 - 09:32 #13
Jeg formoder at der er en klasse i turtle pakken der hedder Turtle, og at det er den han vil oprette i konstruktoren. Du kan selvfølgelig kalde begge klasser Turtle hvis du har lyst, men så skal du huske at angive at det er turtle.Turtle som nævnt ovenfor. Det er dog en uanmindelig dårlig ide at give ens navne på den måde. Det gør, at du for tid og evighed skal angive fuld sti når du anvender begge objekter på samme tid.
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