给定距离和比率更新X和Y坐标?
问题描述:
我正在开发一个描述汽车行驶距离的Java项目。功能驱动器有三个参数:一个用于行驶距离,一个用于x比率,另一个用于y比率。 下面是函数的描述:给定距离和比率更新X和Y坐标?
驱动器(INT距离,双xRatio,双yRatio)应该采取的 期望距离行进为一个整数,并且两个双值 ,它们一起指定方向作为水平距离的比例为 。例如,如果xRatio = 1且yRatio = 2,则对于每1个单位(正x)的 ,汽车将向上行驶2个单位(正y)。 xRatio和yRatio的负值分别对应于 向左和向下移动。给定距离和方向, 此方法应该正确计算结束坐标 (截断为整数)。它也应该正确地减去使用的燃料的数量 。如果指定的距离要求大于目前汽车的燃油量,则该汽车应当尽可能地以 的速度行驶,直到它空着并将该文本打印到控制台上: “开车后燃油耗尽x英里“。 (用x取代正确的值 )。该方法应返回实际驱动的英里数 。
这里是我的驱动功能至今:
public double drive(int distance, double xRatio, double yRatio)
{
double a = xRatio;
double b = yRatio;
double r = 0;
r = (a*a) + (b*b);
r = Math.sqrt(r);
double finalX = (xRatio * distance)/r;
double finalY = (yRatio * distance)/r;
return 0;
}
我有辆车的最终坐标,但我不知道如何将气体如何得到更新,开始工作了当汽车行驶时,以及如果汽油用尽时如何停止。任何帮助,这将不胜感激。
答
gasRemaining是代表英里的变量离开,天然气将让你驾驶
public double drive(int distance, double xRatio, double yRatio)
{
double a = xRatio;
double b = yRatio;
double r = 0;
r = (a*a) + (b*b);
r = Math.sqrt(r);
if (distance > gasRemaining){
system.out.println("Ran out of gas after driving " + gasRemaining + " miles");
double finalX = (xRatio * gasRemaining)/r;
double finalY = (yRatio * gasRemaining)/r;
gasRemaining = 0;
return 0;
}
else {
double finalX = (xRatio * distance)/r;
double finalY = (yRatio * distance)/r;
gasRemaining = gasRemaining - distance;
return 0;
}
}
这是一个数学问题或编程问题? – shmosel
你为什么要返回0? –
我都猜到了。我希望找到的一件事是使用xRatio,yRatio和距离来获得结束坐标的正确数学方法。我相信我现在拥有的是做这部分的正确方法,但如果不是,我想知道。 现在作为占位符返回0。我不知道实际行进的距离,这是该方法应该返回的。 – CooperHudnall