Witam,
Jak nadpisac toString(), zeby wypisywal: „Prostokąt [(0,0),(5,0),(5,5),(0,5)]”, punkty z klasy Punkt ?
public class Punkt
{
private double x;
private double y;
public Punkt(double x, double y)
{
this.x = x;
this.y = y;
}
public Punkt()
{
}
public double getOdleglosc(Punkt p)
{
return Math.sqrt(Math.pow(p.x - x, 2) + (Math.pow(p.y - y, 2)));
}
public Punkt getX()
{
return new Punkt(x, 0); // <-- Jak zrobic zeby pobierało tylko X, zostawiając jako Punkt getX()
}
public void setX(double x)
{
this.x = x;
}
public Punkt getY()
{
return new Punkt(0 , y); // <-- Jak zrobic zeby pobierało tylko Y, zostawiając jako Punkt getY()
}
public void setY(double y)
{
this.y = y;
}
@Override
public boolean equals(Object obj)
{
if(obj == this)
{
return true;
}
if(!(obj instanceof Punkt))
{
return false;
}
Punkt c = (Punkt) obj;
return Double.compare(x, c.x) == 0 && Double.compare(y, c.y) == 0;
}
@Override
public String toString()
{
return "(" + x + " , " + y + ")";
}
}
public class Prostokat
{
public Prostokat(Punkt a, Punkt b, Punkt c, Punkt d)
{
if(a.getOdleglosc(c) == b.getOdleglosc(d))
{
System.out.println("Mozna stworzyc prostokat");
System.out.println(a);
}
else
{
System.out.println("Nieporawne dane");
}
}
@Override
public String toString()
{
return "Prostokat ["; // <-- Jak nadpisac zeby wypisywal: „Prostokąt [(0,0),(5,0),(5,5),(0,5)]”, punkty z klasy Punkt
}
}
public class Main
{
public static void main(String args[])
{
System.out.println("Punkty:");
Punkt pkt1 = new Punkt(0,0);
Punkt pkt2 = new Punkt(5,0);
Punkt pkt3 = new Punkt(5,5);
Punkt pkt4 = new Punkt(0,5);
Prostokat prostokat = new Prostokat(pkt1, pkt2, pkt3, pkt4);
System.out.println(prostokat);
}
}