为什么我的java slope方法会得到负号?

为什么我的java slope方法会得到负号?,java,Java,我正在尝试编写一个java项目。我在斜率法上有问题!我正在使用讲师提供的测试仪来运行和测试我的代码。当我运行程序时,结果显示预期输出为1.5,但我得到-1.5。我不知道我哪里做错了。提前谢谢你 //Segment.java 公共类段实现了段接口{ //包含线段端点的两个点 专用点p1; 专用点p2; //将端点设置为新的默认构造函数 //值为(0,0)和(4,4)的点 公共部分(){ //这(0,0,4,4); 此点p1=新点(0,0); this.p2=新点(4,4); } //接受的参数化构

我正在尝试编写一个java项目。我在斜率法上有问题!我正在使用讲师提供的测试仪来运行和测试我的代码。当我运行程序时,结果显示预期输出为1.5,但我得到-1.5。我不知道我哪里做错了。提前谢谢你

//Segment.java
公共类段实现了段接口{
//包含线段端点的两个点
专用点p1;
专用点p2;
//将端点设置为新的默认构造函数
//值为(0,0)和(4,4)的点
公共部分(){
//这(0,0,4,4);
此点p1=新点(0,0);
this.p2=新点(4,4);
}
//接受的参数化构造函数(intx1、inty1、intx2、inty2)
//并创建和设置端点
公共段(整数x1、整数y1、整数x2、整数y2){
//该点p1=新点(x1,y1);
//此点p2=新点(x2,y2);
如果(x1==x2&&y1==y2){
抛出新的IllegalArgumentException(“积分长度不能为0!”);
} 
否则{
该点p1=新点(x1,y1);
此点p2=新点(x2,y2);
}
}
//接受(点p1、点p2)并同时设置两者的参数化构造函数
//端点指向传入点的深度副本。
//确保检查两个点是否相等。这将是一个错误
//长度为0的理论“段”是不允许的,因此抛出一个新的
//非法辩论例外。
公共段(p1点、p2点){
this.p1=新点(p1.getX(),p1.getY());
this.p2=新点(p2.getX(),p2.getY());
如果(p1等于(p2)){
抛出新的IllegalArgumentException(“点不能有相同的值!”);
} 
}
//复制接受段并初始化数据的构造函数
//正在创建的新段)与已创建的段相同
//收到。
公共部分(其他部分){
这(其他的p1,其他的p2);
//if(other.p1==other.p2){
//抛出新的IllegalArgumentException(“取消定义!”);
//}
}
/*
*slope方法将线段的坡度返回为双精度。如果线段
*是垂直的,坡度是未定义的。在这种情况下,Java将返回
*Double.正无穷大或Double.负无穷大,取决于您选择的方式
*减法计算斜率。您可以检查是否被零除或
*让Java进行计算。但是,您的要求是始终返回
*如果斜率未定义,则为Double.正_∞。
*
*而且,奇怪的是,Java可能会为水平坡度返回0或-0。
*您的要求是,对于水平线,始终返回0的坡度
*(不要总是返回Java计算)。
*/
公共双坡({
if(p1.getY()==p2.getY()){
返回0;
}
else if(p1.getX()==p2.getX()){
double inf=double.POSITIVE_∞;
返回inf;
}
否则{
返回((双精度)(p2.getY()-p1.getY())
/(p1.getX()-p2.getX());
}
}  
这是我代码的一部分!

就在这里:

return ((double) (p2.getY() - p1.getY())
                / (p1.getX() - p2.getX()));
应该是

return ((double) (p2.getY() - p1.getY())
                / (p2.getX())-p1.getX() );

因为斜率公式表示m=(y2-y1)/(x2-x1)

我看不出有什么不同!虽然我复制并粘贴了代码,但没有工作!输出仍然相同…!哦,我明白你的意思了!我不知道为什么它在这里以不同的顺序显示,但在我的代码中它是y2-y1/x2-x1。谢谢!它现在工作了吗?因为如果这是唯一的错误,那么该代码在功能上是正确的。还有,你呢可以简单地
返回Double.POSITIVE_INFINITY;
不需要创建一个值来保存它:)现在我只得到0和无穷大上的错误。我应该得到零和无穷大,但我得到负零和负无穷大!!知道我的错误是什么吗?你怎么得到负0?你是说当你使用0,0和0,0作为输入时,你得到负吗当您使用inf、inf和inf、inf作为输入时,您得到的是负无穷大?请尝试使用该问题所需的最小代码。所有注释/注释掉的代码/老师的说明都不是必需的,它们会分散您对问题的注意力:)