2017-10-20 6 views
-2

나는 주어진 거리를 운전하는 자동차를 묘사하는 자바 프로젝트를 진행 중이다. 기능 드라이브에는 세 가지 매개 변수가 있습니다. 하나는 이동 거리, 하나는 x 비율, 다른 하나는 y 비율입니다. 함께, 방향을 지정하는 정수로 여행 할 원하는 거리를 취해야주어진 거리와 비율로 X와 Y 좌표를 업데이트합니까?

드라이브 (INT 거리 이중 xRatio 이중 yRatio), 두 배의 값 : 여기 이 함수의 설명이다 수평 거리와 수평 거리의 비율은 입니다. 예를 들어, xRatio = 1 및 yRatio = 2 인 경우 의 경우 오른쪽 (양수 x)마다 1, 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; 

    } 

내가 차의 최종 좌표를 가지고 있지만, 나는 가스가 업데이트되는 방법을 작업을 시작하는 방법을 잘 모르겠어요 자동차가 주행 할 때, 그리고 가스가 다 떨어지면 차를 멈출 수있는 방법. 이것에 대한 도움을 주시면 감사하겠습니다.

+0

이 수학 질문이나 프로그래밍 문제인가를 구동 할 것 왼쪽입니까? – shmosel

+0

왜 0을 돌려 주나요? –

+0

나는 둘 다 가정합니다. 내가 찾고자하는 한 가지는 xRatio, yRatio 및 거리를 사용하여 끝 좌표를 얻는 올바른 수학적 방법입니다. 나는 내가 지금하고있는 것이 올바른 부분이라고 생각하지만 그렇지 않다면 나는 알고 싶다. 지금은 장소 소유자로 0이 반환됩니다. 나는 실제 거리가 아직 멀었다는 것을 알지 못한다. – CooperHudnall

답변

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; 
} 
} 
관련 문제