java - 在字符串模式下转换 3 个不同的 int 值,并用空格或其他内容分隔

标签 java string variables integer int

我对 Java 很陌生,我想学习如何做到这一点。

我想显示这样的内容:123-45-6789String模式通过3不同的int数字。

第一个数字为 3 位。 第二个数字为 2 位数字。 第三个数字 4 位。

如何将所有这些数字放在一起并用“-”分隔来做到这一点?

我尝试了一些我在这里和那里找到的string myString = myInt.ToString();代码,但它不起作用:/

这是我尝试执行的代码:

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);
    }

我做错了什么?

最佳答案

String.format 就是你所需要的,这里是 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);

关于java - 在字符串模式下转换 3 个不同的 int 值,并用空格或其他内容分隔,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43934220/

相关文章:

java - 为什么 JOptionPane 中的 JScrollPane 不显示其所有内容?

c++ - 用字节初始化 char* 和 std::string

variables - 是否可以在 SASS 的变量中嵌套变量?

c++ - 我在滥用 `const` 吗?

java - JVM 在守护线程未完成之前不退出

java - 谷歌日历API

java - 如何通过与下一个其他对象相关的 spring 数据(jpql)获取对象

python - 当Python中最后一个字符是 `\`时如何创建原始字符串

c++ - const char * 与 const wchar_t* (串联)

Javascript - 函数存储为变量时立即执行?