poprawa programu

0

Witam
Mam 10 błędów ale oraz nie wiem jak je poprawic ponieważ wydaje mi się ze jest ok :-D Proszę o pomoc i wskazanie mi błędnej linii

kod błędów
symbol : class punkt
location: class prostokat
punkt a,b,c,d;
^
Main.java cannot find symbol
symbol : class punkt
location: class Main
punkt p1 = new punkt();
^
Main.java cannot find symbol
symbol : class punkt
location: class Main
punkt p1 = new punkt();
^
Main.java cannot find symbol
symbol : class punkt
location: class Main
punkt p2 = new punkt();
^
Main.java cannot find symbol
symbol : class punkt
location: class Main
punkt p2 = new punkt();
^
Main.java cannot find symbol
symbol : class punkt
location: class Main
punkt p3 = new punkt();
^
Main.java cannot find symbol
symbol : class punkt
location: class Main
punkt p3 = new punkt();
^
Main.java cannot find symbol
symbol : class punkt
location: class Main
punkt p4 = new punkt();
^
Main.java cannot find symbol
symbol : class punkt
location: class Main
punkt p4 = new punkt();
^
.\prostokat.java operator * cannot be applied to java.lang.String,int
wynik = (a.odleglosc(b.x,b.y) + b.odleglosc(c.x,c.y))*2;
^
10 errors

kod programu

class Main
{
public static void main(String args[])
{
prostokat pr1 = new prostokat();
punkt p1 = new punkt();
p1.x= 0;
p1.y=0;
pr1.a = p1;
punkt p2 = new punkt();
p2.x= 5;
p2.y=0;
pr1.b = p2;
punkt p3 = new punkt();
p3.x= 5;
p3.y=5;
pr1.c = p3;
punkt p4 = new punkt();
p4.x= 0;
p4.y=5;
pr1.d = p4;
System.out.println(pr1.pole());
System.out.println(pr1.przekatna());
System.out.println(pr1.obwod());
}
}


class prostokat
{
punkt a,b,c,d;
double pole()
{
double podstawa, wysokosc;
double poleProstokata;
podstawa = a.odleglosc(b.x,b.y);
wysokosc = b.odleglosc(c.x,c.y);
poleProstokata = podstawa*wysokosc;
return poleProstokata;

}
double przekatna()
{
	double wynik;
	wynik = a.odleglosc(c.x,c.y);
	return wynik;		
}
double obwod()
{
	double wynik;
	wynik = (a.odleglosc(b.x,b.y) + b.odleglosc(c.x,c.y))*2;
	return wynik; 
}	

}

jeszcz raz dziękuje z góry za pomoc

0

Tworzysz obiekt typu punkt ale nie masz klasy punkt.

0

czy chodzi o te linie:
punkt p1 = new punkt();
punkt p2 = new punkt();
punkt p3 = new punkt();
punkt p4 = new punkt();

jesli tak to zamiast pisac to w mainie zrobic oddielne klasy dla p1, p2,p3 ,p4? jesli tak to jak wtedy ustawic współrzedne p1?
pozdrawiam

0

Napisz klase Punkt, a potem stworz 4 obiekty tej klasy p1, p2, p3, p4.
Zamisast pisania p1.x = 0 i pr1.a = p1 stworz w klasie punkt konstruktor, w ktorym jako parametry podasz wspolrzedne punktu, a w klasie prostokat stworz konstruktor, w ktorym podasz jako parametry obiekty punkt
Klasa Prostokat tez ci sie nie skompiluje, bo nie ma metody odleglosc, a uzywasz jej w innych metodach.

1 użytkowników online, w tym zalogowanych: 0, gości: 1