BladeStreak
BladeStreak

Reputation: 57

Convert 3 different int values within String mode separated by spaces or something else

I am very new to Java and i want to learn how to do this.

I want to display something like this: 123-45-6789 in a String mode by 3 different int numbers.

First number by 3 digits. Second number by 2 digits. third number by 4 digits.

How can i do this by putting all those numbers together separated by "-"?

I have tried some string myString = myInt.ToString(); codes that i have found here and there but it doesn't working :/

Here is my code i tried to do it:

public void getSsnNumber()
    {
        int valueOfNumber1 = 0;
        int valueOfNumber2 = 0;
        int valueOfNumber3 = 0;
        while (valueOfNumber1 <= 99)
        {
            Random randomNumbers1 = new Random();
            int ssnRandomNumber1 = randomNumbers1.nextInt(999);
            valueOfNumber1 = ssnRandomNumber1;
        }
        while (valueOfNumber2 <= 9)
        {
            Random randomNumbers2 = new Random();
            int ssnRandomNumber2 = randomNumbers2.nextInt(99);
            valueOfNumber2 = ssnRandomNumber2;
        }
        while (valueOfNumber3 <= 999)
        {
            Random randomNumbers3 = new Random();
            int ssnRandomNumber3 = randomNumbers3.nextInt(9999);
            valueOfNumber3 = ssnRandomNumber3;
        }
        String finalNumber = ("%d-%d-%d",valueOfNumber1, valueOfNumber2, valueOfNumber3);
        CommissionEmployee.ssndb = String.valueOf(finalNumber);
        System.out.printf("Ssndb number is: %s", CommissionEmployee.ssndb);
    }

What I'm doing wrong?

Upvotes: 1

Views: 54

Answers (2)

Youcef LAIDANI
Youcef LAIDANI

Reputation: 59978

You can use String.join for example :

String[] str = {"123", "45", "6789"};
String result = String.join("-", str);
System.out.println(result);

Output

123-45-6789

Upvotes: 1

String.format is what you need, here the doc

int n1 = 10;
int n2 = 20;
int n3 = 30;

//do some random things

String finalNumber = String.format("%d-%d-%d", n1, n2, n3);
System.out.println("Ssndb number is: " + finalNumber);

Upvotes: 1

Related Questions