56.0k views
0 votes
What does the following fragment of code display? What do you think the programmer intended the code to do, and how would you fix it? int product = 1; int max = 20; for (int i = 0; i <= max; i++) product = product * i; System.out.println("The product is " + product);

1 Answer

4 votes

Answer:

0

Step-by-step explanation:

Given the code segment:

  1. int product = 1;
  2. int max = 20;
  3. for (int i = 0; i <= max; i++)
  4. product = product * i;
  5. System.out.println("The product is " + product);

Since the counter i in the for loop started with 0, and therefore product * i will always be 0 no matter how many rounds of loop to go through.

The code is likely to perform factorial calculation. To do so, we need to change the starting value for the counter i to 1.

  1. int product = 1;
  2. int max = 20;
  3. for (int i = 1; i <= max; i++)
  4. product = product * i;
  5. System.out.println("The product is " + product);

User Keith G
by
5.3k points