One of the common programming practice question thrown to beginners is to write a program to calculate sum of digits in a integral number. For example, if input is
123456 then output or sum of digit is
(1+2+3+4+5+6) = 21. Additional condition is you can not use any third party or library method to solve this problem. This program is not as simple as it looks and that's why its a good exercise, you must know some basic programming techniques e.g. loops, operators, and logic formation to solve this problem. Let's see how we can solve this problem using Java programming language. In order to calculate sum of digits we must get digits as numbers. So your first challenge is how do you get the digits as numbers? How do we extract 6 out of
123456? If you have done exercises like
palindrome check or
reversing number, then you should know that there is very old technique of getting last digit from a number by using modulus operator. If we do
123456%10 then we will get 6, which is last digit. In order to get all digits we can use a loop, something like while loop. Now our next challenge is how do we reduce number in each iteration so that our loop will finish as soon as we are done with all digits of number? Now coming from same palindrome problem, you can use technique of dividing number by 10 to get rid of last digit or reduce it by factor of 10. For example
123456/10 will give you
12345, which is one digit less than original number. So you got your end condition for while loop, check until number is not equal to zero. These two techniques are very important and can be used in variety of problem, so always remember these.