同时使用随机和十进制格式



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

DecimalFormat不是

这样工作的。

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

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

最新更新