簡體   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