关于nextFloat()的一些问题
public static void main(String[] args) {
float b = 0.0F;
Scanner scanner = new Scanner(System.in);
System.out.print("请输入小数:");
//判断输入的数据是否为float类型的小数
if (scanner.hasNextFloat()){
b = scanner.nextFloat();
System.out.println("输入的数据为:" + b);
}else {
System.out.println("输入的数据不为小数!");
}
scanner.close();
}
请输入:4 输入的数据为:4.0
该种情况下,即使输入的数据为int型,由于强制类型转换的问题会导致数据强行转换为float。可以用如下进行判断。
public static void main(String[] args) {
//创建一个扫描器对象,用于接收键盘输入的数据。
Scanner scanner = new Scanner(System.in);
float b = 0.0F;
System.out.print("请输入数据:");
if (scanner.hasNextInt()){
System.out.println("你输入的不为小数!");
}else {
b = scanner.nextFloat();
System.out.println("你输入的数据为:" + b);
}
scanner.close();
}
请输入数据:4.2
你输入的数据为:4.2
标签:scanner,System,问题,一些,nextFloat,数据,输入,out From: https://www.cnblogs.com/shuiyunmiao/p/17148476.html请输入数据:4
你输入的不为小数!