繁体   English   中英

打印出 java 中的 3 个数字

[英]Printing out 3 of numbers in java

output的值是100000到10个随机自然数只打印出右端到第三位怎么办? 如果你用 10 的倍数打印出来,就会出现错误,所以,如果我们得到 10 的倍数,我想输出 010

例如,输入 -> 6545 output -> 545,输入 -> 27 output -> 027

我正在使用 java。请帮助我

假设您的输入实际上是int

System.out.printf("%03d",inputvalue%1000); 

应该给出你想要的结果:

  • "%03d"用零填充强制 output
  • inputvalue%1000计算除以 1000 的余数(取模),这将切掉最后三位左边的所有数字

您可以使用String.valueOf(i)将 Int 转换为 String。 然后,您只需取字符串的最后 3 个字符并添加 0。因为您的“027”是一个字符串,它不是一个 Int

    public static void main(String... args) {
  
    Random rand = new Random();
    int upperbound = 100000;
    int lowerbound = 10;
    int random_integer = rand.nextInt(upperbound - lowerbound) + lowerbound;

    String output = String.valueOf(random_integer);
    String finaloutput = output;
    if (output.length() <= 3) {

        for (int i = 0; i < 3 - output.length(); i++) {
            finaloutput = "0" + finaloutput;
        }
    } else {
        finaloutput = output.substring(0, 3);
    }

    System.out.println(random_integer + "->" + finaloutput);

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM