乐趣区

第六章第三十七题格式化整数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).

下面是参考答案代码:

// https://cn.fankuiba.com
import java.util.Scanner;

public class Ans6_37_page205 {public static void main(String[] args) {Scanner input = new Scanner(System.in);
        System.out.print("Enter a number:");
        int number = input.nextInt();
        System.out.print("Enter the number width:");
        int width = input.nextInt();
        System.out.println(format(number,width));
    }
    public static String format(int number, int width) {
        String format = "";
        int numberLenth = (number+"").length();
        if (numberLenth < width) {for (int i = 1; i <=width-numberLenth; i++)
                format = format + "0";
            return format+number;
        }
        else
            return ""+number;// String strNumber = String.valueOf(number)
    }
}

适用 Java 语言程序设计与数据结构(基础篇)(原书第 11 版)Java 语言程序设计(基础篇)(原书第 10/11 版)更多

退出移动版