Java I';我有一个比较问题
我有一个非常愚蠢的问题,已经困扰了我几个小时了。我制作了一个程序来比较一组点的斜率,并通过四个具有相同斜率的点画一条线。我的问题是,我将初始斜率作为每个斜率的比较器。然后将初始值与数组中的每个点进行比较,如果初始比较器的斜率与下一个斜率相同,计数器将递增。我的问题是,我不想在for循环期间更改初始坡度,但我无法使其工作。代码如下,我知道我有点含糊不清,所以如果你需要更多的信息,尽管问Java I';我有一个比较问题,java,Java,我有一个非常愚蠢的问题,已经困扰了我几个小时了。我制作了一个程序来比较一组点的斜率,并通过四个具有相同斜率的点画一条线。我的问题是,我将初始斜率作为每个斜率的比较器。然后将初始值与数组中的每个点进行比较,如果初始比较器的斜率与下一个斜率相同,计数器将递增。我的问题是,我不想在for循环期间更改初始坡度,但我无法使其工作。代码如下,我知道我有点含糊不清,所以如果你需要更多的信息,尽管问 for(int initial = 0; initial < counter/2 ; initial +
for(int initial = 0; initial < counter/2 ; initial ++)
{
int comparator = 1;
for(int next = 1 ; next < counter/2 ; initial ++)
{
Point finalCompare = points[initial];
Point initialCompare = points[comparator];
Point initialPoint = points[initial];
int counter_2 = 0;
Point nextPoint = points[next];
double initialSlope = (initialCompare.y - initialPoint.y/ initialCompare.x-initialPoint.x);
double nextSlope = (nextPoint.y - initialPoint.y/ nextPoint.x - initialPoint.x);
if(initialSlope == nextSlope)
{
counter_2++;
StdOut.println("Counter: " + counter_2);
finalCompare = points[next];
}
if(counter_2 >= 3)
{
StdOut.println("got here");
initialPoint.drawTo(finalCompare);
break;
}
StdOut.println(counter_2);
}
StdOut.println("comparator");
comparator++;
}
}
for(int initial=0;initial=3)
{
StdOut.println(“到达这里”);
初始点。提取(最终比较);
打破
}
标准打印LN(计数器2);
}
标准输出打印项次(“比较器”);
比较器++;
}
}
你永远不会改变下一步
。我想你想要
for(int next = 1 ; next < counter/2 ; next++)
我假设您希望将初始化移出内部循环:
int counter_2 = 0;
for(int next = 1 ; next < counter/2 ; next++)
int计数器_2=0;
for(int next=1;next
除此之外,请使用调试器逐步检查代码,并查看每一步都做了什么。这将帮助您发现键入错误(如果您了解正在实施的算法,否则请先尝试了解该算法)。您永远不会更改
下一步。我想你想要
for(int next = 1 ; next < counter/2 ; next++)
我假设您希望将初始化移出内部循环:
int counter_2 = 0;
for(int next = 1 ; next < counter/2 ; next++)
int计数器_2=0;
for(int next=1;next
除此之外,请使用调试器逐步检查代码,并查看每一步都做了什么。这将帮助您发现键入错误(如果您了解正在实施的算法,否则请先尝试了解该算法)。您永远不会更改下一步。我想你想要
for(int next = 1 ; next < counter/2 ; next++)
我假设您希望将初始化移出内部循环:
int counter_2 = 0;
for(int next = 1 ; next < counter/2 ; next++)
int计数器_2=0;
for(int next=1;next
除此之外,请使用调试器逐步检查代码,并查看每一步都做了什么。这将帮助您发现键入错误(如果您了解正在实施的算法,否则请先尝试了解该算法)。您永远不会更改下一步。我想你想要
for(int next = 1 ; next < counter/2 ; next++)
我假设您希望将初始化移出内部循环:
int counter_2 = 0;
for(int next = 1 ; next < counter/2 ; next++)
int计数器_2=0;
for(int next=1;next
除此之外,请使用调试器逐步检查代码,并查看每一步都做了什么。这将帮助您查找键入错误(如果您了解正在实现的算法,否则请先尝试了解该算法)。这些行
double initialSlope = (initialCompare.y - initialPoint.y/ initialCompare.x-initialPoint.x);
double nextSlope = (nextPoint.y - initialPoint.y/ nextPoint.x - initialPoint.x);
我想他们没有做你想做的,记住/有优先权,所以首先要除掉initialPoint.y/initialCompare.x,然后剩下的操作,我想你要做:
double initialSlope = ((initialCompare.y - initialPoint.y)/ (initialCompare.x-initialPoint.x));
double nextSlope = ((nextPoint.y - initialPoint.y)/ (nextPoint.x - initialPoint.x));
这些线
double initialSlope = (initialCompare.y - initialPoint.y/ initialCompare.x-initialPoint.x);
double nextSlope = (nextPoint.y - initialPoint.y/ nextPoint.x - initialPoint.x);
我想他们没有做你想做的,记住/有优先权,所以首先要除掉initialPoint.y/initialCompare.x,然后剩下的操作,我想你要做:
double initialSlope = ((initialCompare.y - initialPoint.y)/ (initialCompare.x-initialPoint.x));
double nextSlope = ((nextPoint.y - initialPoint.y)/ (nextPoint.x - initialPoint.x));
这些线
double initialSlope = (initialCompare.y - initialPoint.y/ initialCompare.x-initialPoint.x);
double nextSlope = (nextPoint.y - initialPoint.y/ nextPoint.x - initialPoint.x);
我想他们没有做你想做的,记住/有优先权,所以首先要除掉initialPoint.y/initialCompare.x,然后剩下的操作,我想你要做:
double initialSlope = ((initialCompare.y - initialPoint.y)/ (initialCompare.x-initialPoint.x));
double nextSlope = ((nextPoint.y - initialPoint.y)/ (nextPoint.x - initialPoint.x));
这些线
double initialSlope = (initialCompare.y - initialPoint.y/ initialCompare.x-initialPoint.x);
double nextSlope = (nextPoint.y - initialPoint.y/ nextPoint.x - initialPoint.x);
我想他们没有做你想做的,记住/有优先权,所以首先要除掉initialPoint.y/initialCompare.x,然后剩下的操作,我想你要做:
double initialSlope = ((initialCompare.y - initialPoint.y)/ (initialCompare.x-initialPoint.x));
double nextSlope = ((nextPoint.y - initialPoint.y)/ (nextPoint.x - initialPoint.x));
旁注:编写单元测试确实会对您有所帮助。您可以测试基本情况(如仅包含两个点或三个点的数组)和更复杂的情况,以隔离问题所在。设置断点和使用调试器也有很大帮助。旁注:编写单元测试确实会对您有所帮助。您可以测试基本情况(如仅包含两个点或三个点的数组)和更复杂的情况,以隔离问题所在。设置断点和使用调试器也有很大帮助。旁注:编写单元测试确实会对您有所帮助。您可以测试基本情况(如仅包含两个点或三个点的数组)和更复杂的情况,以隔离问题所在。设置断点和使用调试器也有很大帮助。旁注:编写单元测试确实会对您有所帮助。您可以测试基本情况(如仅包含两个点或三个点的数组)和更复杂的情况,以隔离问题所在。设置断点和使用调试器也有很大帮助。