2014-01-22 6 views
-1

이 할당을 위해 가져 오기 becker.robots 파일을 사용하고 있습니다!Java - Beckers 로봇 패키지. 매개 변수 단계별 세분화

두 개의 사각형 모양에 여러 가지 '물건'을 넣을 클래스 DistributeBot (확장자는 RobotSE)을 만들어야합니다.

주요 방법은 다음 생성되면, 방법에 단일 호출 this.putThings();

내가 하나의 변수가 있어야 만들 오전 방법이라고 (나는 또한 단계적 정제를 사용하여 자신을 작성해야 매개 변수 포함) 매개 변수는 사각형의 크기를 정의합니다! 즉 (4)의 매개 변수는 '물건'의 4x4 사각형을 만듭니다.

로봇은 왼쪽에서 오른쪽으로 한 번에 한 줄씩 물건을 놓아야합니다! (한 줄이 표시되면 LHS로 이동하여 다음 줄을 표시해야합니다.)

매개 변수 i를 사용하여 메서드를 만드는 방법에 대해 확신 할 때마다 문제없이 시나리오를 완료 할 수있을 것이라고 생각합니다. 지정했습니다.

가정. 1. 로봇의 시작 위치는 항상 동일합니다. 즉, 1에서 시작합니다. 2. 로봇 배낭에는 두 개의 사각형을 표시하는 데 충분한 '물건'이 항상 있습니다.

누구나 가변 매개 변수를 사용하여 처음에이 메서드를 설정하는 방법에 대해 알 수 있습니다.

+0

** ** 당신은 ** 당신의 임무에 어떻게 접근 할 수 있을지 알고 있습니까? –

+0

우선, 저는 분명히 새로운 로봇 클래스를 만들고 새로운 생성자를 만들어야합니다! 같은 클래스 파일 내에서 단계적으로 세련미를 사용하여 위의 결론에 도달 한 다음 방법을 매개 변수를 만드는 방법을 알아 내면 다시 비행해야합니다! 즉 멀리 필자는 메서드를 만드는있어'공공 무효 putThings (int squareSize)'하지만 난 이걸 어떻게 해야할지 모르겠어 어떻게 매개 변수가 어떻게해야 정의를 얻을?! – user3223921

+0

'squareSize' 매개 변수로 할 일을 결정합니다. –

답변

0

당신이 당신의 방법은 질문 당신이 시도하고 간단한 부분으로 분해한다을 읽는 동안

Public void MakeSquare(int size) 
{ 
    for(int i = 0; i < size; i++) 
    { 
     for(int x = 0; x < size; x++) 
     { 
      //drop thing 
      //move right 
     } 
     for(int y = 0; y < size; y++) 
     { 
      //move left 
     } 
     //move up 
    }   
} 

를 시작해야합니다. 필요에 따라

시나리오의 가장 추상적 인 형태이며, 그래서 당신의 방법을 만드는 Build a square 시작, 당신은이 사각형을 만들 것입니다 당신이 방법을 만들 경우

//I want to move up until I hit size limit 
for each number in "the size you want" 
    //I want to move right and drop a thing, until I hit size limit 
    for each number in "the size you want" 
     drop a thing 
     move one right 
    endloop 
    //I want to move back to the LHS until I hit size limit 
    for each number in "the size you want" 
     move one left 
    endloop 
    //then make the move up 
    move up 
endlood 

그것을 무너 뜨리는 두 번 호출)

+0

대단히 감사합니다! 정말 감사하지만, 어떻게하면 변수가 매개 변수를 변경하면 작동합니까 4x4 크기의 사각형을 원하는 경우 '4'입력, '5'입력하면 여전히 작동합니까, 그것은 5x5 사각형 줄 것입니다!? 내가 이해하지 못하는 것은 내가 어떻게 매개 변수 논리를 만드는가하는 것이다. 임 무슨 뜻인지 확실하지! 그러나 지금까지 도움을 주셔서 감사합니다!? – user3223921

+0

나는 (테스트되지 않은) 코드와 함께 로직을 남겨 두었고, 내 생각의 과정을 볼 수 있었으면 좋겠다. 번역 방법을 볼 수있을 것이다. –

+0

기본적으로 코드에서 반복되는 데이터를 볼 때 변수에 넣는다. 여기서 '크기'사용) 한 번 설정하면됩니다 (패스 할 때). main 메소드에서 원하는만큼이 메소드를 여러 번 호출 할 수 있습니다. –