java弄等腰三角形
你好,我是刚刚向你请教了一次问题。我现在写的程序的目的是:输入三个坐标,判断顶点坐标为1,然后按顺时针坐标依次为3和4但是关于定义点3,4的时候遇到了问题。能否麻烦你看下...
你好,我是刚刚向你请教了一次问题。
我现在写的程序的目的是:输入三个坐标,判断顶点坐标为1,然后按顺时针坐标依次为3和4
但是关于定义点3,4的时候遇到了问题。能否麻烦你看下整个的程序
public class dot{
public static void main(String[] args){
Point index = new Point(0,0);
Point pa = null;
Point pb = null; //给个初期值
Point pc = null;
Point p1 = new Point(6,0);
Point p2 = new Point(3,4);
Point p3 = new Point(0,0); //三个坐标值
double distance1 = Math.sqrt(Math.abs((p1.getX()-p2.getX())*(p1.getX()-p2.getX())
+(p1.getY()-p2.getY())*(p1.getY()-p2.getY())));
double distance2 = Math.sqrt(Math.abs((p1.getX()-p3.getX())*(p1.getX()-p3.getX())
+(p1.getY()-p3.getY())*(p1.getY()-p3.getY())));
double distance3 = Math.sqrt(Math.abs((p3.getX()-p2.getX())*(p3.getX()-p2.getX())
+(p3.getY()-p2.getY())*(p3.getY()-p2.getY())));
//求距离
if(distance1==distance2) index = p1;
if(distance2==distance3) index = p3;
if(distance1==distance3) index = p2; //找出点1
List<Point> list = new ArrayList<Point>();
list.add(p1);
list.add(p2);
list.add(p3);
for (Point p: list){
if(pa==null && index.getX()!=p.getX() && index.getY()!=p.getY()){
pa = p;
}
else if
(pb==null && index.getX()!=p.getX( )&& index.getY()!=p.getY()){
pb = p;
}
}
// if((pa.getX()-index.getX())*(pb.getY()-index.getY())-
// (pb.getX()-index.getX()*(pa.getY()-index.getY()))<0)
// {
// pc = pb;
// pb = pa;
// pa = pc;
// } //判断顺时针还是逆时针,决定3,4位置
System.out.println("两点间的距离是:"+distance1);
System.out.println("两点间的距离是:"+distance2);
System.out.println("两点间的距离是:"+distance3);
System.out.println("点1(on)的坐标为:"+index);
System.out.println("点3的坐标为:"+pa);
System.out.println("点4的坐标为:"+pb);
}
} 展开
我现在写的程序的目的是:输入三个坐标,判断顶点坐标为1,然后按顺时针坐标依次为3和4
但是关于定义点3,4的时候遇到了问题。能否麻烦你看下整个的程序
public class dot{
public static void main(String[] args){
Point index = new Point(0,0);
Point pa = null;
Point pb = null; //给个初期值
Point pc = null;
Point p1 = new Point(6,0);
Point p2 = new Point(3,4);
Point p3 = new Point(0,0); //三个坐标值
double distance1 = Math.sqrt(Math.abs((p1.getX()-p2.getX())*(p1.getX()-p2.getX())
+(p1.getY()-p2.getY())*(p1.getY()-p2.getY())));
double distance2 = Math.sqrt(Math.abs((p1.getX()-p3.getX())*(p1.getX()-p3.getX())
+(p1.getY()-p3.getY())*(p1.getY()-p3.getY())));
double distance3 = Math.sqrt(Math.abs((p3.getX()-p2.getX())*(p3.getX()-p2.getX())
+(p3.getY()-p2.getY())*(p3.getY()-p2.getY())));
//求距离
if(distance1==distance2) index = p1;
if(distance2==distance3) index = p3;
if(distance1==distance3) index = p2; //找出点1
List<Point> list = new ArrayList<Point>();
list.add(p1);
list.add(p2);
list.add(p3);
for (Point p: list){
if(pa==null && index.getX()!=p.getX() && index.getY()!=p.getY()){
pa = p;
}
else if
(pb==null && index.getX()!=p.getX( )&& index.getY()!=p.getY()){
pb = p;
}
}
// if((pa.getX()-index.getX())*(pb.getY()-index.getY())-
// (pb.getX()-index.getX()*(pa.getY()-index.getY()))<0)
// {
// pc = pb;
// pb = pa;
// pa = pc;
// } //判断顺时针还是逆时针,决定3,4位置
System.out.println("两点间的距离是:"+distance1);
System.out.println("两点间的距离是:"+distance2);
System.out.println("两点间的距离是:"+distance3);
System.out.println("点1(on)的坐标为:"+index);
System.out.println("点3的坐标为:"+pa);
System.out.println("点4的坐标为:"+pb);
}
} 展开
3个回答
展开全部
增加判断点到0,0的距离,哪个距离大,就是顺时针的,这是在你给的数据基础上判断的不过;
详细还得判断点1的位置
详细还得判断点1的位置
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
能直接把你的题目发出来吗?
追问
就想说明的那样
等腰三角形从顶点开始顺时针定义为1,3,4
的题目(😅)
来自:求助得到的回答
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询