2016-10-16 1 views
0

가능한 해결책을 찾기 위해 토끼 구멍을 쫓는 2 일 동안이 임무에 묻혔습니다. 저는 초보자 인 자바입니다. 그래서 이걸 만들만큼 어렵지는 않을 것이라고 확신합니다.자바 - 루프에서 사용할 수있는 문자열에이 문자열을 인쇄해야합니다.

악의적 인 Java Bean Machine을 프로그래밍하려고합니다. 교수님은 클래스 경로가 "R" "L"만 포함하는 String 변수를 반환하기를 원합니다. 드롭 된 공의 경로를 나타냅니다.

각 공에는 고유 한 경로가 있어야합니다 ... 경로를 얻을 수는 있지만 for/if 문 외부의 문자열에 인쇄 할 경로를 얻을 수 없습니다.

여기에 그의 지시 사항이 있습니다 ... 내가 이것을 잘못 해석하고 있는지 확인할 수있는 경우에 대비하여.

도와주세요 !! 이것을 통해 선별 해 주셔서 미리 감사드립니다 ....

내 코드까지 지금까지 ******** 제안을 반영하도록 코드를 업데이트했습니다 ... 감사합니다 ... ****** *********** 새로운 문제가 일렬로 문자의 일련의 반복입니다 ... 난 단지 6 문자의 문자열 ... (LRLLRL)

public class Path { 
    StringBuilder myPath; 

    public Path() { 
     myPath = new StringBuilder(); 

    } 

    void moveRight() { 

     myPath.append("R"); 

    } 

    void moveLeft() { 
     myPath.append("L"); 

    } 

    public void fallLevels(int levels) { 

     levels = 6; 

     for (int i = 0; i < (levels); i++) { 

      if (Math.random() < 0.5) { 
       this.moveRight(); 

      } else { 
       this.moveLeft(); 

      } 

     } 

    } 
public String getPath() { 

    System.out.print(myPath.toString()); 

    return myPath.toString(); 

} 

}

필요

} ******는

여기

입니다 *************** ... 모두가 ...이 클래스는 이제 하나의 볼에 대한 올바른 문자열을 반환 감사 내 코드는 지금까지 f 또는 여러 개의 공 ... 나는 6 문자 시퀀스의 긴 연속 문자열을 얻을 수 있습니다 ... 나는 각 문자열을 검색 가능한 문자열이 필요합니다 ... 나는 Path 클래스를 변경해야하는지, 아니면 simulateGame() 메소드. 나는이 방법은 올바른 가야 ...이이 클래스의 전체 코드가 아닙니다 *** ...

public class BeanMachine { 
int numberOfLevels; 
int[] ballsInBins; 
Path thePath = new Path(); 

public BeanMachine(int numberOfLevels) { 
    this.numberOfLevels = 6; 
    ballsInBins = new int[this.numberOfLevels + 1]; 
    // this.numberOfLevels + 
} 

public void simulateGame(int number) { 



    //looping through each ball 
for (int i = 0; i < numberOfLevels -1; i++) { 
    thePath.fallLevels(0); 


     } 
thePath.getPath().toString(); 

     }    

을 ...이 혹 이후에 걸릴 수 있다고 생각 다시 한번 감사드립니다 계속 ....

+0

'루프'에 추가하십시오 (루프를 반복 할 때마다 다시 설정하는 대신). 'loop + = "R";'* or *'loop + = "L"'. 나머지 코드 (루프가 포함 된 메서드 외부)는 실제로 아무 것도 수행하지 않습니다. –

+0

lol, 나는 알고있다. ... 나는 단지 나의 시행 착오로 나의 코드를 더 악화시키고있는 것처럼 느낀다. – user7026854

+0

좋아, 그래서 항목을 추가하려면 StringBuilder가 필요합니다 .. 올바른? 또한 어쩌면 나는 그의 지시를 게시 할 수있다 ... 나는 내가 왜 moveRight와 그것을 해야할지에 대해서 잡히고 있다고 생각한다. ... – user7026854

답변

0

문제를 코드로 :

if (Math.random() < 0.5) { 
       **loop = this.myPath = "R";** 
      } else { 
       **loop = this.myPath ="L";** 

      } 

변경이에 : wron가있는 곳에 그냥 추가

if (Math.random() < 0.5) { 
       **loop = this.myPath + "R";** 
      } else { 
       **loop = this.myPath + "L";** 

      } 

** 강조 g 코드에서

+0

시간을내어 도와 주셔서 감사합니다. 나는 코드를 개편했고, 메소드 moveRight와 Left를 호출하기를 원한다. 그래서 나는 그들을 루프에서 호출하려고 노력했다. – user7026854

+0

위의 질문에 대한 답변이있는 경우 대답으로 수락하거나 위로 투표하는 데 도움이되었는지 확인하십시오. 당신의 임무와 행운을 빕니다 –

+0

나는 그것을 표시했다. 그러나 내가 새롭기 때문에 그것은 당신의 응답을 upvote하게하지 않을 것이다. ..... 나는 매우 감사한다. – user7026854

관련 문제