Java的Scanner类可以通过使用nextInt()
,nextDouble()
,nextFloat()
等方法来实现格式化输入。但是,如果你想要更灵活的格式化输入,可以使用java.util.Scanner.format()
方法。
下面是一个使用Scanner.format()
方法的示例:
import java.util.Scanner;
import java.util.Scanner.Format;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.println("请输入一个整数(格式:三位数):");
int number = scanner.format("%03d", scanner.nextInt()).intValue();
System.out.println("你输入的整数是:" + number);
System.out.println("请输入一个小数(格式:两位小数):");
double decimal = scanner.format("%02f", scanner.nextDouble()).doubleValue();
System.out.println("你输入的小数是:" + decimal);
scanner.close();
}
}
在这个示例中,我们使用%03d
和%02f
作为输入格式。%03d
表示一个三位数的整数,如果不足三位数,将在左侧用0填充。%02f
表示一个两位小数的浮点数,如果不足两位小数,将在右侧用0填充。
注意:scanner.format()
方法返回的是一个字符串,所以我们需要使用intValue()
或doubleValue()
方法将其转换为相应的数值类型。