안녕하십니까, 3 개의 문자 (X, O 및 공백 "")로 채워진 격자 배열을 인쇄해야하는 문제가 있습니다. 이러한 문자는 사용자가 특정 비율 (X와 O는 항상 동일 함) 만 차지하도록 지정됩니다. 나는 배열에 대해 매우 날카로운 것이 아니므로, 문제를 배열 방식으로 평가하는 방법이나 배열이이 경우에 필요한지 정확히 알 수는 없습니다.자바 : 특정 문자가 그리드의 일정 비율 만 차지하도록 지정된 2D 문자 배열을 설정하는 방법은 무엇입니까?
저는 Math.Random을 통합하고 만약에 그것에 대해 갈 경우를 통해 일종의 케이스 시스템을 사용함으로써이 문제에 접근했습니다. 내 문제는 문자의 인쇄를 제한하는 방법이 전적으로 확실하지 않다는 것입니다.
유래의 규칙과 일반 예절 당으로공공 정적 무효 assignCellTypes는 (문자 [] [] 조직, INT percentBlank, INT percentX) {
int n = 5;
int i;
int j;
char[][] box = new char [n][n];
int a = 0;
int b = 0;
int c = 0;
for (i = 0; i < n; i++) {
for (j = 0; j< n; j++) {
double q = Math.random();
if (q >= .5 && a <= percentBlank) {
System.out.print(" ");
a = a + 1;
}else if (q <= .5 && q >= .25 && b/(n*n) <= percentX) {
System.out.print("O");
b = b + 1;
} else if (q <= .25 && c/(n*n) <= percentX) {
System.out.print("X");
c = c + 1;
}
}
} System.out.println();
}
, 방금 이미 넣어하려면 나는이 문제에 대한 답을 밝힐 누군가를 찾고 있지 않다. 나는이 형식을 사용하기 위해 사용할 수있는 형식 또는 몇 가지 다른 접근 방법이 있는지, 그리고이 문제의 배열 부분을 머리에 감쌀 수 있도록 약간의 팁 또는 2 개가 있는지 알고 싶습니다. 이 도움을 받으려면 대단히 감사하게 생각합니다. 지금은 며칠 동안이 일을 열심히 시도했지만 아무 것도하지 않고 많이 올랐습니다. 고급 시간 내 주셔서 감사합니다. 당신이 할 수있는
, 당신은 2 가지 방법으로 작업 할 수 있습니다 1 배열'box [] []'에 값을 저장하고 출력한다. 2. 콘솔 출력에 직접 연결하십시오. – SkyMaster