rendered paste bodypackage zahradka;
import java.awt.geom.Rectangle2D;
import java.io.*;
import java.util.*;
import java.lang.*;
public class Plocha {
public ArrayList area;
public Plocha() {
area = new ArrayList();
}
public void addrectangle(double x, double y, double w, double h) {
area.add(new Rectangle2D.Double(x,y,w,h));
}
public ArrayList conflictArea(ArrayList rectangles) {
ArrayList result = new ArrayList();
// prvni vyhodime vsechny rectangly ktere se obsahuji
int j = 1;
for (int i = 0; i < area.size()-1; i++)
{
if (j < area.size())
// for (int j = i; j<area.size(); j++)
{
// A(i) je v B(j)
if (((Rectangle2D)area.get(i)).intersects(((Rectangle2D)area.get(j)).getX(),((Rectangle2D)area.get(j)).getY(),((Rectangle2D)area.get(j)).getWidth(),((Rectangle2D)area.get(j)).getHeight())==true) {
// if (((Rectangle2D)area.get(i)).intersects((Rectangle2D)area.get(j))==true) {
System.out.println(j+"obsahuje"+i);
//area.remove(i);
result.add(area.get(i));
// B(j) je v A(i)
} else
if (((Rectangle2D)area.get(j)).intersects(((Rectangle2D)area.get(i)).getX(),((Rectangle2D)area.get(i)).getY(),((Rectangle2D)area.get(i)).getWidth(),((Rectangle2D)area.get(i)).getHeight())==true) {
// if (((Rectangle2D)area.get(j)).intersects((Rectangle2D)area.get(i))==true) {
System.out.println(i+"obsahuje"+j);
//area.remove(j);
result.add(area.get(j));
}
j++;
System.out.println("bleee");
}
}
System.out.println(result.size());
/*
int i = 0;
int j = 1;
double x1 = ((Rectangle2D)area.get(i)).getX();
double y1 = ((Rectangle2D)area.get(i)).getY();
double x2 = ((Rectangle2D)area.get(j)).getX();
double y2 = ((Rectangle2D)area.get(j)).getY();
*/
// System.out.println(.size());
// System.out.println(x1+" "+y1+" "+x2+" "+y2);
return result;
}
}
package zahradka;
import java.io.*;
import java.util.*;
import java.awt.geom.Rectangle2D;
public class Main
{
public Main()
{
}
public static void main(String[] args)
{
Plocha p = new Plocha();
p.addrectangle(6,6,4,4);
p.addrectangle(1,5,4,3);
p.addrectangle(7,5,2,2);
System.out.println(p.area.size());
p.conflictArea(p.area);
//System.out.println(p.area.size());
}
}