아래의 코드에서 for 루프를 반복적으로 여러 번 반복 할 수 있습니다. 예를 들어 두 for 루프 모두 10 회 반복되지만 문자열을 함께 사용하면 문자열 "hi"가 20 회 이상 인쇄됩니다.중첩 for 반복 횟수를 어떻게 계산합니까?
내부 루프는 몇 번 반복합니까?
for(int j=0; j<10; j++)
for(int k=10; k>0; k--)
System.out.println("hi");
아래의 코드에서 for 루프를 반복적으로 여러 번 반복 할 수 있습니다. 예를 들어 두 for 루프 모두 10 회 반복되지만 문자열을 함께 사용하면 문자열 "hi"가 20 회 이상 인쇄됩니다.중첩 for 반복 횟수를 어떻게 계산합니까?
내부 루프는 몇 번 반복합니까?
for(int j=0; j<10; j++)
for(int k=10; k>0; k--)
System.out.println("hi");
각 반복 횟수 (이 경우 10 * 10)를 곱하면되는 것처럼 간단합니다.
int count = 0;
for(int j=0; j<10; j++){
for(int k=10; k>0; k--){
count++;
}
}
System.out.println("The nested loop iterated " + String.valueOf(count) + " times!");
편집 : 당신이이만큼 간단하지 않다 발견하는 경우 다음과 같은 시험을 수행 할 수 있습니다 무엇을 이해하는 아마 쉬운 방법은 계속된다 다룰 때
int total_count = 0;
for(int j=0; j<10; j++){
System.out.println("The outer loop has iterated " + String.valueOf(j+1) + " times!");
System.out.println("Executing the inner loop");
int local_count = 0;
for(int k=10; k>0; k--){
local_count ++;
total_count ++;
System.out.println("Inner loop #" + String.valueOf(j+1) + " has iterated " + String.valueOf(local_count) + " times!");
System.out.println("The inner loop's total iterations are " + String.valueOf(total_count) + " times!");
}
}
System.out.println("The nested loop iterated " + String.valueOf(total_count) + " times!");
이 테스트는 중첩 루프가 100 번 반복되는 것을 인쇄합니다. 그것은 다른 루프와 별개로 보지 않는다는 것을 의미합니까? – coderrr
외부 루프가 반복 할 때마다 k 값이 10으로 재설정되므로 내부 루프가 다시 시작된다는 점에서 분리되어 있습니다. 외부 루프가 10 번 반복되고 내부 루프가 외부 루프 INSERT이기 때문에 내부 루프가 10 번 실행되고 10 번 (10x10) 반복됩니다. 따라서 내부 루프 내의 코드는 100 번 실행됩니다. – ChickenFeet
나는 이해하기 시작했다고 생각한다. 그러나 "** 내부 ** 루프가 몇 번 반복합니까?"라고 묻는 중입니다. 그리고 ** "중첩 된 ** 반복은 몇 번 반복합니까?" 다른? 서로 다르면 내부 루프가 10 번 반복되고 중첩 루프가 100 번 반복됩니다. 내가 틀렸다면 나를 바로 잡아주세요. – coderrr
중첩 루프는 항상 첫 번째 루프 j
을 행으로 표시하고 두 번째 루프 k
을 열로 시각화합니다.
행은 left-to-right
가서 열 top-to-bottom
이동합니다. row x column
크기를 곱하면 대개 얼마나 많은 반복이 발생합니까?
10 가지를 10 번 수행하면 100 가지를 완료했습니다. –
@ElliottFrisch가 말했듯이, "hi"가 100 번 인쇄 될 것입니다. – mc20
오, 알았습니다. 그래서 내부 루프가 10 번 반복한다고 말했을 때 나는 맞습니까? – coderrr