0
제가 는 I는 다음과 같은 방법으로 임의의 번호를 선택할 0-9에 인덱스에서 정수 값을 저장하는 배열을 가지고, 지금동안 스칼라 루프
val r = new scala.util.Random
var a=r.nextInt(10)
을 경우에 인덱스 a
의 값 배열이 10이면 다른 난수를 선택해야합니다. 는 그래서 arr[random number generated]
동안 우리는 숫자를 원하기 때문에 우리는 난수를 생성 유지, 10입니다 arr[random nnumber]!=10
그래서, 같은 코드를 작성할 때 : 그것은 무한 루프에 무슨 일
while(arr2(a)==10)
a=r.nextInt(10)
합니다. 그러나 코드를 다음과 같이 작성하면
if(arr2(a)==10)
while(arr2(a)==10)
a=r.nextInt(10)
이 잘 작동합니다. 왜 이런 일이 일어나는 걸까요? 귀하의 경우에 아마도
것은 당신이 우리에게 줄 수 설명하는 동작을 재현하는 완전한 실행 가능한 코드 샘플? – sepp2k
마지막으로 선택한 솔루션이 무엇이든 관계없이 배열에 값 10 만 포함되어 있지 않은지 확인하거나 수행 시도 횟수의 상한을 설정하십시오. –