Pages

Tuesday, November 19, 2019

Java Program To Add All Individual Numbers In A String

1. Overview


In this tutorial, You will learn how to calculate the sum of all numbers present in a string. In most of the interviews or programming HackerRank tests these types of questions will be asked to write a java program to add all numbers in a string.

String may have characters + numbers. But we need to sum only numbers if any numbers are present. If it does not have numbers then print '0'.

java-program-string-add-digits


Examples:

Example 1:

Input: java2program
Output: 2

Example 2:

Input: java234programs56
Output: 20

2 + 3 + 4 + 5 + 6

Example 3:

Input: hello!!world
Output: 0

2. Java Program To Add All Digits In A String


In the below example program, We are running a for loop from index 0 to length -1. First initialized a sum variable digitSum with '0'.
Taking each character from the input string and checking the character is digit or not using  Character.isDigit() method. Character.isDigit() method returns true if char is a numeric value. If we found the numeric value then next is to convert the found character to an int value. Character class has a static method Character.getNumericValue() which is to convert char to int. Repeat the same logic to all characters in the string. Finally, digitSum will be having the sum of all digits.

package com.javaprogramto.engineering.programs;

public class StringAddAllDigits {

    public static void main(String[] args) {

        // Input 1
        String input1 = "java2program";
        int output1 = addAllDigitsInString(input1);
        System.out.println("Sum of all digits in string " + input1 + " is " + output1);

        // Input 2
        String input2 = "java234programs56";
        int output2 = addAllDigitsInString(input2);
        System.out.println("Sum of all digits in string " + input2 + " is " + output2);

        // Input 3
        String input3 = "hello!!world";
        int output3 = addAllDigitsInString(input3);
        System.out.println("Sum of all digits in string " + input3 + " is " + output3);

    }

    private static int addAllDigitsInString(String inputString) {

        int length = inputString.length();

        // initializing the output to 0. If no digit is found in the string then defalut
        // value 0 is returned.
        int digitsSum = 0;

        for (int i = 0; i < length; i++) {

            char character = inputString.charAt(i);
            boolean isDigit = Character.isDigit(character);

            // adding the digit to the current digitSum value.
            if (isDigit) {
                digitsSum = digitsSum + Character.getNumericValue(character);
            }

        }
        return digitsSum;
    }

}

Output:


Sum of all digits in string java2program is 2
Sum of all digits in string java234programs56 is 20
Sum of all digits in string hello!!world is 0


The first two inputs are having the numbers. Returned a sum of all numbers in the strings. But returned '0' for last input because it does not have any numeric value.

In above program "digitsSum = digitsSum + Character.getNumericValue(character);" line can be rewritten as below. Both works similar and produces the same output.

digitsSum =+ Character.getNumericValue(character);

3. Conclusion


In this article, We have seen how to calculate the sum of all numbers in a given String. This is a very straight forward method running for a loop. This is a common interview question for freshers and telephonic interview programming questions.

In the next article, We will be showing a java program to count digits present in a string.

If you like this article please subscribe to email and Facebook page. Instantly you can share on WhatsApp and Facebook now.


No comments:

Post a Comment

Please do not add any spam links in the comments section.