javaprintf使用点作为分隔符

javaprintf使用点作为分隔符,java,printf,Java,Printf,我正在寻找一种像这样分开的方式: 1188957731 -----> 1.188.957.731 我见过设置自定义模式的解决方案,但我很想找到一个更简单的解决方案 提前谢谢 public static void main(String [] args) { int a = 1188957731, copya = a; Stack out = new Stack(); StringBuilder s = new StringBuilder

我正在寻找一种像这样分开的方式:

1188957731        ----->       1.188.957.731
我见过设置自定义模式的解决方案,但我很想找到一个更简单的解决方案

提前谢谢

public static void main(String [] args) 
{
    int a = 1188957731, copya = a;
    Stack out = new Stack();
    StringBuilder s = new StringBuilder();
    while (copya != 0)
    {
        out.push("." + (copya % 1000));
        copya /= 1000;
    }
    while (!out.isEmpty())
    {
        s.append(out.pop());
    }
    System.out.println(s.substring(1));
}

您可以尝试类似的方法。

为什么使用堆栈?它只能由for或while循环处理。您是对的,可能有其他方法,但使用堆栈可以使它更易于理解和优化。请建议您的方法。只需在所需编号后计算整数放置的长度
dot