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

如何在不使用import语句的情况下使用Java标准库的Scanner类?

不用import语句调用Java Scanner类的简单方案

嘿,别折腾解编译标准库啦!这个问题其实有个超简单的解决办法——Java本身就支持直接用全限定类名来调用标准库类,完全不需要写import语句,刚好命中你教授的要求。

核心原理

Scanner类的完整路径是java.util.Scanner,只要在代码里直接用这个完整名称代替单独的Scanner,编译器就能准确找到这个类,根本不用提前import。

完整代码示例

下面是满足要求的可运行代码:

public class UserInputWithoutImport {
    public static void main(String[] args) {
        // 直接用全限定类名实例化Scanner
        java.util.Scanner inputScanner = new java.util.Scanner(System.in);
        
        System.out.print("Enter an integer: ");
        int userInt = inputScanner.nextInt();
        
        System.out.println("You entered: " + userInt);
        inputScanner.close();
    }
}

额外简化技巧(Java 10+)

如果你的环境支持Java 10及以上,可以用var来简化变量声明,少写一遍长类名:

public class UserInputWithoutImport {
    public static void main(String[] args) {
        var inputScanner = new java.util.Scanner(System.in);
        
        System.out.print("Enter an integer: ");
        int userInt = inputScanner.nextInt();
        
        System.out.println("You entered: " + userInt);
        inputScanner.close();
    }
}

这里var会自动推断变量类型,右边还是得用全限定类名来创建对象,同样不需要import。

为什么不用解编译?

解编译标准库不仅麻烦,而且完全没必要——Java的包机制本来就支持这种全限定名的直接引用,这是语言设计时就考虑到的场景,专门用来处理不能(或不想)写import的情况。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.07 14:57:37