나는 학교에서 운동에 도움이 필요합니다. 1
에 10
할 수있는 유일한 배열에서 임의 숫자가 다른 배열로 다른 배열로 자바에서
- 숫자
25,50,75,100
:montab[] = {1,2,3,4,5,6,7,8,9,10,25,50,75,100}
다음과 같은 규칙 :나는 다음과 같은 배열에서 6 개 무작위 정수 배열을 만들 필요가 배열에서 각각 두 번만 발생합니다.
지금은 첫 번째 규칙을 시도했지만 드문 경우지만 한 번 이상 두 번 이상 나타납니다.
여기 내 코드입니다 :
내 테스트가 완전히 옳지 않은 것을 알고public class Exo7bis {
public static void main (String[] args){
Random random = new Random();
int montab[] = {1,2,3,4,5,6,7,8,9,10,25,50,75,100};
int[] ar1 = new int[6];
int j = 0, compteur25 = 0, compteur50 = 0, compteur75 = 0, compteur100 = 0;
for (int i = 0; i < ar1.length; i++) {
ar1[i] = (montab[new Random().nextInt(montab.length)]);
if (ar1[i] == 25) {
compteur25++;
if (compteur25 > 1) {
while (ar1[i] == 25)
ar1[i] = (montab[new Random().nextInt(montab.length)]);
}
}
if (ar1[i] == 50) {
compteur50++;
if (compteur50 > 1) {
while (ar1[i] == 50)
ar1[i] = (montab[new Random().nextInt(montab.length)]);
}
}
if (ar1[i] == 75) {
compteur75++;
if (compteur75 > 1) {
while (ar1[i] == 75)
ar1[i] = (montab[new Random().nextInt(montab.length)]);
}
}
if (ar1[i] == 100) {
compteur100++;
if (compteur100 > 1) {
while (ar1[i] == 100)
ar1[i] = (montab[new Random().nextInt(montab.length)]);
}
}
}
for (int i = 0; i < ar1.length; i++) {
System.out.print(ar1[i] +" ⎢ " + "\t");
}
}
}
, 나는이 문제를 확인하지만 적절한 해결책을 찾을 수 없습니다.
누군가가 나를 도울 수 있거나 나에게 조언 할 수 있다면 멋질 것입니다.
미리 감사드립니다. 이 진정으로 임의의 숫자를 보증하지 않습니다하지만, 실제로 간단한 해결책이있다
안녕, 는 응답 주셔서 감사합니다. 25를 넘는 숫자가 사용되면 0을 넣는 것에 대해 생각하지 않았습니다. 2 개의 작은 질문이 있는데 첫 번째 질문은 주 코드의 변수 수에 관한 것입니다. 필요한 것이거나 삭제할 수 있습니까? 우리가 메인 코드에서 나중에 사용하지 않는 것처럼 쓸모없는 것처럼 보입니다. 제 두 번째 질문은 당신의 방법에 관한 것입니다. 저는 자바를 처음 접했고 일반적으로 코딩하는 것에 대해 완전히 이해하고 있습니다. 마지막 줄은 무엇입니까? return count == 2? 허위 사실; 저에게 줄을 상세하게 표현해 주시겠습니까? 감사합니다. – Jeremy
@ 제레미 아니, 거기에 카운트 변수가 필요하지 않습니다, 왜냐하면 당신이'25,75,100'을 한 번 또는 한번만 원한다고 확신하지 못하기 때문에 거기에 넣었습니다. 그곳에서 필요하지 않은 것을 제거 할 수 있으며, 메소드의 마지막 명령문은 count == 2이면 true를 반환하고 else가 false를 반환하면 조건을 검사합니다. 삼항 연산자'result = testCondition? value1 : value2' –