비디오: Microsoft Azure OpenDev—June 2017 2024
Java의 향상된 for 루프를 중첩하는 방법을 이해하려면 슬롯 머신에 대해 생각해보십시오. 결과를 결정할 간단한 코드를 작성한 후에는 더 복잡한 문제에 대해 질문합니다. "슬롯 머신의 4 개 심볼에 가능한 3 릴 조합을 모두 나열 할 수 있습니까? " 그래 넌 할수있어. 이 코드는 어떻게하는지 보여줍니다.
import static java. 랭. 체계. 아웃; (Symbol leftReel : Symbol. values ()) { for (Symbol middleReel ())에 대한 ListCombinations {enum Symbol {체리, 레몬, 금귤, 루타 바가} : 기호 값 ()) { for (Symbol rightReel : 기호 값 ()) {out. 인쇄 (leftReel); 아웃. print (""); 아웃. print (middleReel); 아웃. print (""); 아웃. println (rightReel); } } } }} 이 프로그램을 실행하면 64 줄의 출력을 얻습니다.
표시 할 수있는 4 개의 기호 각각에 대해)
(중간 릴에 표시 할 수있는 4 개의 기호 각각에 대해), >에 대해 ( 가 오른쪽 릴에 나타날 수있는 4 개의 심볼 각각에 대해) 세 릴의 심볼을 표시합니다. 벚꽃 기호로 외부 루프를 시작합니다. 그런 다음 중간 루프로 행진하여 체리 심볼로 루프를 시작하십시오. 그런 다음 내부 루프로 진행하여 체리 (의도 한 말장난)를 선택합니다. 마침내, 체리 설정에 맞춘 루프마다 체리 체리 체리 조합을 표시합니다.
체리 체리 체리를 표시 한 후에도 가장 안쪽 루프의 다른 값을 계속 사용합니다. 즉, 오른쪽 릴의 값을 체리에서 레몬으로 변경합니다. 이제 세 릴 값은 체리 체리 레몬이므로이 값을 화면에 표시합니다.
가장 안쪽의 (오른쪽 릴) 루프의 4 가지 값을 모두 소모 한 후에는 그 가장 안쪽 루프에서 빠져 나옵니다. 그러나 점프를하면 middle 루프의 맨 위로 돌아가서 middleReel의 값을 체리에서 레몬으로 바꿀 수 있습니다. 이제 leftReel과 middleReel의 값은 체리와 레몬입니다.
중간 루프에서 레몬으로 바꾼 후에, 당신은 다시 최하위 루프로 들어가게됩니다. 마치 이전에이 내부 루프를 본 적이없는 것처럼 루프의 변수를 체리로 설정합니다.맛있는 체리 레몬 체리 조합을 표시 한 후 가장 안쪽 루프의 값을 변경하기 시작합니다.
루프는 64 개의 모든 조합을 표시 할 때까지 계속 진행됩니다. 아휴.