1
,자바 뮤 테이터 : 나는이 자바 뮤 테이터 setBoard이
public void setBoard(Cell[] board){
for(int i=0; i < board.length; i++)
this.board[i] = new Cell(0, "E");
makeChutes(numChutes);
makeLadders(numLadders);
}
makeChutes 및 makeLadders가 setBoard와 같은 클래스의 방법이 있습니다를 매개 변수 통과 대 초기화합니다. 그들은 활주로와 사다리를 무작위로 배치합니다. numChutes 및 numLadders는이 클래스의 생성자에서 가져옵니다.
처음으로 빈 보드를 설정 한 mutator를 만든 다음 몇 개의 낙하산과 사다리를 배치했습니다. 그러나 제 교수는 setBoard 메소드가 보드를 초기화해서는 안되며 매개 변수로 전달되는 것을 설정해야한다고 말합니다. 임 무슨 뜻인지 정확히 모르겠다.
셀은 이러한 맥락에서
public class Cell{
private String type;
private int space;
public Cell(){
}
public Cell(int m, String r){
this.space = m;
this.type = r;
}
public void setType(String r){
this.type = r;
}
public void setSpace(int m){
this.space = m;
}
public boolean isChute(){
return type.equals("C");
}
public boolean isLadder(){
return type.equals("L");
}
public boolean isEmpty(){
return !type.equals("C") && !type.equals("L");
}
public String toString(){
return this.type + Math.abs(this.space);
}
}
내가 이런 짓을하면 어떻게 보드를 초기화하는 것입니다 : 구현은 아주 잘 간단하게 예를 들어, 전달 된 것과
board
의 현재 값을 대체 할 수 있을까? 즉, 생성자에서 낙하산과 사다리 배치 – myacobucci초기 보드 값, 낙하산과 사다리를 설정하는 로직을 사용하여 클래스에서'protected void initialize()'메소드를 정의하고 생성자에서이 메소드를 호출 할 수 있습니다. 또는 논리를 생성자에 직접 넣을 수도 있습니다. – Perception