1

我正在尝试创建一个随机的四位数字,然后使用十进制格式将其打印为 (# * 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类中,甚至还没有进入循环,所以如果你能保持这个尽可能简单,那将不胜感激。感谢您的任何帮助!

4

1 回答 1

4

DecimalFormat不能那样工作。

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

您可能会考虑将数字作为字符串获取,然后在循环中向后(从最后到第一个)迭代其字符,从而构建您想要的输出。

于 2012-09-16T20:14:11.593 回答