一起使用随机和十进制格式

时间:2012-09-16 20:12:25

标签: java

我正在尝试创建一个随机的四位数字,然后使用十进制格式将其打印为(#* 1000)+(#* 100)+(#* 10)+(#* 1)。例如,假设我生成7956,它会将其拆分并打印出来(7 * 1000)+(9 * 100)+(5 * 10)+(6 * 1)。到目前为止,这就是我所拥有的:

public static void main(String [] args)
{
    Random random = new Random();
    int number = random.nextInt(10000);


    DecimalFormat formatOne;
    formatOne = new DecimalFormat("(# * 1000) + (# * 100) + (# * 10) + (# * 1)");

    System.out.println("The random number was: " + number);
    System.out.println("Which is: " + formatOne.format( random.nextInt(10000) ) );


}

我原以为我能够只使用那种格式,但由于0是包含零的任何数字,因此无法正确打印出来。我试过将它拆分,但它最终只是从我乘以的数字中取零并将它们放在第一个数字的末尾。我是一个相当低级别的java类,甚至还没有进行循环,所以如果你能保持这个尽可能简单,那将非常感激。感谢您的帮助!

1 个答案:

答案 0 :(得分:4)

DecimalFormat不起作用。

您必须在代码中执行此操作。

您可以考虑将数字作为字符串,然后在构建所需输出的循环中对其字符进行向后迭代(从最后到第一次)。