Question: The following Java method sumDigits() intends to accept an integer as a parameter and calculate the sum of all digits. For example, sumDigits (12345)

The following Java method sumDigits() intends to accept an integer as a parameter and calculate the sum of all digits. For example, sumDigits (12345) should return 15. However, the following implementation contains program errors. public static sumDigits (int num) { int sum= 0; while (num> 0) { num/= 10; } sum += num % 10; } return sum; (a) Illustrate three key program error types using the above program code. (b) Correct the bugs of the above program. (c) Rewrite the above program code using a for-loop instead of a while-loop. (d) Write a Java main() method which tests the sumDigits() method by generating 10 random numbers between 0 to 99999. (6 marks) (6 marks) (8 marks) (10 marks)
Step by Step Solution
There are 3 Steps involved in it
Get step-by-step solutions from verified subject matter experts
