Reputation: 57
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
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
Reputation: 48268
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