Terrasque Skrevet 1. november 2009 Del Skrevet 1. november 2009 Har så vidt begynt å teste java, og føler meg som Bambi på isen i øyeblikket.. Har en class, myBall, som jeg prøver å få satt opp et array av. Problemet er at eclipse insisterer på at det er syntax feil, men jeg finner ikke noe hint til annen syntax når jeg søker online. Dette er i en public class DrawDemo, der både variabler og myBall class'en blir definert. Definisjon: public myBall[] Balls = new myBall[1]; Balls[0] = new myBall(20, 20, Color.BLUE); Hvis jeg kommenterer ut linje nr 2 så rapporterer den ingen feil.. men da er litt av poenget vekke. For kompletthets skyld, myBall classen i spoiler del. public class myBall { public int posX; public int posY; public int speedX = 1; public int speedY = 2; public int size = 15; public int myColor; public myBall (int X, int Y, int color) { posX = X; posY = Y; myColor = color; } public myBall () { posX = 30; posY = 30; } public myBall (int X, int Y, int color, int intSize, int ispeedX, int ispeedY){ posX = X; posY = Y; myColor = color; size = intSize; speedX = ispeedX; speedY = ispeedY; } public void reverseX() { speedX = speedX * -1; } public void reverseY() { speedY = speedY * -1; } public String position() { return "[" + posX + "," + posY+"]"; } public void step(int width, int height) { posX = posX + speedX; int offset = this.size / 2; if (posX - offset <= 0 || posX + offset >= width) { this.reverseX(); } posY = posY + speedY; if (posY - offset <= 0 || posY + offset >= height) { this.reverseY(); } } Har sett på dette i to timer nå, og har enda ikke funnet noen hint på hva som er gale. Etter det jeg har funnet av dokumentasjon, hints, tricks, eksempler og howto's så burde det fungere. Men det gjør det tydeligvis ikke, så jeg lurer på om noen her klarer å se hva jeg har gjort gale. Lenke til kommentar
x871kx6167ss7 Skrevet 1. november 2009 Del Skrevet 1. november 2009 Koden kompilerer helt fint her. Sier ikke eclipse hva som er gærent? Variabel- og klassenavnene følger ikke javakonvensjoner. Variabler skal starte med små bokstaver (eks. "MyBall [] balls = new MyBall[2];"), mens klassenavn skal begynne med stor bokstav(eks. "class MyBall {..}"). Kan jo være det den klager på? Lenke til kommentar
Cyberfrog Skrevet 1. november 2009 Del Skrevet 1. november 2009 Color.BLUE er en int(eger)? Og ja, følg kodekonvensjonene - det gjør det betydelig lettere for andre å lese koden din. Lenke til kommentar
Terrasque Skrevet 1. november 2009 Forfatter Del Skrevet 1. november 2009 Color.BLUE er en int ja. Skiftet på variabel / class navnene. "private MyBall ball = new MyBall(20, 20, Color.BLUE);" fungerer helt fint, så tror ikke det er class'en som er problemet. Feilen eclipse gir er : Syntax error on token ";",{ expected after this token Legger ved to skjermskudd, ene der feilen vises i eclipse, og en der balls[0] linjen er kommentert ut, og det ikke viser feil på linjen... Lenke til kommentar
x871kx6167ss7 Skrevet 1. november 2009 Del Skrevet 1. november 2009 Du kan ikke ha kode der*. Først deklarerer du variabelen i klassen, så tilordner du balls[2] = ...; i konstruktøren til den respektive klassen. * Du kan strengt tatt drive å sette inn kodeblokker der, men ikke gjør det. Lenke til kommentar
Terrasque Skrevet 1. november 2009 Forfatter Del Skrevet 1. november 2009 aha Derfor. Takker Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå