이 코드를 작동시킬 수없는 것 같습니다. 내가하고있는 일은 배열에 2 자리 숫자의 가능한 모든 조합을 채우는 것입니다 (이 숫자는 각각 모양과 색상을 나타냅니다). 그런 다음이 배열을 사용하여 이전 배열에있는 요소의 가능한 모든 조합을 만드는 2 차원 배열을 채우려고합니다. 어떤 이유로 든 제 2D 배열은 어떤 종류의 조합 대신에 모든 '21'로 채워집니다.가능한 모든 조합을 찾는 데 도움이 필요합니다. 거의 완료 방법
필요하다면 나머지 코드를 클래스에 게시 할 수 있지만 다소 길다. 이 메서드의 마지막 루프는 테스트 용으로 인쇄하기 위해 사용되며 나중에 삭제됩니다.
public void combinations()
{
combinations = new int[numShapes*numColors];
int index = 0;
for(int l = 1; l <= numShapes; l++)
for(int h = 1; h <= numColors; h++)
if(index + 1 != combinations.length + 1)
combinations[index++] = (l*10) + h;
else
break;
int[][] combs = new int[(int)Math.pow((numShapes*numColors),numPositions)][numPositions];
//Fills the array with all '21' , fix this
int ind = 0;
for(int f = 0; f < 16; f++)
for(int i = 0; i < numShapes; i++)
for(int j = 0; j < numColors; j++)
if(ind != combs.length+1){
combs[ind] = new int[]{combinations[numShapes], combinations[numShapes], combinations[numColors]};
ind++;
}
else
break;
for(int p = 0; p < 2; p++){
for(int g = 0; g < 3; g++){
System.out.print(testFormat(combs[p][g]/10, combs[p][g]%10) + " ");
}
System.out.println();
}
}
조합이 무엇인지 분명하지 않습니다. '나는이 코드를 작동시킬 수 없다. 내가하고있는 일은 배열에 가능한 모든 2 자리 숫자의 조합을 채우는 것입니다. ' 배열을 00-99로 채우는 것을 의미합니까? – Cruncher
문제가 생겼을 때 도움이 될 것입니다. http://stackoverflow.com/questions/11343848/java-permutation-of-arraylist-elements-integer-cant-get-it-to-work-proper –
그랜드 마스터의 게임을 프로그래밍하고 있습니다. 이 게임에서 사용자는 모양과 색상 조합의 길이가 n 인 코드를 작성합니다. 저는 n을 5로 제한하고 모양과 색상의 수를 5로 제한하고 있습니다. 저는 1-5 자릿수의 색깔과 1-5 자릿수의 자국을 표현했습니다. 예를 들어 내 프로그램의 11은 'Circle Red'입니다. 나는 가능한 모든 조합의 색상/모양/위치에 사용자 입력이 배열을 채우려고 시도하고 있습니다. 이 방법은 4 클래스 프로그램의 일부이므로 엄청난 텍스트의 벽을 게시하고 싶지 않았습니다. 미안 하하. – user2757330