Core Java

Split Java Integer Into Digits

When dealing with integer numbers in Java, there are occasions where it becomes necessary to decompose them into individual digits for diverse calculations or data manipulation purposes. Let us delve into a practical approach to understanding Java Integer Digit Split.

1. Splitting to an Integer List

Below is an example code snippet in Java that demonstrates how to split an integer into a list of individual digits:

package com.javacodegeeks;

import java.util.ArrayList;
import java.util.List;

public class IntegerSplitExample {

    public static List<Integer> splitToDigits(int number) {
        List<Integer> digitList = new ArrayList<>();

        while (number > 0) {
            int digit = number % 10;
            digitList.add(0, digit); // Add digit to the front of the list
            number /= 10;
        }

        return digitList;
    }

    public static void main(String[] args) {
        int exampleNumber = 12345;

        List<Integer> result = splitToDigits(exampleNumber);

        System.out.println("Original number: " + exampleNumber);
        System.out.println("Digits list: " + result);
    }
}

In this example, the splitToDigits method takes an integer as input and returns a list of its digits. The method uses a while loop to iterate through each digit of the number, extracting it using the modulo operator (%) and then adding it to the front of the list. The loop continues until the number becomes zero. The main method demonstrates how to use this function with an example number (12345) and prints both the original number and the list of digits.

When you run this program, you’ll get output similar to the following:

Original number: 12345
Digits list: [1, 2, 3, 4, 5]

2. Splitting to a char Array

Below is an example Java code that demonstrates how to split an integer into a char array, where each character in the array represents a digit of the original number:

package com.javacodegeeks;

public class IntegerToCharArrayExample {

    public static char[] splitToCharArray(int number) {
        String numberAsString = Integer.toString(number);
        return numberAsString.toCharArray();
    }

    public static void main(String[] args) {
        int exampleNumber = 12345;

        char[] result = splitToCharArray(exampleNumber);

        System.out.println("Original number: " + exampleNumber);
        System.out.print("Digits array: ");
        for (char digit : result) {
            System.out.print(digit + " ");
        }
    }
}

In this example, the splitToCharArray method converts the integer to a string using Integer.toString(), and then uses toCharArray() to obtain a char array. The main method demonstrates how to use this function with an example number (12345) and prints both the original number and the char array representing its digits.

When you run this program, you’ll get output similar to the following:

Original number: 12345
Digits array: 1 2 3 4 5

3. Splitting to a String Array or String List

Below is an example Java code that demonstrates how to split an integer into a String array or a List of Strings, where each string represents a digit of the original number:

package com.javacodegeeks;

import java.util.ArrayList;
import java.util.List;

public class IntegerToStringArrayExample {

    public static String[] splitToStringArray(int number) {
        String numberAsString = Integer.toString(number);
        return numberAsString.split("");
    }

    public static List<String> splitToStringList(int number) {
        String numberAsString = Integer.toString(number);
        List<String> digitList = new ArrayList<>();

        for (int i = 0; i < numberAsString.length(); i++) {
            digitList.add(String.valueOf(numberAsString.charAt(i)));
        }

        return digitList;
    }

    public static void main(String[] args) {
        int exampleNumber = 12345;

        // Split to String Array
        String[] resultArray = splitToStringArray(exampleNumber);
        System.out.println("Original number: " + exampleNumber);
        System.out.println("Digits array: " + String.join(" ", resultArray));

        // Split to String List
        List<String> resultList = splitToStringList(exampleNumber);
        System.out.println("Original number: " + exampleNumber);
        System.out.println("Digits list: " + String.join(" ", resultList));
    }
}

In this example, there are two methods: splitToStringArray and splitToStringList.

  • splitToStringArray Method: It converts the integer to a string using Integer.toString(). It then used split("") to split the string into an array of individual characters.
  • splitToStringList Method: It also converts the integer to a string using Integer.toString(). It iterates through each character of the string and adds it to a List of Strings.

When you run this program, you’ll get output similar to the following:

Original number: 12345
Digits array: 1 2 3 4 5

Original number: 12345
Digits list: 1 2 3 4 5

4. Conclusion

In conclusion, the provided Java examples illustrate effective methods for splitting an integer into individual digits and representing them in different data structures. The first example showcased the creation of a list of integers, each element representing a digit of the original number. This approach is valuable for scenarios where the individual digits need to be processed independently. The subsequent example demonstrated the conversion of the integer into a char array, an efficient technique when dealing with character-based operations or when preserving the original numeric values is not crucial. Finally, the third example focused on transforming the integer into a String array and a String List. This approach is beneficial when the digits are required as strings, enabling flexible manipulation or utilization in various string-related operations. These examples provide versatile solutions for handling individual digits within an integer, catering to different programming requirements and preferences.

Yatin

An experience full-stack engineer well versed with Core Java, Spring/Springboot, MVC, Security, AOP, Frontend (Angular & React), and cloud technologies (such as AWS, GCP, Jenkins, Docker, K8).
Subscribe
Notify of
guest

This site uses Akismet to reduce spam. Learn how your comment data is processed.

0 Comments
Inline Feedbacks
View all comments
Back to top button