第六章第三十七题(格式化整数)(Format an integer)

第六章第三十七题(格式化整数)(Format an integer)

  • 6.37(格式化整数)使用下面的方法头编写一个方法,用于将整数格式化为指定宽度:
    public static String format(int number, int width)
    方法为数字number返回一个带有一个或多个以0作为前缀的字符串。字符串的位数就是宽度。比如,format(34,4)返回0034,format(34,5)返回00034。如果数字宽于指定宽度,方法返回该数字的字符串表示。比如,format(34,1)返回34。
    6.37(Format an integer)Write a method with the following header to format the integer with the specified width.
    public static String format(int number, int width)
    The method returns a string for the number with one or more prefix 0s. The size of the string is the width. For example, format(34, 4) returns 0034 and format(34, 5) returns 00034. If the number is longer than the width, the method returns the string representation for the number. For example, format(34, 1) returns 34.
    Write a test program that prompts the user to enter a number and its width, and displays a string returned by invoking format(number, width).
  • 参考代码:
package chapter06;

import java.util.Scanner;

public class Code_37 {
    
    
    public static void main(String[] args) {
    
    
        Scanner inputScanner = new Scanner(System.in);
        System.out.print("Enter the number: ");
        int number = inputScanner.nextInt();
        System.out.print("Enter the width: ");
        int width = inputScanner.nextInt();
        System.out.printf("The string is %s", format(number, width));
    }
    public static String format(int number, int width) {
    
    
        String numberString = String.valueOf(number);
        int lengthOfNumber = numberString.length();
        for(int i = 1;i <= width - lengthOfNumber;i++)
            numberString = "0" + numberString;
        return numberString;
    }
}

  • 结果显示:
Enter the number: 34
Enter the width: 5
The string is 00034
Process finished with exit code 0

猜你喜欢

转载自blog.csdn.net/jxh1025_/article/details/109230308