Fejl med lidt OOP i Java
Hvad er der galt med den kode jeg har her? (se fejlmeddelelse længere nede...)Vurdering.java:
---------------
class Vurdering
{
public static void main(String[] args)
{
Ejendom k29 = new Ejendom(new Bygning(200, 8000), new Grund(800, 500, 400000));
Ejendom a11 = new Ejendom(new Bygning( 70, 4000), new Grund(700, 30, 24000));
System.out.println(k29.vurdering());
System.out.println(a11.vurdering());
}
}
Ejendom.java:
-------------
class Ejendom
{
Bygning bygning;
Grund grund;
Ejendom(Bygning bygning, Grund grund)
{
this.bygning = bygning;
this.grund = grund;
}
int vurdering()
{
return bygning.vurdering() + grund.vurdering();
}
}
Grund.java:
-----------
class Grund
{
int areal;
int kvadratmeterpris;
int byggeret;
void Grund(int areal, int kvadratmeterpris, int byggeret)
{
this.areal = areal;
this.kvadratmeterpris = kvadratmeterpris;
this.byggeret = byggeret;
}
int vurdering()
{
return areal*kvadratmeterpris+byggeret;
}
}
Bygning.java:
-------------
class Bygning
{
int areal;
int kvadratmeterpris;
void Bygning(int areal, int kvadratmeterpris)
{
this.areal = areal;
this.kvadratmeterpris = kvadratmeterpris;
}
int vurdering()
{
return areal*kvadratmeterpris;
}
}
Jeg får denne fejlmeddelelse:
-----------------------------
C:\Documents and Settings\Administrator\Skrivebord>javac Vurdering.java
Vurdering.java:5: cannot resolve symbol
symbol : constructor Bygning (int,int)
location: class Bygning
Ejendom k29 = new Ejendom(new Bygning(200, 8000), new Grund(800, 500, 400000));
^
Vurdering.java:5: cannot resolve symbol
symbol : constructor Grund (int,int,int)
location: class Grund
Ejendom k29 = new Ejendom(new Bygning(200, 8000), new Grund(800, 500, 400000));
^
Vurdering.java:6: cannot resolve symbol
symbol : constructor Bygning (int,int)
location: class Bygning
Ejendom a11 = new Ejendom(new Bygning( 70, 4000), new Grund(700, 30, 24000));
^
Vurdering.java:6: cannot resolve symbol
symbol : constructor Grund (int,int,int)
location: class Grund
Ejendom a11 = new Ejendom(new Bygning( 70, 4000), new Grund(700, 30, 24000));
^
4 errors
