You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让Scanner类接收浮点型数值?示例代码编译失败是否为语法问题?

如何使用Scanner类接收浮点型数值

嘿,你的这段代码本身语法上完全没问题,编译失败的锅大概率是没加必要的导入语句!

Scanner类属于java.util包,Java编译器默认只会识别java.lang包下的类,其他包的类必须显式导入才能使用。

完整的可编译代码示例:

import java.util.Scanner; // 这行是关键!必须添加

public class FloatInputDemo {
    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        System.out.println("Enter a number");
        float number = scan.nextFloat();
        System.out.println("You entered the float value: " + number);
        scan.close(); // 用完记得关闭Scanner,养成良好的资源管理习惯
    }
}

额外要注意的点:

  • 运行程序时,输入的内容得是合法的浮点格式,比如2.5、7(整数也能被识别为浮点型)都可以,但如果输入abc这类非数值内容,程序会抛出InputMismatchException异常,你可以考虑用hasNextFloat()先做校验。
  • 要是你实在不想写导入语句,也可以用全限定类名来创建Scanner对象,但这样代码会显得啰嗦,不推荐:
java.util.Scanner scan = new java.util.Scanner(System.in);

内容的提问来源于stack exchange,提问作者JAVA_man

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 03:42:11