Computer Applications
Give the output of following code and mention how many times the loop will execute?
int i;
for( i=5; i>=1; i--)
{
if(i%2 == 1)
continue;
System.out.print(i+" ");
}
Answer
Output of the above code is:
4 2
Loop executes 5 times. The below table shows the dry run of the loop:
| i | Output | Remark |
|---|---|---|
| 5 | 1st Iteration — As i % 2 gives 1 so condition is true and continue statement is executed. Nothing is printed in this iteration. | |
| 4 | 4 | 2nd Iteration — i % 2 is 0 so condition is false. Print statement prints 4 (current value of i) in this iteration. |
| 3 | 4 | 3rd Iteration — i % 2 is 1 so continue statement is executed and nothing is printed in this iteration. |
| 2 | 4 2 | 4th Iteration — i % 2 is 0. Print statement prints 2 (current value of i) in this iteration. |
| 1 | 4 2 | 5th Iteration — i % 2 is 1 so continue statement is executed and nothing is printed in this iteration. |
| 0 | 4 2 | As condition of loop (i >= 1) becomes false so loops exits and 6th iteration does not happen. |
Related Questions
Define a class to accept a number and check whether it is a SUPERSPY number or not. A number is called SUPERSPY if the sum of the digits equals the number of the digits.
Example1:
Input: 1021 output: SUPERSPY number [SUM OF THE DIGITS = 1+0+2+1 = 4, NUMBER OF DIGITS = 4 ]Example2:
Input: 125 output: Not an SUPERSPY number [1+2+5 is not equal to 3]To execute a loop 10 times, which of the following is correct?
- for (int i=11;i<=30;i+=2)
- for (int i=11;i<=30;i+=3)
- for (int i=11;i<20;i++)
- for (int i=11;i<=21;i++)