sovpod,kasanie,peresek,vnutri,poglotil,notach;

package priamougx;

enum Status{

sovpod,kasanie,peresek,vnutri,poglotil,notach;

}

class WrongPr extends Exception{}

class Prugolnik{

private int x1;

private int y1;

private int x2;

private int y2;

private final int id;

static int count;

{++count;}

Prugolnik(int x1,int y1,int x2,int y2)throws WrongPr

{

if(!test(x1,y1,x2,y2))

throw new WrongPr();

this.x1=x1;

this.y1=y1;

this.x2=x2;

this.y2=y2;

id=count;

correct();

}

private void correct(){

int c;

if(this.x1>this.x2){

c=this.x1;

this.x1=this.x2;

this.x2=c;

}

if(this.y1>this.y2){

c=this.y1;

this.y1=this.y sovpod,kasanie,peresek,vnutri,poglotil,notach;2;

this.y2=c;

}

}

private boolean test(int x1,int y1,int x2,int y2)

if((x1==x2)

public int getId(){

return id;

}

public void setX1(int x)throws WrongPr

{

if(!test(x,this.y1,this.x2,this.y2))

throw new WrongPr();

this.x1=x;

correct();

}

public Status otn(Prugolnik tmp){

if((x1==tmp.x1)&&(y1==tmp.y1)&&(x2==tmp.x2)&&(y2==tmp.y2))

return Status.sovpod;

if((tmp.x1>=x1)&&(tmp.x2=y1)&&(tmp.y2<=y2))

return Status.poglotil;

if((x1>=tmp.x1)&&(x2=tmp.y1)&&(y2<=tmp.y2))

return Status.vnutri;

if((x1>tmp.x1)&&(x1tmp sovpod,kasanie,peresek,vnutri,poglotil,notach;.y1)&&(y1

return Status.peresek;

if((x2tmp.x1)&&(y2tmp.y1))

return Status.peresek;

if((x1>tmp.x1)&&(x1tmp.y1)&&(y2

return Status.peresek;

if((x2>tmp.x1)&&(x2

return Status.peresek;

if(x2==tmp.x1)

if( ((y2>=tmp.y1)&&(y2=tmp.y1)&&(y1<=tmp.y2)) )

return Status.kasanie;

if(x1==tmp.x2)

if( ((y2>=tmp.y1)&&(y2=tmp.y1)&&(y1<=tmp.y2)) )

return Status.kasanie;

if(y1==tmp.y2)

if( ((x2>=tmp.x1)&&(x2=tmp.x1)&&(x1<=tmp.x2)) )

return Status.kasanie;

if(y2==tmp.y sovpod,kasanie,peresek,vnutri,poglotil,notach;1)

if( ((x2>=tmp.x1)&&(x2=tmp.x1)&&(x1

return Status.kasanie;

return Status.notach;

}

public String toString(){

String info="Прямоугольник id:"+id+" x1="+x1+",y1="+y1+" x2="+x2+",y2="+y2;

return info;

}

}

public class PriamougX {

public static void main(String[] args) {

try{

Prugolnik p1=new Prugolnik(4,0,5,4);

System.out.println(p1);

Prugolnik p2=new Prugolnik(-4,-4,2,6);

System.out.println(p2);

p2.setX1(4);

System.out.println(p2);

switch(p1.otn(p2))

{

case sovpod: System.out.println("Прямоугольник "+p1.getId()

+" совпал с прямоугольником "+p2.getId());break;

case poglotil: System.out.println("Прямоугольник "+p1.getId()

+" проглотил прямоугольник "+p2.getId());break;

case vnutri: System sovpod,kasanie,peresek,vnutri,poglotil,notach;.out.println("Прямоугольник "+p1.getId()

+" внутри прямоугольника "+p2.getId()); break;

case peresek: System.out.println("Прямоугольник "+p1.getId()

+" пересекается с прямоугольником "+p2.getId()); break;

case kasanie: System.out.println("Прямоугольник "+p1.getId()

+" касается прямоугольника "+p2.getId()); break;

case notach: System.out.println("Прямоугольник "+p1.getId()

+" находится на расстоянии от прямоугольника "+p2.getId()); break;

default: System.out.println("Не могу определить как соотносятся прямоугольники.");break;

}

}

catch (WrongPr e){

System.out.println(e+" Прямоугольник выродился в линию.");

}

}

}

Дата добавления: 2015-11-04; просмотров: 2 | Нарушение авторских прав


documentazophvt.html
documentazoppgb.html
documentazopwqj.html
documentazoqear.html
documentazoqlkz.html
Документ sovpod,kasanie,peresek,vnutri,poglotil,notach;