Sai A Sai A
Updated date Jul 16, 2023
In this blog, we explore various methods in Java to convert a string into a double array in a specific format. Starting with the StringTokenizer class, which simplifies splitting strings based on delimiters, we then move on to using the split() method, providing more flexibility with regular expressions as delimiters.

Introduction:

String manipulation is a common task in programming, and Java provides several ways to convert a string into a double array. In this blog post, we will explore multiple methods to accomplish this task and examine their advantages and use cases. By the end, you will have a clear understanding of various approaches and be able to choose the most suitable one for your specific requirements.

Method 1: Using StringTokenizer

The first method we'll discuss involves using the StringTokenizer class in Java. This class provides a convenient way to split strings based on a delimiter and extract the individual tokens. Here's an example program:

import java.util.StringTokenizer;

public class StringToDoubleArrayConverter {
    public static void main(String[] args) {
        String input = "1.2 3.4 5.6 7.8";
        double[] doubleArray = convertStringToDoubleArray(input);
        for (double num : doubleArray) {
            System.out.println(num);
        }
    }

    private static double[] convertStringToDoubleArray(String input) {
        StringTokenizer tokenizer = new StringTokenizer(input);
        int numTokens = tokenizer.countTokens();
        double[] doubleArray = new double[numTokens];

        for (int i = 0; i < numTokens; i++) {
            doubleArray[i] = Double.parseDouble(tokenizer.nextToken());
        }

        return doubleArray;
    }
}

Output:

1.2
3.4
5.6
7.8

In this method, we utilize the StringTokenizer class to split the input string based on whitespace, which is the default delimiter. We determine the number of tokens present in the string using the countTokens() method. Next, we create a double array of the same size. Finally, we iterate over each token using nextToken() and parse it into a double value using Double.parseDouble(). The resulting double array is then returned.

Method 2: Using the split() method

The second method involves using the split() method provided by the String class in Java. This method splits a string into an array of substrings based on a specified regular expression. Here's an example program:

public class StringToDoubleArrayConverter {
    public static void main(String[] args) {
        String input = "1.2,3.4,5.6,7.8";
        double[] doubleArray = convertStringToDoubleArray(input);
        for (double num : doubleArray) {
            System.out.println(num);
        }
    }

    private static double[] convertStringToDoubleArray(String input) {
        String[] tokens = input.split(",");
        int numTokens = tokens.length;
        double[] doubleArray = new double[numTokens];

        for (int i = 0; i < numTokens; i++) {
            doubleArray[i] = Double.parseDouble(tokens[i]);
        }

        return doubleArray;
    }
}

Output:

1.2
3.4
5.6
7.8

In this method, we utilize the split() method of the String class, passing in a comma (",") as the delimiter. This method splits the string into an array of substrings wherever a comma is encountered. We create a double array of the same size as the number of tokens and iterate over each token, parsing it into a double value and storing it in the double array.

Conclusion:

In this blog post, we explored multiple methods to convert a string to a double array in a specific format using Java. We started with the StringTokenizer class, which provides a straightforward way to split strings based on delimiters. Then, we moved on to using the split() method, which offers more flexibility with regular expressions as delimiters. 

Comments (0)

There are no comments. Be the first to comment!!!