Du må være registrert og logget inn for å kunne legge ut innlegg på freak.no
X
LOGG INN
... eller du kan registrere deg nå
Dette nettstedet er avhengig av annonseinntekter for å holde driften og videre utvikling igang. Vi liker ikke reklame heller, men alternativene er ikke mange. Vær snill å vurder å slå av annonseblokkering, eller å abonnere på en reklamefri utgave av nettstedet.
  1 1161
Jeg er ganske så fersk i java og har et spørsmål jeg håper noen kan svare på.

Beskrivelse av programmet og problemet:
Dette er altså to klasser med to objekter, Geir og Kristin.
a vil klemme b, så metoden a.vilKlemme(b) kjøres.
vilKlemme-metoden setter så klemmer-pekeren til å peke på det samme objektet som p-pekeren.

Mitt problem er da at java ikke gjenkjenner pekeren b, som jeg mater inn i metodekallet på linje 5.
Jeg får "error: <identifier> expected".
Hva gjør jeg galt?

Koden:

Kode

class Data {
	Person a = new Person("Geir");
	Person b = new Person("Kristin");

	a.vilKlemme(b);       // Får error: <identifier> expected på denne linjen
}

class Person {
	private String navn;
	private Person klemmer;

	Person(String n){
		this.navn = n;
	}

	public void vilKlemme(Person p) {
		klemmer = p;
	}	
}
Du får kompileringsfeil fordi du prøver å kjøre en metode utenfor en funksjon. Det går fint å deklarere og gi startverdier til variabler utenfor metoder, men metoder kan kun kalles innenifra andre metoder, og metodekallene starter i main metoden.

f.eks. slik:

Kode

public class Data 
{
	public static void main(String[] args)
	{
		Person a = new Person("Geir");
		Person b = new Person("Kristin");		
		a.vilKlemme(b);  
	}
}
Sist endret av Butterfly; 18. januar 2013 kl. 18:00.