16. oktober 2003 - 14:44
Der er
16 kommentarer og 1 løsning
Javakompilering: Find fejlene i disse 2 linjer
Hej hvor er fejlen i System.out.println("2D-punktet slutter ved (" + object1.x + "," object1.y + ")\n"); og i System.out.println("3D-punktet er nu ved (" + object2.x + "," object2.y + "," + object2.z + ")"); jeg får følgende fejl ved kompilering SePunkter.java [15:1] ')' expected System.out.println("2D-punktet slutter ved (" + object1.x + "," object1.y + ")\n"); ^ SePunkter.java [20:1] ')' expected System.out.println("3D-punktet er nu ved (" + object2.x + "," object2.y + "," + object2.z + ")"); Takker :) /Christian
Annonceindlæg fra Barco
Er jeres mødelokaler sikre nok?
Den moderne arbejdsplads er i stigende grad afhængig af mødelokaler til at fremme samarbejde, men dette skift medfører også stigende sikkerhedsudfordringer.
16. oktober 2003 - 14:46
#1
Prøv dette: System.out.println("2D-punktet slutter ved (" + object1.x + "," + object1.y + ")\n"); System.out.println("3D-punktet er nu ved (" + object2.x + "," + object2.y + "," + object2.z + ")");
16. oktober 2003 - 14:49
#2
Du bør nok lige nævne forskellen: du har indsat plusser mellem "," og onject.y !
16. oktober 2003 - 14:54
#3
Ja, men nu har du jo gjort det ! :-) Der skal plus (+) mellem alle elementer. Ulovligt: ("hello" "world"); ("Hello" object1.x); ("Hello" object1.x object2.x); Lovligt: ("Hello" + "World"); ("Hello" + object1.x); ("Hello" + object1.x + object2.x);
16. oktober 2003 - 15:00
#4
ja ok det var det jeg ikke lige kunne se takker... Nu vi er igang vil jeg lige spørge om noget andet (jeg skal nok give ekstrapoints hvis svarholder synes det)... se lige hele klassen: package Point; import java.awt.*; class SePunkter{ public static void main(String[] arguments){ Point object1 = new Point(11,22); Point3D object2 = new Point3D(7,6,64); System.out.println("2D-punktet er placeret ved (" + object1.x + "," + object1.y + ")"); System.out.println("\tDet flyttes til (4,13)"); object1.move(4,13); System.out.println("2D-punktet er nu ved (" + object1.x + "," + object1.y + ")"); System.out.println("\tDet flyttes -10 enheder både på x-" + "og y-aksen"); object1.translate(-10,-10); System.out.println("2D-punktet slutter ved (" + object1.x + "," + object1.y + ")\n"); System.out.println("3D-punktet er placeret ved (" + object2.x + "," + object2.y + "," + object2.z + ")"); System.out.println("\tDet flyttes til (10,22,71)"); object2.move(10,22,71); System.out.println("3D-punktet er nu ved (" + object2.x + "," + object2.y + "," + object2.z + ")"); System.out.println("\tDet flyttes -20 enheder på x-, y-" + "og z-akserne"); object2.translate(-20,-20,-20); System.out.println("3D-punktet slutter ved (" + object2.x + "," + object2.y + "," + object2.z + ")"); } } ok ... mit problem er angående 3D punktet... z-koordinaten giver -20 men burde udskrives som 71-20 dvs 51... x og y giver de rigtige koordinater...
16. oktober 2003 - 15:01
#5
altså det er slutværdien der burde være 51.. :)
16. oktober 2003 - 15:07
#6
Hvis jeg skal teste skal jeg have Point3D klassen.
16. oktober 2003 - 15:10
#7
Det er nok din translate metode det er galt med.. Mit bud på en translate metode: [..] private int x; private int y; private int z; [..] public void translate(int x, int y, int z) { this.x += x; this.y += y; this.z += z; } [..]
16. oktober 2003 - 15:13
#8
mit objekt, Point3D ser således ud: package Point; import java.awt.*; public class Point3D extends Point{ public int z; public Point3D(int x, int y, int z){ super(x,y); this.z = z; } public void move(int x, int y, int z){ this.z = z; super.move(x,y); } public void translate(int x, int y, int z){ this.z = z; super.translate(x,y); } }
16. oktober 2003 - 15:17
#9
this.z = z; => this.z -= z;
16. oktober 2003 - 15:17
#10
Ret til: public void translate(int x, int y, int z){ this.z += z; super.translate(x,y); }
16. oktober 2003 - 15:18
#11
Ak ak. Søren har naturligvis ret += ikke -=.
16. oktober 2003 - 15:18
#12
Det skal være plus ! Ellers går det galt. Så vil: object2.translate(-20,-20,-20); blive flyttet i positiv retning - det dur ikke.
16. oktober 2003 - 15:18
#13
heh! det havde jeg skrevet forkert ja... hvad betyder ændringen?
16. oktober 2003 - 15:20
#14
Før satte du værdien til argumentet på metoden (det samme som move !). Nu lægger du argumentet til den tidligere værdi (sådan som translate skal forstås).
16. oktober 2003 - 15:20
#15
tak for det! jeg laver lige et spørgsmål hvor i deler 30 er det ok?
16. oktober 2003 - 15:21
#16
nåå ja ok jeg forstår :)
16. oktober 2003 - 15:22
#17
En anden gang kan du bare hæve antallet af point. Det gøres øverst til venstre i "Funktioner"
Kurser inden for grundlæggende programmering